
    #boardgame-blossom-play-section .awards-container {
        max-width: 980px;
        padding: 18px 18px 22px;
    }
    .blossom-round-shell {
        --blossom-stage-background: linear-gradient(180deg, rgba(14,10,14,0.98), rgba(17,10,14,0.98));
        display: grid;
        gap: 18px;
        color: #fef3f8;
    }
    body.theme-dark #boardgame-blossom-play-section .blossom-round-shell {
        background: linear-gradient(180deg, #21171d, #160e14);
    }
    .blossom-round-panel,
    .blossom-arena-panel,
    .blossom-deck-modal-card,
    .blossom-final-card {
        border-radius: 28px;
        border: 1px solid rgba(255, 97, 156, 0.28);
        background: linear-gradient(180deg, rgba(20, 8, 14, 0.96), rgba(12, 6, 11, 0.98));
        box-shadow: 0 24px 54px rgba(9, 4, 8, 0.26);
    }
    .blossom-round-panel {
        padding: 18px;
        display: grid;
        gap: 16px;
        order: 2;
    }
    .blossom-arena-panel {
        order: 1;
    }
    .blossom-round-actions {
        order: 3;
    }
    .blossom-round-scoreboard {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
    .blossom-round-score-card {
        display: grid;
        gap: 12px;
        min-width: 0;
    }
    .blossom-round-player-title {
        font-size: 18px;
        font-weight: 900;
        color: #7cb1ff;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        text-align: center;
        min-width: 0;
        white-space: nowrap;
    }
    .blossom-round-player-title::before {
        content: "";
        width: 12px;
        height: 12px;
        border-radius: 999px;
        background: #6ea8ff;
        box-shadow: 0 0 12px rgba(110, 168, 255, 0.7);
    }
    .blossom-round-player-title.is-com {
        color: #ff767d;
    }
    .blossom-round-player-title.is-com::before {
        background: #ff5d66;
        box-shadow: 0 0 12px rgba(255, 93, 102, 0.7);
    }
    .blossom-round-stats {
        border-radius: 20px;
        padding: 12px 14px;
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.06);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
    }
    .blossom-round-stat-row {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        font-size: 15px;
        font-weight: 800;
        color: #efdee5;
        min-width: 0;
    }
    .blossom-round-stat-row strong {
        color: #d4e4ff;
        font-size: 18px;
    }
    .blossom-win-flowers {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
        min-width: 92px;
    }
    .blossom-win-flower {
        width: 24px;
        height: 24px;
        border-radius: 999px;
        display: grid;
        place-items: center;
        color: rgba(255,255,255,0.28);
        background: rgba(255,255,255,0.06);
        border: 1px solid rgba(255,255,255,0.1);
        font-size: 16px;
        line-height: 1;
    }
    .blossom-win-flower.is-filled {
        color: var(--flower-color);
        background: color-mix(in srgb, var(--flower-color) 22%, rgba(255,255,255,0.06));
        border-color: color-mix(in srgb, var(--flower-color) 58%, rgba(255,255,255,0.12));
        text-shadow: 0 0 10px color-mix(in srgb, var(--flower-color) 68%, transparent);
    }
    .blossom-win-flower.is-burst {
        animation: blossom-win-flower-burst 0.78s cubic-bezier(0.18, 0.72, 0.18, 1) both;
    }
    .blossom-win-flower.is-spring { --flower-color: #ffe76b; }
    .blossom-win-flower.is-summer { --flower-color: #82ddff; }
    .blossom-win-flower.is-autumn { --flower-color: #ff9a32; }
    .blossom-win-flower.is-winter { --flower-color: #f7fbff; }
    @keyframes blossom-win-flower-burst {
        0% {
            transform: rotate(-80deg) scale(0.48);
            opacity: 0;
            filter: brightness(1.8) saturate(1.5);
        }
        42% {
            transform: rotate(18deg) scale(1.34);
            opacity: 1;
            filter: brightness(1.48) saturate(1.4);
        }
        72% {
            transform: rotate(-8deg) scale(0.94);
            filter: brightness(1.12) saturate(1.12);
        }
        100% {
            transform: rotate(0deg) scale(1);
            opacity: 1;
            filter: none;
        }
    }
    .blossom-submit-title {
        font-size: 15px;
        font-weight: 900;
        color: #f5e6ec;
        text-align: center;
    }
    .blossom-submit-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }
    .blossom-submit-slot {
        min-height: 188px;
        border-radius: 18px;
        border: 2px dashed rgba(110, 168, 255, 0.45);
        background: rgba(7, 4, 7, 0.72);
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgba(214, 224, 248, 0.38);
        font-size: 14px;
        font-weight: 800;
        text-align: center;
        overflow: hidden;
    }
    .blossom-submit-slot .blossom-submit-card,
    .blossom-field-slot .blossom-field-card,
    .blossom-deck-tile {
        width: 100%;
        height: 100%;
        border: 1px solid rgba(122, 166, 255, 0.42);
        border-radius: 16px;
        background-color: rgba(14, 12, 18, 0.98);
        background-image: var(--blossom-card-frame);
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100% 100%;
        display: grid;
        grid-template-rows: auto 1fr auto;
        gap: 8px;
        padding: 10px 10px 12px;
        color: #fff;
        position: relative;
    }
    .blossom-submit-card.is-player {
        box-shadow: inset 0 0 0 2px rgba(105, 171, 255, 0.8), 0 0 24px rgba(105, 171, 255, 0.2);
    }
    .blossom-submit-card.is-com {
        box-shadow: inset 0 0 0 2px rgba(255, 91, 91, 0.8), 0 0 24px rgba(255, 91, 91, 0.2);
    }
    .blossom-submit-card {
        padding: 0;
        overflow: hidden;
    }
    .blossom-submit-card-main {
        min-height: 100%;
        height: 100%;
        display: grid;
        grid-template-rows: 16px minmax(0, 1fr) 24px;
        gap: 6px;
        padding: 8px 8px 6px;
        box-sizing: border-box;
    }
    .blossom-submit-card-title {
        align-self: end;
        font-size: 9px;
        margin-bottom: -4px;
        line-height: 1.1;
        font-weight: 900;
        text-align: center;
        color: #fffefa;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.82), 0 0 6px rgba(0, 0, 0, 0.42);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .blossom-submit-card-code {
        align-self: start;
        font-size: 18px;
        margin-top: 30px;
        line-height: 1;
        text-align: center;
        color: #fff7f1;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.82), 0 0 6px rgba(0, 0, 0, 0.42);
        font-weight: 900;
        letter-spacing: 0.02em;
    }
    .blossom-card-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        font-size: 12px;
        font-weight: 900;
        color: #e9eef8;
    }
    .blossom-card-badge {
        min-width: 34px;
        padding: 4px 7px;
        border-radius: 10px;
        background: rgba(255,255,255,0.12);
        font-size: 11px;
        font-weight: 900;
        text-align: center;
    }
    .blossom-card-image {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .blossom-card-image img {
        width: 82%;
        height: 88px;
        object-fit: contain;
    }
    .blossom-submit-card-code.is-hidden,
    .blossom-deck-card-code.is-hidden {
        visibility: hidden;
    }
    .is-special-spring-card .blossom-card-image img {
        width: 96%;
        height: 96px;
        max-height: 96px;
        transform: translate(0, 5px);
    }
    .blossom-card-foot {
        display: grid;
        gap: 4px;
        font-size: 11px;
        font-weight: 800;
        color: #dbe5f5;
    }
    .blossom-card-term {
        color: #f3cad8;
    }
    .blossom-deck-open-btn,
    .blossom-round-start-btn,
    .blossom-modal-action,
    .blossom-modal-cancel {
        min-height: 54px;
        border: none;
        border-radius: 18px;
        font-size: 16px;
        font-weight: 900;
        letter-spacing: 0.02em;
        cursor: pointer;
        transition: transform 0.18s ease, opacity 0.18s ease;
    }
    .blossom-deck-open-btn,
    .blossom-modal-action {
        background: linear-gradient(180deg, #ff4c86, #f13f73);
        color: #fff;
    }
    .blossom-round-start-btn {
        background: linear-gradient(180deg, #243452, #1f2d47);
        color: #c6d5eb;
    }
    .blossom-round-start-btn:disabled,
    .blossom-deck-open-btn:disabled,
    .blossom-modal-action:disabled {
        opacity: 0.42;
        cursor: default;
        transform: none;
    }
    .blossom-deck-open-btn:hover,
    .blossom-round-start-btn:hover,
    .blossom-modal-action:hover,
    .blossom-modal-cancel:hover {
        transform: translateY(-1px);
    }
    .blossom-arena-panel {
        padding: 16px 16px 18px;
        display: grid;
        gap: 16px;
    }
    .blossom-arena-topbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        gap: 12px;
    }
    .blossom-topbar-actions {
        display: flex;
        align-items: center;
        gap: 8px;
        grid-column: 3;
        justify-self: end;
        margin-right: 14px;
        flex-shrink: 0;
    }
    .blossom-music-control {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 8px;
    }
    .blossom-music-btn {
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px;
        min-width: 76px;
        height: 34px !important;
        padding: 0 10px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(255,255,255,0.12) !important;
        background: rgba(18, 22, 30, 0.88) !important;
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.22);
    }
    .blossom-music-btn .btn-text {
        color: #edf2fa;
        font-size: 9px;
        font-weight: 800;
        letter-spacing: 0.03em;
    }
    .blossom-music-btn .music-icon {
        color: #ffd0e0;
        font-size: 9px;
        line-height: 1;
    }
    .blossom-music-btn.is-on {
        background: linear-gradient(180deg, rgba(96, 26, 50, 0.96), rgba(53, 16, 31, 0.96)) !important;
        border-color: rgba(255, 158, 196, 0.34) !important;
        box-shadow: 0 8px 18px rgba(129, 45, 74, 0.24);
    }
    .blossom-music-btn.is-on .btn-text,
    .blossom-music-btn.is-on .music-icon {
        color: #ffe3ee;
    }
    .blossom-volume-panel {
        position: absolute;
        right: 0;
        bottom: calc(100% + 8px);
        width: 150px;
        padding: 8px 10px;
        border-radius: 12px;
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(13, 16, 22, 0.96);
        box-shadow: 0 10px 24px rgba(0,0,0,0.26);
        display: flex;
        flex-direction: column;
        gap: 6px;
        opacity: 0;
        transform: translateY(6px);
        pointer-events: none;
        transition: opacity 0.16s ease, transform 0.16s ease;
        z-index: 30;
    }
    .blossom-music-control.is-open .blossom-volume-panel,
    .blossom-music-control:focus-within .blossom-volume-panel {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
    .blossom-volume-label,
    .blossom-track-label {
        color: rgba(255,255,255,0.76);
        font-size: 8px;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-align: left;
    }
    .blossom-track-name {
        color: #ffdbe7;
        font-size: 9px;
        font-weight: 900;
        line-height: 1.3;
    }
    .blossom-volume-slider {
        width: 100%;
        accent-color: #ff84b2;
        cursor: pointer;
    }
    .blossom-round-pill {
        width: fit-content;
        max-width: 100%;
        grid-column: 2;
        margin: 0 auto;
        justify-self: center;
        padding: 10px 20px;
        border-radius: 999px;
        background: rgba(93, 10, 33, 0.58);
        border: 1px solid rgba(255, 101, 156, 0.36);
        font-size: 14px;
        font-weight: 900;
        color: #ffdbe7;
        text-align: center;
    }
    .blossom-field-stage {
        min-height: 520px;
        border-radius: 24px;
        background:
            linear-gradient(180deg, rgba(17, 8, 14, 0.52), rgba(14, 8, 13, 0.78)),
            var(--blossom-stage-background);
        background-size: cover;
        background-position: center;
        position: relative;
        overflow: hidden;
    }
    .blossom-stage-label {
        position: absolute;
        top: 10px;
        left: 50%;
        transform: translateX(-50%);
        padding: 8px 16px;
        border-radius: 999px;
        background: rgba(12, 8, 12, 0.72);
        border: 1px solid rgba(255,255,255,0.1);
        color: #ffe8ef;
        font-size: 13px;
        font-weight: 900;
        letter-spacing: 0.04em;
        z-index: 2;
    }
    .blossom-field-center {
        position: absolute;
        left: var(--blossom-center-x, 50%);
        top: var(--blossom-center-y, 50%);
        transform: translate(-50%, -50%);
        width: 86px;
        height: 86px;
        border-radius: 999px;
        display: grid;
        place-items: center;
        background: radial-gradient(circle, rgba(255, 102, 163, 0.9), rgba(28, 12, 24, 0.98) 66%);
        box-shadow: 0 0 34px rgba(255, 110, 170, 0.48);
        color: #fff8fb;
        font-size: 34px;
        font-weight: 900;
        text-align: center;
        line-height: 1.05;
        z-index: 2;
        cursor: pointer;
        border: 0;
    }
    .blossom-field-slot {
        position: absolute;
        width: 76px;
        height: 108px;
        border-radius: 13px;
        border: 1px dashed rgba(255,255,255,0.16);
        background: rgba(8, 6, 12, 0.26);
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgba(255,255,255,0.22);
        font-size: 12px;
        font-weight: 900;
        overflow: hidden;
    }
    .blossom-field-token {
        width: 100%;
        height: 100%;
        display: grid;
        place-items: center;
        border-radius: 18px;
        padding: 12px;
        background: linear-gradient(180deg, rgba(12, 10, 18, 0.92), rgba(16, 11, 20, 0.96));
        color: #fef7fb;
        text-align: center;
    }
    .blossom-field-token.is-player {
        box-shadow: inset 0 0 0 2px rgba(110, 168, 255, 0.86);
    }
    .blossom-field-token.is-com {
        box-shadow: inset 0 0 0 2px rgba(255, 107, 132, 0.84);
    }
    .blossom-field-token-season {
        font-size: 20px;
        font-weight: 900;
        letter-spacing: 0.03em;
    }
    .blossom-field-token-owner {
        margin-top: 6px;
        font-size: 11px;
        font-weight: 800;
        color: rgba(255,255,255,0.64);
    }
    .blossom-field-slot.idx-0 { left: 50%; top: 46px; transform: translateX(-50%); }
    .blossom-field-slot.idx-1 { right: 180px; top: 96px; transform: rotate(34deg); }
    .blossom-field-slot.idx-2 { right: 150px; top: 50%; transform: translateY(-50%) rotate(90deg); }
    .blossom-field-slot.idx-3 { right: 180px; bottom: 96px; transform: rotate(-34deg); }
    .blossom-field-slot.idx-4 { left: 50%; bottom: 46px; transform: translateX(-50%); }
    .blossom-field-slot.idx-5 { left: 180px; bottom: 96px; transform: rotate(34deg); }
    .blossom-field-slot.idx-6 { left: 150px; top: 50%; transform: translateY(-50%) rotate(-90deg); }
    .blossom-field-slot.idx-7 { left: 180px; top: 96px; transform: rotate(-34deg); }
    .blossom-field-slot .blossom-field-card {
        border-radius: 13px;
        display: block;
        padding: 0;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.32);
    }
    .blossom-field-slot .blossom-field-card.is-field-fading-in {
        opacity: 0;
        transform: scale(0.92);
        animation: blossom-field-card-fade-in 520ms ease-out forwards;
    }
    @keyframes blossom-field-card-fade-in {
        0% {
            opacity: 0;
            transform: scale(0.92);
            filter: blur(3px) brightness(1.18);
        }
        62% {
            opacity: 1;
            transform: scale(1.025);
            filter: blur(0) brightness(1.08);
        }
        100% {
            opacity: 1;
            transform: scale(1);
            filter: blur(0) brightness(1);
        }
    }
    .blossom-round-log {
        min-height: 148px;
        border-radius: 18px;
        border: 1px solid rgba(110, 168, 255, 0.2);
        background: rgba(16, 24, 48, 0.78);
        padding: 14px 16px;
        color: #f6d0dd;
        font-size: 13px;
        line-height: 1.55;
        white-space: pre-line;
        overflow: auto;
    }
    .blossom-round-actions {
        display: flex;
        justify-content: center;
        gap: 8px;
    }
    .blossom-deck-modal[hidden],
    .blossom-field-modal[hidden],
    .blossom-devlock-overlay[hidden],
    .blossom-final-overlay[hidden] {
        display: none !important;
    }
    .blossom-deck-modal,
    .blossom-field-modal,
    .blossom-devlock-overlay,
    .blossom-final-overlay {
        position: fixed;
        inset: 0;
        z-index: 24000;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 18px;
        background: rgba(6, 3, 8, 0.68);
        backdrop-filter: blur(6px);
    }
    .blossom-deck-modal-card {
        width: min(96vw, 1160px);
        max-height: min(90vh, 980px);
        padding: 22px 22px 18px;
        display: grid;
        gap: 18px;
        overflow: auto;
    }
    .blossom-field-modal-card {
        width: min(94vw, 980px);
        max-height: min(88vh, 920px);
        padding: 22px 22px 18px;
        display: grid;
        gap: 18px;
        overflow: auto;
    }
    .blossom-devlock-card {
        width: min(92vw, 440px);
        padding: 24px 22px 20px;
        display: grid;
        gap: 14px;
        border-radius: 24px;
        border: 1px solid rgba(255, 97, 156, 0.34);
        background: linear-gradient(180deg, rgba(24, 9, 16, 0.98), rgba(12, 6, 11, 0.99));
        box-shadow: 0 28px 70px rgba(6, 2, 6, 0.44);
        color: #fef3f8;
    }
    .blossom-devlock-title {
        font-size: 22px;
        font-weight: 900;
        color: #ffb7d3;
    }
    .blossom-devlock-copy {
        color: #e6dbe0;
        font-size: 14px;
        line-height: 1.5;
    }
    .blossom-devlock-input {
        width: 100%;
        min-height: 48px;
        border-radius: 14px;
        border: 1px solid rgba(255,255,255,0.14);
        background: rgba(255,255,255,0.07);
        color: #fff;
        padding: 0 14px;
        font-size: 18px;
        font-weight: 900;
        letter-spacing: 0.08em;
        outline: none;
    }
    .blossom-devlock-input:focus {
        border-color: rgba(255, 95, 159, 0.76);
        box-shadow: 0 0 0 3px rgba(255, 95, 159, 0.16);
    }
    .blossom-devlock-error {
        min-height: 18px;
        color: #ff7d8d;
        font-size: 13px;
        font-weight: 800;
    }
    .blossom-field-modal-title {
        font-size: 24px;
        font-weight: 900;
        color: #ffb7d3;
    }
    .blossom-field-modal-copy {
        font-size: 14px;
        line-height: 1.6;
        color: #e6dbe0;
    }
    .blossom-field-modal-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
    }
    .blossom-field-owner-stack {
        position: relative;
    }
    .blossom-field-owner-badge {
        position: absolute;
        top: 8px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 2;
        min-width: 42px;
        padding: 4px 7px;
        border-radius: 999px;
        color: #fff;
        font-size: 8px;
        font-weight: 900;
        letter-spacing: 0.04em;
        text-align: center;
        box-shadow: 0 8px 18px rgba(0,0,0,0.28);
        pointer-events: none;
    }
    .blossom-field-owner-badge.is-player {
        background: rgba(69, 137, 255, 0.92);
        border: 1px solid rgba(154, 197, 255, 0.76);
        text-shadow: 0 1px 2px rgba(0,0,0,0.45);
    }
    .blossom-field-owner-badge.is-com {
        background: rgba(239, 65, 101, 0.94);
        border: 1px solid rgba(255, 163, 181, 0.76);
        text-shadow: 0 1px 2px rgba(0,0,0,0.45);
    }
    .blossom-field-modal-grid .blossom-field-owner-stack.is-player .blossom-deck-tile {
        box-shadow: inset 0 0 0 3px rgba(87, 151, 255, 0.9), 0 0 20px rgba(87, 151, 255, 0.18);
    }
    .blossom-field-modal-grid .blossom-field-owner-stack.is-com .blossom-deck-tile {
        box-shadow: inset 0 0 0 3px rgba(255, 89, 120, 0.9), 0 0 20px rgba(255, 89, 120, 0.18);
    }
    #blossom-field-modal-grid .blossom-deck-card-main {
        grid-template-rows: 24px minmax(84px, 1fr) 28px;
        gap: 4px;
        padding: 12px 10px 10px;
    }
    #blossom-field-modal-grid .blossom-deck-card-title {
        align-self: center;
        margin-bottom: 0;
        transform: translateY(7px);
    }
    #blossom-field-modal-grid .blossom-card-image {
        overflow: visible;
        transform: translateY(8px);
    }
    #blossom-field-modal-grid .blossom-card-image img {
        width: 76%;
        height: 76%;
        max-height: 76%;
        object-fit: contain;
    }
    #blossom-field-modal-grid .blossom-deck-card-code {
        align-self: center;
        margin-top: -16px;
    }
    .blossom-field-empty {
        border-radius: 16px;
        padding: 28px 16px;
        background: rgba(255,255,255,0.06);
        border: 1px dashed rgba(255,255,255,0.14);
        color: #d8c6cd;
        text-align: center;
        font-size: 15px;
        font-weight: 800;
    }
    .blossom-deck-modal-head {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 14px;
        align-items: start;
    }
    .blossom-deck-modal-title {
        font-size: 24px;
        font-weight: 900;
        color: #ffb7d3;
        margin-bottom: 8px;
    }
    .blossom-deck-modal-copy {
        font-size: 14px;
        line-height: 1.6;
        color: #e6dbe0;
    }
    .blossom-deck-modal-count {
        min-width: 132px;
        padding: 14px 16px;
        border-radius: 18px;
        border: 1px solid rgba(255, 92, 155, 0.35);
        background: rgba(95, 11, 41, 0.44);
        color: #ffe5ee;
        font-size: 16px;
        font-weight: 900;
        text-align: center;
        line-height: 1.25;
    }
    .blossom-deck-rows {
        display: grid;
        gap: 14px;
    }
    .blossom-deck-row {
        border-radius: 22px;
        background: rgba(255,255,255,0.07);
        border: 1px solid rgba(255,255,255,0.08);
        padding: 16px;
        display: grid;
        gap: 12px;
    }
    .blossom-deck-row-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        font-size: 15px;
        font-weight: 900;
    }
    .blossom-deck-row-head strong {
        color: #ff7cab;
    }
    .blossom-deck-row-head span {
        color: #90a0bc;
        font-size: 13px;
    }
    .blossom-deck-row-cards {
        display: grid;
        grid-template-columns: repeat(6, minmax(88px, 128px));
        justify-content: space-between;
        align-items: start;
        gap: clamp(8px, 1.1vw, 14px);
    }
    .blossom-deck-card-stack {
        display: grid;
        gap: 4px;
        align-content: start;
        min-width: 0;
        width: 100%;
        max-width: 128px;
        justify-self: center;
    }
    .blossom-deck-tile {
        height: auto;
        aspect-ratio: 2 / 3;
        min-height: 0;
        cursor: pointer;
        transition: transform 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
        padding: 0;
        overflow: hidden;
    }
    .blossom-deck-tile:hover {
        transform: translateY(-2px);
    }
    .blossom-deck-tile.is-selected {
        box-shadow: inset 0 0 0 2px rgba(255, 95, 159, 0.96), 0 0 0 3px rgba(255, 95, 159, 0.14);
        background-color: rgba(105, 23, 54, 0.86);
    }
    .blossom-deck-tile.is-disabled {
        opacity: 0.34;
        cursor: default;
    }
    .blossom-deck-card-main {
        min-height: 164px;
        display: grid;
        grid-template-rows: 18px minmax(76px, 1fr) 20px;
        gap: 6px;
        padding: 10px 10px 8px;
    }
    .blossom-deck-card-main .blossom-card-image {
        left: 13%;
        right: 13%;
        top: 50%;
        height: 45%;
        min-height: 0;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .blossom-deck-card-main .blossom-card-image img {
        width: 80%;
        height: 80%;
        max-height: 80%;
        object-fit: contain;
    }
    .blossom-deck-card-main .is-special-spring-card .blossom-card-image img,
    .is-special-spring-card .blossom-deck-card-main .blossom-card-image img {
        width: 96%;
        height: 96%;
        max-height: 96%;
    }
    .blossom-deck-card-title {
        align-self: end;
        font-size: 9px;
        font-weight: 900;
        margin-bottom: 0;
        line-height: 1.1;
        text-align: center;
        color: #fffefa;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.82), 0 0 6px rgba(0, 0, 0, 0.42);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .blossom-deck-card-code {
        align-self: start;
        font-size: 18px;
        margin-top: -40px;
        line-height: 1;
        text-align: center;
        color: #fff7f1;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.82), 0 0 6px rgba(0, 0, 0, 0.42);
        font-weight: 900;
        letter-spacing: 0.02em;
    }
    .blossom-deck-detail-box {
        min-height: 28px;
        border-radius: 10px;
        padding: 4px 8px;
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255,255,255,0.08);
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
    .blossom-deck-detail-title {
        font-size: 11px;
        font-weight: 900;
        color: #e9eef8;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .blossom-deck-detail-copy {
        display: none;
    }
    .blossom-deck-warning {
        border-radius: 16px;
        padding: 12px 16px;
        background: rgba(114, 20, 28, 0.72);
        border: 1px solid rgba(255, 130, 130, 0.22);
        color: #ffd6da;
        font-size: 14px;
        font-weight: 900;
        text-align: center;
    }
    .blossom-deck-modal-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .blossom-modal-cancel {
        background: linear-gradient(180deg, #152241, #111b34);
        color: #dee7ff;
    }
    .blossom-final-close {
        position: absolute;
        top: 14px;
        right: 14px;
        width: 34px;
        height: 34px;
        border: 1px solid rgba(255,255,255,0.14);
        border-radius: 999px;
        background: rgba(255,255,255,0.08);
        color: #fff3f8;
        font-size: 20px;
        font-weight: 900;
        line-height: 1;
        cursor: pointer;
        display: grid;
        place-items: center;
        transition: transform 0.16s ease, background 0.16s ease;
    }
    .blossom-final-close:hover {
        transform: translateY(-1px);
        background: rgba(255, 95, 159, 0.22);
    }
    .blossom-final-icon {
        display: none;
    }
    @media (max-width: 900px) {
        .blossom-submit-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .blossom-field-stage {
            min-height: 760px;
        }
        .blossom-field-slot {
            width: 72px;
            height: 102px;
        }
        .blossom-field-slot.idx-0 { top: 88px; }
        .blossom-field-slot.idx-1 { right: 200px; top: 172px; }
        .blossom-field-slot.idx-2 { right: 88px; transform: translateY(-50%) rotate(90deg); }
        .blossom-field-slot.idx-3 { right: 200px; bottom: 172px; }
        .blossom-field-slot.idx-4 { bottom: 88px; }
        .blossom-field-slot.idx-5 { left: 200px; bottom: 172px; }
        .blossom-field-slot.idx-6 { left: 88px; transform: translateY(-50%) rotate(-90deg); }
        .blossom-field-slot.idx-7 { left: 200px; top: 172px; }
        #boardgame-blossom-play-section .blossom-submit-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 6px;
        }
        #boardgame-blossom-play-section .blossom-submit-slot {
            min-height: 156px;
        }
        .blossom-deck-modal-card,
        .blossom-field-modal-card {
            width: min(96vw, 1160px);
        }
        .blossom-deck-row {
            min-width: 0;
        }
        .blossom-deck-row-cards {
            grid-template-columns: repeat(6, minmax(72px, 104px));
            justify-content: space-between;
            gap: 8px;
        }
        .blossom-deck-card-stack {
            max-width: 104px;
        }
        .blossom-deck-row-cards .blossom-deck-tile {
            min-height: 0;
            aspect-ratio: 2 / 3;
        }
        .blossom-deck-row-cards .blossom-deck-card-main {
            min-height: 0;
            height: 100%;
            grid-template-rows: 18% minmax(0, 1fr) 18%;
            gap: 2px;
            padding: 5px 4px 4px;
            box-sizing: border-box;
        }
        .blossom-deck-row-cards .blossom-deck-card-title {
            font-size: 7px;
            line-height: 1.05;
            margin-bottom: -2px;
            top: 7%;
        }
        .blossom-deck-row-cards .blossom-deck-card-code {
            font-size: 13px;
            margin-top: 0;
        }
        .blossom-deck-row-cards .blossom-deck-tile .blossom-card-image {
            overflow: visible;
        }
        .blossom-deck-row-cards .blossom-deck-tile .blossom-card-image img {
            width: 84%;
            height: 84%;
            max-height: 84%;
            object-fit: contain;
        }
        .blossom-deck-row-cards .blossom-deck-detail-box {
            min-height: 24px;
            padding: 4px 3px;
        }
        .blossom-deck-row-cards .blossom-deck-detail-title {
            font-size: 10px;
            line-height: 1.1;
        }
        .blossom-field-modal-grid {
            grid-template-columns: repeat(6, minmax(0, 1fr));
            min-width: 0;
        }
        #boardgame-blossom-play-section .blossom-field-stage {
            min-height: 520px;
        }
        #boardgame-blossom-play-section .blossom-field-slot {
            width: 76px;
            height: 108px;
        }
        #boardgame-blossom-play-section .blossom-field-slot.idx-0 { top: 46px; }
        #boardgame-blossom-play-section .blossom-field-slot.idx-1 { right: 142px; top: 96px; }
        #boardgame-blossom-play-section .blossom-field-slot.idx-2 { right: 98px; transform: translateY(-50%) rotate(90deg); }
        #boardgame-blossom-play-section .blossom-field-slot.idx-3 { right: 142px; bottom: 96px; }
        #boardgame-blossom-play-section .blossom-field-slot.idx-4 { bottom: 46px; }
        #boardgame-blossom-play-section .blossom-field-slot.idx-5 { left: 142px; bottom: 96px; }
        #boardgame-blossom-play-section .blossom-field-slot.idx-6 { left: 98px; transform: translateY(-50%) rotate(-90deg); }
        #boardgame-blossom-play-section .blossom-field-slot.idx-7 { left: 142px; top: 96px; }
    }
    @media (max-width: 768px) {
        .blossom-round-panel,
        .blossom-arena-panel,
        .blossom-deck-modal-card,
        .blossom-final-card {
            border-radius: 22px;
        }
        .blossom-round-shell {
            gap: 14px;
        }
        .blossom-round-panel,
        .blossom-arena-panel {
            padding: 14px;
        }
        .blossom-round-scoreboard {
            grid-template-columns: 1fr;
        }
        .blossom-submit-grid,
        .blossom-deck-modal-actions {
            grid-template-columns: 1fr;
        }
        .blossom-submit-slot {
            min-height: 160px;
        }
        .blossom-field-stage {
            min-height: 640px;
        }
        .blossom-stage-label {
            font-size: 12px;
        }
        .blossom-field-center {
            width: 76px;
            height: 76px;
            font-size: 28px;
        }
        .blossom-field-slot {
            width: 62px;
            height: 88px;
        }
        .blossom-field-slot.idx-0 { top: 82px; }
        .blossom-field-slot.idx-1 { right: 200px; top: 164px; }
        .blossom-field-slot.idx-2 { right: 36px; transform: translateY(-50%) rotate(90deg); }
        .blossom-field-slot.idx-3 { right: 200px; bottom: 164px; }
        .blossom-field-slot.idx-4 { bottom: 82px; }
        .blossom-field-slot.idx-5 { left: 200px; bottom: 164px; }
        .blossom-field-slot.idx-6 { left: 36px; transform: translateY(-50%) rotate(-90deg); }
        .blossom-field-slot.idx-7 { left: 200px; top: 164px; }
        .blossom-card-head {
            font-size: 11px;
        }
        .blossom-card-image img {
            height: 72px;
        }
        .blossom-card-foot {
            font-size: 10px;
        }
        .blossom-round-actions {
            flex-wrap: wrap;
        }
        .blossom-round-actions .btn {
            flex: 1 1 140px;
        }
        .blossom-deck-modal-card {
            width: min(96vw, 920px);
            padding: 14px 10px 12px;
            gap: 12px;
        }
        .blossom-field-modal-card {
            width: min(96vw, 920px);
            padding: 14px 10px 12px;
            gap: 12px;
        }
        .blossom-deck-modal-title,
        .blossom-field-modal-title {
            font-size: 19px;
        }
        .blossom-deck-modal-copy,
        .blossom-field-modal-copy {
            font-size: 11px;
            line-height: 1.45;
        }
        .blossom-deck-modal-count {
            min-width: 0;
            padding: 9px 10px;
            border-radius: 14px;
            font-size: 13px;
        }
        .blossom-deck-modal-head {
            grid-template-columns: 1fr;
        }
        .blossom-deck-rows {
            overflow-x: visible;
            gap: 8px;
            padding-bottom: 0;
        }
        .blossom-deck-row {
            min-width: 0;
            padding: 10px;
            border-radius: 16px;
            gap: 8px;
        }
        .blossom-deck-row-head {
            font-size: 12px;
            gap: 8px;
        }
        .blossom-deck-row-head span {
            font-size: 11px;
        }
        .blossom-deck-row-cards {
            grid-template-columns: repeat(6, minmax(44px, 1fr));
            justify-content: center;
            gap: 5px;
        }
        .blossom-field-modal-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            min-width: 0;
            overflow-x: visible;
            gap: 6px;
        }
        .blossom-deck-card-stack {
            gap: 3px;
        }
        .blossom-deck-tile {
            min-height: 0;
            border-radius: 10px;
        }
        .blossom-deck-card-main {
            min-height: 76px;
            grid-template-rows: 10px minmax(42px, 1fr) 14px;
            gap: 3px;
            padding: 5px 4px 4px;
        }
        .blossom-deck-card-title {
            font-size: 6px;
            margin-bottom: -1px;
            line-height: 1;
        }
        .blossom-deck-card-code {
            font-size: 9px;
            margin-top: 0;
            letter-spacing: 0;
        }
        .blossom-deck-detail-box {
            min-height: 22px;
            border-radius: 8px;
            padding: 3px 2px;
        }
        .blossom-deck-detail-title {
            font-size: 9px;
            line-height: 1.1;
        }
        .blossom-deck-card-main {
            min-height: 0;
        }
        .blossom-deck-tile .blossom-card-image img {
            width: 100%;
            height: 100%;
            max-height: 100%;
        }
        .blossom-deck-row-cards .blossom-deck-tile {
            min-height: 0;
            aspect-ratio: 2 / 3;
        }
        .blossom-deck-row-cards .blossom-deck-card-main {
            min-height: 0;
            height: 100%;
            grid-template-rows: 18% minmax(0, 1fr) 18%;
            gap: 1px;
            padding: 3px 3px 2px;
            box-sizing: border-box;
        }
        .blossom-deck-row-cards .blossom-deck-card-code {
            font-size: 9px;
            margin-top: 10px;
        }
        .blossom-deck-row-cards .blossom-deck-tile .blossom-card-image {
            overflow: visible;
        }
        .blossom-deck-row-cards .blossom-deck-tile .blossom-card-image img {
            width: 84%;
            height: 84%;
            max-height: 84%;
            object-fit: contain;
        }
        .blossom-deck-row-cards .blossom-deck-tile.is-special-spring-card .blossom-card-image img {
            width: 150%;
            height: 150%;
            max-height: 150%;
        }
        #blossom-field-modal-grid .blossom-deck-card-main {
            grid-template-rows: 15px minmax(36px, 1fr) 16px;
            padding: 4px 3px 3px;
            gap: 1px;
        }
        #blossom-field-modal-grid .blossom-deck-card-title {
            font-size: 7px;
            line-height: 1.08;
            margin-bottom: 0;
            transform: translateY(5px);
        }
        .blossom-field-modal-grid .blossom-field-owner-badge {
            top: 5px;
            left: 50%;
            transform: translateX(-50%);
            min-width: 34px;
            padding: 2px 5px;
            font-size: 6px;
        }
        #blossom-field-modal-grid .blossom-deck-card-code {
            font-size: 12px;
            margin-top: 15px;
        }
        .blossom-field-modal-grid .blossom-deck-detail-title {
            font-size: 7px;
            line-height: 1.15;
        }
        #blossom-field-modal-grid .blossom-card-image {
            overflow: visible;
            transform: translateY(0);
        }
        #blossom-field-modal-grid .blossom-card-image img {
            width: 72%;
            height: 72%;
            max-height: 72%;
            object-fit: contain;
        }
        .blossom-field-modal-card .blossom-deck-modal-actions {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        #boardgame-blossom-play-section[style*="display: block"] {
            display: flex !important;
            justify-content: center;
            overflow-x: hidden;
        }
        #boardgame-blossom-play-section .blossom-round-shell {
            /* Mobile BLOSSOM size controls: scale shrinks the PC board, base width widens its layout before scaling. */
            --blossom-mobile-scale: 0.70;
            --blossom-mobile-base-width: 760px;
            flex: 0 0 calc(var(--blossom-mobile-base-width) * var(--blossom-mobile-scale));
            width: var(--blossom-mobile-base-width);
            max-width: none;
            margin-left: 0;
            margin-right: 0;
            transform: scale(var(--blossom-mobile-scale));
            transform-origin: top;
        }
        #boardgame-blossom-play-section .blossom-round-panel,
        #boardgame-blossom-play-section .blossom-arena-panel {
            padding: 16px;
        }
        #boardgame-blossom-play-section .blossom-round-scoreboard {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        #boardgame-blossom-play-section .blossom-round-player-title,
        #boardgame-blossom-play-section .blossom-submit-title {
            text-align: center;
            justify-content: center;
        }
        #boardgame-blossom-play-section .blossom-music-control {
            align-items: center;
        }
        #boardgame-blossom-play-section .blossom-volume-panel {
            right: 50%;
            bottom: calc(100% + 6px);
            width: 132px;
            transform: translate(50%, 6px);
        }
        #boardgame-blossom-play-section .blossom-music-control.is-open .blossom-volume-panel,
        #boardgame-blossom-play-section .blossom-music-control:focus-within .blossom-volume-panel {
            transform: translate(50%, 0);
        }
        #boardgame-blossom-play-section .blossom-submit-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 6px;
        }
        #boardgame-blossom-play-section .blossom-submit-slot {
            min-height: 156px;
        }
        #boardgame-blossom-play-section .blossom-field-stage {
            min-height: 520px;
        }
        #boardgame-blossom-play-section .blossom-field-center {
            width: 86px;
            height: 86px;
            font-size: 34px;
        }
        #boardgame-blossom-play-section .blossom-field-slot {
            width: 76px;
            height: 108px;
        }
        #boardgame-blossom-play-section .blossom-field-slot.idx-0 { top: 46px; }
        #boardgame-blossom-play-section .blossom-field-slot.idx-1 { right: 92px; top: 96px; }
        #boardgame-blossom-play-section .blossom-field-slot.idx-2 { right: 46px; transform: translateY(-50%) rotate(90deg); }
        #boardgame-blossom-play-section .blossom-field-slot.idx-3 { right: 92px; bottom: 96px; }
        #boardgame-blossom-play-section .blossom-field-slot.idx-4 { bottom: 46px; }
        #boardgame-blossom-play-section .blossom-field-slot.idx-5 { left: 92px; bottom: 96px; }
        #boardgame-blossom-play-section .blossom-field-slot.idx-6 { left: 46px; transform: translateY(-50%) rotate(-90deg); }
        #boardgame-blossom-play-section .blossom-field-slot.idx-7 { left: 92px; top: 96px; }
        #boardgame-blossom-play-section .blossom-card-head {
            font-size: 12px;
        }
        #boardgame-blossom-play-section .blossom-card-image img {
            height: 60px;
            transform: translateY(10px);
        }
        #boardgame-blossom-play-section .blossom-card-foot {
            font-size: 11px;
        }
        #boardgame-blossom-play-section .blossom-submit-card-main {
            grid-template-rows: 14px minmax(0, 1fr) 20px;
            gap: 4px;
            padding: 7px 7px 5px;
        }
        #boardgame-blossom-play-section .blossom-submit-card-title {
            font-size: 9px;
            margin-bottom: -5px;
        }
        #boardgame-blossom-play-section .blossom-submit-card-code {
            font-size: 14px;
            margin-top: 30px;
        }
        #boardgame-blossom-play-section .blossom-round-log {
            min-height: 94px;
            max-height: 94px;
            padding: 12px 14px;
        }
        #boardgame-blossom-play-section .blossom-round-actions {
            flex-wrap: nowrap;
        }
        #boardgame-blossom-play-section .blossom-round-actions .btn {
            flex: 0 1 auto;
        }
    }

        /* SURVIVAL MODE */
        #survival-mode-static-style-marker { display:none; }

            #boardgame-survival-play-section { margin-top: 20px; }
            .survival-play-shell { max-width: 1274px; margin: 0 auto; padding: 20px; border-radius: 20px; border: 1px solid rgba(255, 80, 160, 0.28); background: linear-gradient(180deg, rgba(12, 12, 17, 0.96), rgba(6, 6, 10, 0.98)); color: #f6eef4; box-shadow: 0 22px 60px rgba(0, 0, 0, 0.36); }
            .survival-play-head { position:relative; display:flex; justify-content:center; align-items:center; min-height:62px; gap:12px; margin-bottom:14px; }
            .survival-title-block { text-align:center; }
            .survival-play-title { margin: 0; color: #ff6fb4; text-shadow: 0 0 18px rgba(255, 56, 146, 0.45); }
            .survival-play-sub { margin: 4px 0 0; color: #bfb3bd; font-size: 12px; font-weight: 900; }
            .survival-turn-badge { position:absolute; right:0; top:50%; transform:translateY(-50%); min-width:154px; padding:14px 22px 13px 30px; clip-path:polygon(18% 0, 100% 0, 100% 100%, 0 100%); border:1px solid rgba(255, 105, 178, .38); background:linear-gradient(135deg, rgba(54, 22, 42, .94), rgba(14, 12, 18, .92)); color:#ffd6eb; font-size:14px; font-weight:900; text-align:center; letter-spacing:.04em; text-shadow:0 0 12px rgba(255, 92, 166, .44); box-shadow:0 0 22px rgba(255, 67, 164, .16), inset 0 0 18px rgba(255, 90, 170, .08); }
            .survival-turn-badge.is-com { background:linear-gradient(135deg, rgba(60, 18, 42, .96), rgba(18, 10, 18, .94)); color:#ffbedc; }
            .survival-ammo-badge { position:absolute; left:0; top:50%; transform:translateY(-50%); min-width:154px; padding:14px 34px 13px 24px; clip-path:polygon(0 0, 82% 0, 100% 100%, 0 100%); border:1px solid rgba(255, 105, 178, .38); background:linear-gradient(135deg, rgba(14, 12, 18, .94), rgba(54, 22, 42, .94)); color:#ffd6eb; font-size:14px; font-weight:900; text-align:left; letter-spacing:.04em; text-shadow:0 0 12px rgba(255, 92, 166, .44); box-shadow:0 0 22px rgba(255, 67, 164, .16), inset 0 0 18px rgba(255, 90, 170, .08); display:flex; align-items:center; justify-content:flex-start; gap:8px; }
            .survival-ammo-label { color:#ffbedc; }
            .survival-ammo-track { display:flex; align-items:center; gap:8px; min-width:72px; }
            .survival-ammo-icon { width:9px; height:17px; border-radius:999px; background:linear-gradient(180deg, #ffe2ee 0 16%, #ff5cac 17% 100%); box-shadow:0 0 9px rgba(255, 82, 166, .82), inset 0 -2px 3px rgba(80, 8, 42, .42); transform:rotate(28deg); }
            .survival-score-strip { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
            .survival-score-pill { min-width: 74px; padding: 8px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.14); text-align: center; font-size: 11px; font-weight: 900; }
            .survival-score-pill strong { display:block; margin-top: 2px; color: #ffd3e6; font-size: 16px; }
            .survival-setup-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
            .survival-setup-card { position: relative; min-height: 172px; border: 1px solid rgba(255, 92, 166, 0.22); border-radius: 14px; background: rgba(255, 255, 255, 0.055); padding: 12px; cursor: pointer; color: inherit; font-family: inherit; font-weight: 900; overflow: hidden; }
            .survival-setup-card:hover, .survival-setup-card.is-selected { border-color: rgba(255, 92, 166, 0.80); box-shadow: 0 0 0 2px rgba(255, 72, 160, 0.16), 0 12px 28px rgba(255, 44, 144, 0.12); }
            .survival-setup-card img { width: 76px; height: 76px; object-fit: contain; display: block; margin: 0 auto 8px; border-radius: 12px; background: rgba(255,255,255,0.92); }
            .survival-setup-card-name { color: #fff; font-size: 13px; line-height: 1.25; min-height: 32px; display: flex; align-items: center; justify-content: center; text-align: center; }
            .survival-setup-card-meta { color: #ffaad2; font-size: 11px; margin-top: 6px; text-align: center; }
            .survival-setup-stage { min-height: 660px; display:flex; align-items:center; justify-content:center; padding: 76px 18px 28px; }
            .survival-deploy-panel { position:relative; z-index:4; width:min(760px, 94%); padding: 18px; border-radius:20px; background:linear-gradient(90deg, rgba(10,10,15,.80), rgba(30,12,24,.86), rgba(10,10,15,.80)); border:1px solid rgba(255,82,166,.38); box-shadow:0 0 30px rgba(255,52,150,.16), inset 0 0 28px rgba(255,82,166,.06); overflow:hidden; animation: survivalDeployOpen .62s cubic-bezier(.18,.84,.24,1) both; transform-origin:center; }
            .survival-deploy-panel::before, .survival-deploy-panel::after { content:''; position:absolute; top:0; bottom:0; width:50%; background:linear-gradient(90deg, rgba(255,71,159,.16), rgba(255,71,159,0)); pointer-events:none; animation: survivalDeployDoor .62s ease both; }
            .survival-deploy-panel::before { left:0; transform-origin:left center; }
            .survival-deploy-panel::after { right:0; transform-origin:right center; scale:-1 1; }
            .survival-setup-stage .survival-center-status { top:58px; min-width:240px; padding:10px 16px; font-size:12px; }
            .survival-deploy-title { position:relative; z-index:2; margin-bottom:12px; text-align:center; color:#ff9dcc; font-size:15px; font-weight:900; letter-spacing:.04em; text-shadow:0 0 12px rgba(255,82,166,.55); opacity:0; animation: survivalDeployContentIn .42s ease forwards; animation-delay:.56s; }
            .survival-setup-grid { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; margin:14px 0; }
            .survival-setup-card { position:relative; border:0; background:transparent; padding:0; cursor:pointer; color:inherit; font-family:inherit; font-weight:900; opacity:0; transform:translateX(var(--fan-x, 0)) scale(.88); animation: survivalCardFadeIn .48s ease forwards; animation-delay:calc(620ms + var(--card-index, 0) * 72ms); }
            .survival-deploy-panel.is-static { animation:none; }
            .survival-deploy-panel.is-static::before, .survival-deploy-panel.is-static::after { display:none; }
            .survival-deploy-panel.is-static .survival-deploy-title,
            .survival-deploy-panel.is-static .survival-setup-help,
            .survival-deploy-panel.is-static .survival-action-row { opacity:1; animation:none; }
            .survival-setup-card.is-static { opacity:1; transform:none; animation:none; }
            .survival-setup-card:hover, .survival-setup-card.is-selected { filter:drop-shadow(0 0 16px rgba(255, 71, 159, .78)); }
            .survival-setup-card.is-selected .survival-front-card { transform:translateY(-8px); }
            .survival-front-card { position:relative; display:block; width:min(132px, 100%); aspect-ratio:351 / 500; margin:0 auto; transition:transform .18s ease; }
            .survival-setup-card .survival-front-frame { position:absolute; inset:0; width:100%; height:100%; margin:0; border-radius:0; background:transparent; object-fit:contain; z-index:2; pointer-events:none; }
            .survival-front-portrait { position:absolute; left:50%; top:47%; width:47%; height:33%; transform:translate(-50%, -50%); display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:50%; z-index:3; pointer-events:none; }
            .survival-setup-card .survival-front-portrait img { width:94%; height:94%; object-fit:contain; display:block; }
            .survival-setup-card-name { position:absolute; left:12%; right:12%; top:8%; z-index:4; color:#fff1f8; font-size:9px; line-height:1.15; max-height:2.3em; text-align:center; text-shadow:0 2px 5px rgba(0,0,0,.9); overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; word-break:keep-all; overflow-wrap:anywhere; }
            .survival-name-mobile { display:none; }
            .survival-setup-card-meta { position:absolute; left:13%; right:13%; bottom:12%; z-index:4; color:#ff9dcc; font-size:15px; line-height:1.1; text-align:center; text-shadow:0 2px 5px rgba(0,0,0,.92); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
            .survival-setup-help { position:relative; z-index:2; margin:6px auto 0; max-width:560px; color:#d8cbd4; font-size:12px; line-height:1.55; text-align:center; font-weight:900; opacity:0; animation: survivalDeployContentIn .42s ease forwards; animation-delay:.72s; }
            .survival-setup-stage .survival-action-row { position:relative; z-index:2; opacity:0; animation: survivalDeployContentIn .42s ease forwards; animation-delay:.78s; }
            .survival-action-row { display: flex; gap: 10px; justify-content: center; align-items: center; flex-wrap: wrap; margin-top: 14px; }
            .survival-setup-stage .survival-action-row .survival-btn { min-width: 178px; }
            .survival-btn { min-width: 128px; min-height: 46px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.18); background: linear-gradient(135deg, #ff4fa8, #111118); color: #fff; font-family: inherit; font-weight: 900; cursor: pointer; }
            .survival-btn:disabled { opacity: 0.42; cursor: default; }
            .survival-btn.is-dark { background: rgba(255,255,255,0.07); }
            .survival-arena { position: relative; min-height: 884px; border-radius: 18px; overflow: hidden; border: 1px solid rgba(255, 70, 154, 0.25); background: #09090e url('boardgame/survival/survival background.jpg') center/cover no-repeat; isolation: isolate; }
            .survival-arena::before { content:''; position:absolute; inset:0; background: radial-gradient(circle at 50% 43%, rgba(255, 36, 148, 0.15), rgba(0,0,0,0.12) 36%, rgba(0,0,0,0.55)); z-index:0; pointer-events:none; }
            .survival-blank-stage { display:flex; align-items:center; justify-content:center; }
            .survival-turn-card { position:relative; z-index:4; min-width:320px; padding:24px 34px; border-radius:20px; text-align:center; background:rgba(10,10,15,.86); border:1px solid rgba(255,82,166,.48); box-shadow:0 0 34px rgba(255,61,157,.22), inset 0 0 24px rgba(255,82,166,.08); animation: survivalTurnNoticeIn .48s cubic-bezier(.2,.78,.24,1) both; }
            .survival-turn-card span, .survival-turn-card em { display:block; color:#ffb4d7; font-style:normal; font-size:13px; font-weight:900; letter-spacing:.04em; }
            .survival-turn-card strong { display:block; margin:8px 0 4px; color:#fff6fb; font-size:28px; font-weight:900; text-shadow:0 0 18px rgba(255,82,166,.72); }
            .survival-starter-notice { position:absolute; z-index:12; left:50%; top:50%; transform:translate(-50%, -50%); min-width:300px; pointer-events:none; animation: survivalStarterNoticeIn .48s cubic-bezier(.2,.78,.24,1) both; }
            .survival-starter-notice em { margin-top:8px; color:#fff; font-size:24px; text-shadow:0 0 16px rgba(255,82,166,.8); }
            .survival-arena-top { position:absolute; z-index:6; left:1.5%; right: 3.4%; top:50%; transform:translateY(-50%); display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0; pointer-events:none; }
            .survival-side-panel { width: 239px; min-height: 49px; padding: 7px 13px 9px; border-radius: 11px; background: linear-gradient(90deg, rgba(0,0,0,0.74), rgba(20,14,22,0.62), rgba(0,0,0,0.48)); border: 1px solid rgba(255,255,255,0.13); box-shadow:0 0 22px rgba(255,79,168,0.12), inset 0 0 18px rgba(255,79,168,0.08); }
            .survival-side-panel.is-player { transform:skewX(12deg); }
            .survival-side-panel.is-player > * { transform:skewX(-12deg); }
            .survival-side-panel.is-com { transform:skewX(-12deg); }
            .survival-side-panel.is-com > * { transform:skewX(12deg); }
            .survival-side-panel h4 { margin:0 0 5px; font-size:13px; color:#ffe2ef; letter-spacing:.02em; }
            .survival-side-panel.is-player h4 { text-align:left; }
            .survival-side-panel.is-com h4 { text-align:right; }
            .survival-defence { display:grid; grid-template-columns:repeat(5, 1fr); gap:6px; align-items:center; }
            .survival-defence span { width:100%; height:11px; border-radius:2px; background: linear-gradient(90deg, #ff5faf, #ff8ac8); box-shadow: 0 0 9px rgba(255, 65, 158, 0.6), inset 0 0 4px rgba(255,255,255,0.35); transform:skewX(var(--survival-life-skew, -14deg)); }
            .survival-defence span.is-lost { background: rgba(255,255,255,0.18); box-shadow: inset 0 0 5px rgba(0,0,0,0.45); }
            .survival-defence span.is-draining { animation: survivalDefenceDrain 2000ms steps(1, end) both; }
            .survival-side-panel.is-player .survival-defence span { --survival-life-skew: 14deg; }
            .survival-side-panel.is-com .survival-defence span { --survival-life-skew: -14deg; }
            .survival-arena.is-entering .survival-arena-top,
            .survival-arena.is-entering .survival-field-row,
            .survival-arena.is-entering .survival-cylinder-panel,
            .survival-arena.is-entering .survival-fire-button,
            .survival-arena.is-entering .survival-blade-button,
            .survival-arena.is-entering .survival-grenade-button,
            .survival-arena.is-entering .survival-winner-markers,
            .survival-arena.is-entering .survival-center-status { opacity:0; animation: survivalFieldFadeIn .62s ease forwards; }
            .survival-arena.is-intro-pending .survival-arena-top,
            .survival-arena.is-intro-pending .survival-field-row,
            .survival-arena.is-intro-pending .survival-cylinder-panel,
            .survival-arena.is-intro-pending .survival-fire-button,
            .survival-arena.is-intro-pending .survival-blade-button,
            .survival-arena.is-intro-pending .survival-grenade-button,
            .survival-arena.is-intro-pending .survival-revolver-wrap,
            .survival-arena.is-intro-pending .survival-winner-markers,
            .survival-arena.is-intro-pending .survival-center-status { opacity:0; pointer-events:none; }
            .survival-arena.is-entering .survival-arena-top { animation-delay: .08s; }
            .survival-arena.is-entering .survival-field-row.is-com { animation-delay: .18s; }
            .survival-arena.is-entering .survival-field-row.is-player { animation-delay: .26s; }
            .survival-arena.is-entering .survival-cylinder-panel,
            .survival-arena.is-entering .survival-fire-button,
            .survival-arena.is-entering .survival-blade-button,
            .survival-arena.is-entering .survival-grenade-button { animation-delay: .32s; }
            .survival-arena.is-exiting .survival-arena-top,
            .survival-arena.is-exiting .survival-field-row,
            .survival-arena.is-exiting .survival-cylinder-panel,
            .survival-arena.is-exiting .survival-fire-button,
            .survival-arena.is-exiting .survival-blade-button,
            .survival-arena.is-exiting .survival-grenade-button,
            .survival-arena.is-exiting .survival-revolver-wrap,
            .survival-arena.is-exiting .survival-winner-markers,
            .survival-arena.is-exiting .survival-center-status { animation: survivalFieldFadeOut .46s ease both; }
            .survival-music-control { position:absolute; z-index:12; display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
            .survival-music-control.is-head { display:none; }
            .survival-music-control.is-arena { right:24px; top:7.5%; transform:translateY(-50%); }
            .survival-music-btn { height:32px; min-width:78px; padding:0 10px; border-radius:999px; border:1px solid rgba(255, 93, 178, .44); background:rgba(18, 12, 20, .88); color:#ffe5f3; display:inline-flex; align-items:center; justify-content:center; gap:5px; font-family:inherit; font-weight:900; font-size:10px; letter-spacing:.02em; cursor:pointer; box-shadow:0 0 16px rgba(255,70,165,.18), inset 0 0 12px rgba(255,90,170,.06); }
            .survival-music-btn.is-on { border-color:rgba(255, 119, 197, .72); background:linear-gradient(135deg, #ff5db4, #5c1f3f); box-shadow:0 0 20px rgba(255, 82, 170, .42), inset 0 0 12px rgba(255,255,255,.12); }
            .survival-music-icon { color:#ff8ccc; font-size:12px; line-height:1; }
            .survival-volume-panel { position:absolute; right:0; top:calc(100% + 8px); bottom:auto; width:190px; padding:11px 14px; border:1px solid rgba(255, 93, 178, .36); border-radius:12px; background:rgba(11, 9, 14, .92); box-shadow:0 0 18px rgba(255,70,165,.18); opacity:0; transform:translateY(-6px); pointer-events:none; transition:opacity .18s ease, transform .18s ease; }
            .survival-music-control.is-open .survival-volume-panel,
            .survival-music-control:focus-within .survival-volume-panel { opacity:1; transform:translateY(0); pointer-events:auto; }
            .survival-volume-label { display:block; margin-bottom:5px; color:#ffc4e2; font-size:9px; font-weight:900; text-align:center; }
            .survival-volume-slider { width:100%; height:22px; accent-color:#ff62b4; touch-action:none; }
            .survival-center-status { position:absolute; z-index:7; left:50%; top:7.5%; transform:translate(-50%,-50%); min-width: 320px; max-width: 72%; padding: 13px 18px; border-radius: 16px; background: rgba(11, 10, 15, 0.88); border: 1px solid rgba(255, 91, 170, 0.48); color:#fff4fa; text-align:center; font-weight:900; line-height:1.5; box-shadow: 0 0 30px rgba(255, 54, 150, 0.2); pointer-events:none; }
            .survival-center-status.is-result { animation: survivalStatusPop 0.42s ease both; }
            .survival-center-status.is-broken { color:#ff4fa8; border-color:rgba(255, 79, 168, 0.74); text-shadow:0 0 10px rgba(255, 79, 168, 0.95), 0 0 22px rgba(255, 50, 154, 0.58); box-shadow:0 0 32px rgba(255, 54, 150, 0.28), inset 0 0 18px rgba(255, 79, 168, 0.08); }
            .survival-center-status.is-protected { color:#f8fbff; border-color:rgba(218, 226, 236, 0.72); text-shadow:0 0 10px rgba(255,255,255,0.8), 0 0 18px rgba(255,79,168,.36); box-shadow:0 0 26px rgba(255,255,255,.18), inset 0 0 18px rgba(255,79,168,.08); }
            .survival-center-status.is-broken-pop::before,
            .survival-center-status.is-broken-pop::after { content:'*'; position:absolute; top:50%; width:62px; height:42px; display:flex; align-items:center; justify-content:center; color:#ff4fa8; font-size:21px; line-height:1; opacity:0; text-shadow:0 0 10px rgba(255, 79, 168, 0.98), 0 0 24px rgba(255, 42, 156, 0.68), 0 0 38px rgba(255, 42, 156, 0.38); background:radial-gradient(circle, rgba(255, 79, 168, 0.46) 0 9%, rgba(255, 79, 168, 0.14) 10% 30%, rgba(255, 79, 168, 0) 66%); pointer-events:none; animation: survivalBrokenStars .82s ease-out both; }
            .survival-center-status.is-broken-pop::before { left:18px; --survival-broken-rotate:-12deg; box-shadow:-15px -8px 0 -11px rgba(255, 143, 206, .96), 13px 10px 0 -12px rgba(255, 79, 168, .9), 4px -14px 0 -13px rgba(255, 255, 255, .88); }
            .survival-center-status.is-broken-pop::after { right:18px; --survival-broken-rotate:12deg; box-shadow:15px -8px 0 -11px rgba(255, 143, 206, .96), -13px 10px 0 -12px rgba(255, 79, 168, .9), -4px -14px 0 -13px rgba(255, 255, 255, .88); animation-delay:.04s; }
            .survival-field-row { position:absolute; z-index:3; left:50%; right:auto; width:auto; transform:translateX(-50%); display:flex; justify-content:center; align-items:center; gap:2px; }
            .survival-field-row.is-com { top: 17%; }
            .survival-field-row.is-player { bottom: 20%; }
            .survival-barrier-card { position:relative; flex:0 0 172px; width:172px; max-width:none; min-width:0; margin:0 -37px; aspect-ratio: 2 / 2.8; border:0; background: transparent; padding:0; cursor:pointer; font-family:inherit; color:#fff; transform: translateY(var(--lift, 0)); overflow:visible; pointer-events:none; --barrier-visual-scale:1.00; }
            .survival-barrier-card:disabled { cursor: default; }
            .survival-barrier-card.is-targetable:not(:disabled):has(.survival-barrier-hitbox:hover),
            .survival-barrier-card.is-aimed { filter: drop-shadow(0 0 18px rgba(255, 67, 164, 0.92)); }
            .survival-barrier-card.is-aimed::after { content:""; position:absolute; inset:14%; border-radius:12px; border:1px solid rgba(255,88,174,.72); box-shadow:0 0 22px rgba(255,67,164,.62), inset 0 0 18px rgba(255,67,164,.2); pointer-events:none; }
            .survival-barrier-card img { width:100%; height:100%; object-fit:contain; display:block; transform:scale(var(--barrier-visual-scale, 1.00)) rotate(var(--barrier-rotate, 0deg)); transform-origin:center; pointer-events:none; }
            .survival-barrier-hitbox { position:absolute; z-index:6; left:34%; right:34%; top:26%; bottom:26%; border-radius:10px; cursor:pointer; pointer-events:auto; }
            .survival-barrier-card:disabled .survival-barrier-hitbox { pointer-events:none; cursor:default; }
            .survival-field-row.is-player .survival-barrier-card { --barrier-rotate: 180deg; }
            
            .survival-revealed-digit { position:absolute; left:50%; top:34%; transform:translateX(-50%); min-width:17px; height:17px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255, 82, 169, 0.94); color:#fff; font-size:10px; font-weight:900; box-shadow:0 0 22px rgba(255, 67, 164, 0.9), 0 0 36px rgba(255, 67, 164, 0.34); z-index:4; }
            .survival-field-row.is-player .survival-revealed-digit { top:auto; bottom:34%; }
            .survival-broken-label { position:absolute; left:50%; top:49%; transform:translate(-50%,-50%); padding:5px 9px; border-radius:8px; background:rgba(18,18,22,0.82); border:1px solid rgba(255,80,160,0.65); color:#ff9dcc; font-size:12px; font-weight:900; letter-spacing:0.04em; }
            .survival-smoke { position:absolute; left:50%; bottom:42%; width:52px; height:52px; transform:translateX(-50%); pointer-events:none; }
            .survival-smoke span { position:absolute; bottom:0; width:18px; height:18px; border-radius:50%; background:rgba(74,74,80,0.56); filter:blur(5px); animation: survivalSmokeRise 1.2s ease-out forwards; }
            .survival-cylinder-panel { position:absolute; z-index:5; right:26px; bottom:28px; width:170px; height:170px; }
            .survival-cylinder-panel img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; display:block; filter: drop-shadow(0 10px 22px rgba(0,0,0,0.65)); }
            .survival-bullet-button { position:absolute; z-index:6; display:flex; align-items:center; justify-content:center; width:28px; height:25px; border-radius:50%; border:1px solid rgba(255,255,255,0.26); background:rgba(9,9,13,0.84); color:#fff; font-family:inherit; font-weight:900; cursor:pointer; box-shadow:0 0 12px rgba(255,61,157,0.38); }
            .survival-bullet-button.is-used { opacity:0.26; text-decoration:line-through; cursor:default; }
            .survival-bullet-button.is-selected { background:#ff4fa8; box-shadow:0 0 18px rgba(255,61,157,0.86); }
            .survival-bullet-button.is-loaded { background:#fff; color:#24121c; box-shadow:0 0 20px rgba(255,255,255,0.8), 0 0 26px rgba(255,61,157,0.52); }
            .survival-load-button { position:absolute; z-index:7; left:50%; top:-14px; transform:translateX(-50%); min-width:82px; height:30px; border-radius:999px; border:1px solid rgba(255,88,174,.56); background:rgba(13,11,17,.84); color:#ff9dcc; font-family:inherit; font-size:12px; font-weight:900; letter-spacing:.06em; cursor:pointer; box-shadow:0 0 14px rgba(255,67,164,.24), inset 0 0 10px rgba(255,67,164,.08); }
            .survival-load-button.is-ready { background:linear-gradient(135deg,#ff5caf,#89104f); color:#fff; box-shadow:0 0 20px rgba(255,67,164,.78), 0 0 34px rgba(255,67,164,.26); }
            .survival-load-button:disabled { opacity:.42; cursor:default; }
            .survival-bullet-button.slot-0 { left:50px; top:59px; }
            .survival-bullet-button.slot-1 { right:54px; top:59px; }
            .survival-bullet-button.slot-2 { left:51px; bottom:50px; }
            .survival-bullet-button.slot-3 { right:54px; bottom:50px; }
            .survival-gun { position:absolute; z-index:8; left:50%; bottom:0; width:100%; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))); opacity:0; pointer-events:none; filter:drop-shadow(0 20px 28px rgba(0,0,0,0.72)); transition: opacity 0.45s ease, transform 0.32s ease; }
            .survival-gun.is-visible { opacity:1; animation: survivalGunFadeIn 0.52s ease both; }
            .survival-gun.is-no-fade { opacity:1; animation:none; }
            .survival-gun.is-hold { opacity:1; animation:none; }
            .survival-gun.is-firing { animation: survivalGunFire 0.58s cubic-bezier(.18,.9,.28,1.18) both; filter:drop-shadow(0 24px 36px rgba(0,0,0,0.82)) brightness(1.14); }
            .survival-gun.is-fading-out { animation: survivalGunFadeOut 0.50s ease both; }
            .survival-gun.is-grenade { width:36%; bottom:10%; filter:drop-shadow(0 20px 30px rgba(0,0,0,.78)) drop-shadow(0 0 28px rgba(255,67,164,.5)); }
            .survival-gun.is-blade { width:72%; bottom:26%; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) rotate(-18deg); filter:drop-shadow(0 18px 28px rgba(0,0,0,.78)) drop-shadow(0 0 24px rgba(255,67,164,.46)); }
            .survival-laser { position:fixed; z-index:10002; height:6px; transform-origin:0 50%; background:linear-gradient(90deg, rgba(255,74,172,1), rgba(255,255,255,0.9), rgba(255,74,172,0.18)); box-shadow:0 0 18px rgba(255,57,161,0.95), 0 0 34px rgba(255,57,161,0.55); pointer-events:none; opacity:0; transition:opacity .18s ease; }
            .survival-laser.is-visible { opacity:1; }
            .survival-laser.is-com-shot { height:8px; background:linear-gradient(90deg, rgba(255,74,172,1), rgba(255,255,255,.98), rgba(255,74,172,.42), rgba(255,74,172,0)); box-shadow:0 0 24px rgba(255,57,161,1), 0 0 54px rgba(255,57,161,.7), 0 0 74px rgba(0,0,0,.38); }
            .survival-particle { position:fixed; z-index:9998; left:0; top:0; width:var(--size,7px); height:var(--size,7px); border-radius:50%; pointer-events:none; background:var(--color,#ff4fa8); box-shadow:0 0 12px var(--color,#ff4fa8), 0 0 24px rgba(255,79,168,0.32); animation: survivalParticle var(--duration,820ms) ease-out forwards; }
            .survival-particle.is-heavy { border-radius:42% 58% 46% 54%; }
            .survival-particle.is-grenade-shard { z-index:10000; border-radius:42% 58% 46% 54%; box-shadow:0 0 16px var(--color), 0 0 36px rgba(255,67,164,.34), 0 0 58px rgba(0,0,0,.46); animation: survivalGrenadeShard var(--duration,1900ms) cubic-bezier(.13,.9,.2,1) forwards; }
            .survival-blade-slash { position:fixed; z-index:10003; left:0; top:0; height:7px; border-radius:999px; pointer-events:none; transform-origin:0 50%; clip-path:polygon(0 50%, 10% 12%, 90% 12%, 100% 50%, 90% 88%, 10% 88%); background:linear-gradient(90deg, rgba(255,79,168,0), rgba(255,79,168,.88) 18%, rgba(255,238,250,.98) 48%, rgba(255,79,168,.82) 82%, rgba(255,79,168,0)); box-shadow:0 0 12px rgba(255,79,168,.92), 0 0 28px rgba(255,79,168,.5), 0 0 44px rgba(0,0,0,.36); animation: survivalBladeSlash 1500ms cubic-bezier(.12,.88,.18,1) forwards; }
            .survival-impact-ring { position:fixed; z-index:9997; left:0; top:0; width:18px; height:18px; border-radius:50%; border:2px solid rgba(255,79,168,0.96); pointer-events:none; transform:translate(-50%,-50%); box-shadow:0 0 18px rgba(255,79,168,0.9), inset 0 0 12px rgba(23,21,26,0.9); animation: survivalImpactRing 560ms ease-out forwards; }
            .survival-winner-markers { position:absolute; z-index:7; left:1.5%; right:3.4%; top:50%; height:0; pointer-events:none; }
            .survival-marker-stack { position:absolute; min-width:86px; display:flex; gap:3px; align-items:center; transform:translateY(40px); }
            .survival-marker-stack.is-player { left:180px; justify-content:flex-start; }
            .survival-marker-stack.is-com { right:180px; justify-content:flex-start; }
            .survival-marker-token { position:relative; display:inline-flex; width:28px; height:28px; align-items:center; justify-content:center; }
            .survival-marker-token.is-new::before,
            .survival-marker-token.is-new::after { content:''; position:absolute; left:50%; top:50%; width:56px; height:56px; border-radius:50%; pointer-events:none; transform:translate(-50%, -50%); }
            .survival-marker-token.is-new::before { background:radial-gradient(circle, rgba(255,73,170,.88) 0 12%, rgba(15,8,16,.92) 13% 28%, rgba(255,33,152,.46) 29% 48%, rgba(255,33,152,0) 70%); box-shadow:0 0 24px rgba(255,44,157,.95), 0 0 52px rgba(255,44,157,.48), inset 0 0 18px rgba(0,0,0,.94); animation: survivalMarkerBurstCore .72s ease-out both; }
            .survival-marker-token.is-new::after { border:2px solid rgba(255,91,184,.92); box-shadow:0 0 18px rgba(255,78,176,.9), inset 0 0 18px rgba(0,0,0,.85); animation: survivalMarkerBurstRing .78s ease-out both; }
            .survival-marker-token img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 5px 9px rgba(0,0,0,.55)); }
            .survival-marker-token.is-new img { animation: survivalMarkerIn .58s cubic-bezier(.16,.94,.24,1.18) both; filter:drop-shadow(0 0 8px rgba(255,77,178,.98)) drop-shadow(0 0 18px rgba(255,43,158,.76)) drop-shadow(0 7px 10px rgba(0,0,0,.78)); }
            .survival-revolver-wrap { position:absolute; z-index:9; left:50%; bottom:-4%; transform:translateX(-50%); width:clamp(546px, 72%, 728px); height:clamp(598px, 84%, 858px); pointer-events:none; }
            .survival-fire-button { position:absolute; z-index:12; left:50%; bottom:34px; transform:translateX(-50%); min-width:148px; height:54px; border-radius:16px; border:1px solid rgba(255,88,174,.54); background:rgba(18,15,24,.82); color:#ff9dcc; font-family:inherit; font-weight:900; font-size:18px; letter-spacing:.06em; cursor:pointer; box-shadow:0 0 20px rgba(255,67,164,.22), inset 0 0 16px rgba(255,67,164,.08); transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
            .survival-fire-button.is-ready { background:linear-gradient(135deg, #ff4fa8, #a1155f); color:#fff; box-shadow:0 0 26px rgba(255,67,164,.72), 0 0 48px rgba(255,67,164,.24); }
            .survival-fire-button.is-retry { background:linear-gradient(135deg, #ff6daf, #72224b); color:#fff; }
            .survival-fire-button.is-slash.is-ready { background:linear-gradient(135deg, #ff78c2, #24101c 56%, #08070b); color:#fff; box-shadow:0 0 30px rgba(255,67,164,.86), 0 0 70px rgba(255,67,164,.34); }
            .survival-fire-button.is-ready:hover { transform:translateX(-50%) translateY(-2px); box-shadow:0 0 34px rgba(255,67,164,.86), 0 0 62px rgba(255,67,164,.3); }
            .survival-fire-button:disabled { opacity:.42; cursor:default; }
            .survival-blade-button { position:absolute; z-index:12; left:28px; bottom:88px; min-width:118px; height:46px; border-radius:14px; border:1px solid rgba(255,88,174,.52); background:rgba(15,12,19,.82); color:#ff9dcc; font-family:inherit; font-size:14px; font-weight:900; letter-spacing:.04em; cursor:pointer; box-shadow:0 0 18px rgba(255,67,164,.2), inset 0 0 14px rgba(255,67,164,.08); transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
            .survival-blade-button.is-ready { color:#fff; border-color:rgba(255,157,217,.72); }
            .survival-blade-button.is-on { background:linear-gradient(135deg, #ff6fbe, #24101c 58%, #08070b); color:#fff; box-shadow:0 0 28px rgba(255,67,164,.82), 0 0 52px rgba(255,67,164,.3); }
            .survival-blade-button:disabled { opacity:.34; cursor:default; }
            .survival-grenade-button { position:absolute; z-index:12; left:28px; bottom:34px; min-width:118px; height:46px; border-radius:14px; border:1px solid rgba(255,88,174,.52); background:rgba(15,12,19,.82); color:#ff9dcc; font-family:inherit; font-size:14px; font-weight:900; letter-spacing:.04em; cursor:pointer; box-shadow:0 0 18px rgba(255,67,164,.2), inset 0 0 14px rgba(255,67,164,.08); transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
            .survival-grenade-button.is-ready { color:#fff; border-color:rgba(255,102,190,.72); }
            .survival-grenade-button.is-on { background:linear-gradient(135deg, #ff4fa8, #57102f); color:#fff; box-shadow:0 0 26px rgba(255,67,164,.78), 0 0 48px rgba(255,67,164,.28); }
            .survival-grenade-button:disabled { opacity:.34; cursor:default; }
            .survival-grenade-projectile { position:fixed; z-index:9998; left:0; top:0; width:90px; pointer-events:none; transform:translate(-50%,-50%) scale(.64) rotate(-18deg); filter:drop-shadow(0 0 18px rgba(255,67,164,.82)) drop-shadow(0 12px 18px rgba(0,0,0,.6)); animation: survivalGrenadeFly 980ms cubic-bezier(.18,.86,.22,1) forwards; }
            .survival-grenade-trail { position:fixed; z-index:9997; left:0; top:0; height:10px; border-radius:999px; pointer-events:none; transform-origin:0 50%; background:linear-gradient(90deg, rgba(255,57,161,.95), rgba(255,57,161,.52), rgba(255,57,161,0)); box-shadow:0 0 22px rgba(255,57,161,.95), 0 0 46px rgba(255,57,161,.5); animation: survivalGrenadeTrail 980ms ease-out forwards; }
            .survival-grenade-flash { position:fixed; z-index:9999; left:0; top:0; width:430px; height:430px; border-radius:50%; pointer-events:none; transform:translate(-50%,-50%) scale(.2); background:radial-gradient(circle, #fff 0 8%, rgba(255,240,249,.96) 9% 18%, rgba(255,67,164,.9) 19% 38%, rgba(11,7,12,.8) 39% 58%, rgba(255,67,164,.22) 59% 70%, rgba(255,67,164,0) 78%); box-shadow:0 0 90px rgba(255,255,255,.9), 0 0 160px rgba(255,67,164,.86), 0 0 240px rgba(255,67,164,.42); animation: survivalGrenadeFlash 920ms ease-out forwards; }
            .survival-grenade-smoke { position:fixed; z-index:9998; left:50%; top:50%; width:min(148vw, 1320px); height:min(92vh, 780px); pointer-events:none; transform:translate(-50%,-50%); filter:blur(.8px); animation: survivalGrenadeSmoke 420ms ease-out both; }
            .survival-smoke-puff { position:absolute; left:50%; top:55%; width:50%; aspect-ratio:1.75; border-radius:46% 54% 61% 39%; opacity:0; transform:translate(calc(-50% + var(--x, 0%)), calc(-50% + var(--y, 0%))) scale(.38) rotate(var(--r, -4deg)); transform-origin:center; background:radial-gradient(ellipse at 46% 54%, rgba(2,2,4,.99) 0 38%, rgba(11,10,14,.94) 39% 60%, rgba(48,43,52,.56) 61% 74%, rgba(255,67,164,.16) 75% 84%, rgba(0,0,0,0) 92%); box-shadow:0 0 54px rgba(0,0,0,.88), 0 0 66px rgba(255,67,164,.14); filter:blur(6px); animation: survivalSmokePuff 3.45s ease-out var(--delay, 0ms) both; }
            .survival-smoke-puff::before, .survival-smoke-puff::after { content:''; position:absolute; border-radius:inherit; background:radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.84), rgba(28,25,32,.66) 52%, transparent 78%); filter:blur(6px); }
            .survival-smoke-puff::before { inset:-18% 18% 12% -14%; transform:rotate(-12deg) scale(.9); }
            .survival-smoke-puff::after { inset:8% -16% -18% 20%; transform:rotate(16deg) scale(.78); opacity:.72; }
            .survival-smoke-puff.puff-2, .survival-smoke-puff.puff-10, .survival-smoke-puff.puff-12, .survival-smoke-puff.puff-13, .survival-smoke-puff.puff-21 { width:34%; }
            .survival-smoke-puff.puff-5, .survival-smoke-puff.puff-7, .survival-smoke-puff.puff-17, .survival-smoke-puff.puff-19 { width:58%; }
            .survival-grenade-smoke.is-clearing { animation: survivalGrenadeSmokeClear 1.75s ease forwards; }
            .survival-grenade-smoke.is-clearing .survival-smoke-puff { animation: survivalSmokePuffClear 1.75s ease forwards; }
            .survival-controls { position:relative; z-index:5; display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:14px; }
            @keyframes survivalBladeSlash { 0% { opacity:0; filter:blur(7px) brightness(1.75); } 12% { opacity:1; filter:blur(2px) brightness(1.48); } 60% { opacity:1; filter:blur(0) brightness(1.2); } 86% { opacity:.74; filter:blur(1.8px) brightness(.9); } 100% { opacity:0; filter:blur(7px) brightness(.46); } }
            @keyframes survivalGrenadeFly { 0% { opacity:0; transform:translate(-50%,-50%) scale(.62) rotate(-22deg); } 16% { opacity:1; } 100% { opacity:1; transform:translate(calc(-50% + var(--grenade-x)), calc(-50% + var(--grenade-y))) scale(.88) rotate(620deg); } }
            @keyframes survivalGrenadeTrail { 0% { opacity:0; clip-path:inset(0 100% 0 0); } 12% { opacity:1; } 82% { opacity:.86; clip-path:inset(0 0 0 0); } 100% { opacity:0; clip-path:inset(0 0 0 60%); } }
            @keyframes survivalGrenadeFlash { 0% { opacity:0; transform:translate(-50%,-50%) scale(.18); filter:brightness(1); } 14% { opacity:1; transform:translate(-50%,-50%) scale(1.08); filter:brightness(1.9); } 100% { opacity:0; transform:translate(-50%,-50%) scale(1.82); filter:brightness(.75) blur(7px); } }
            @keyframes survivalGrenadeSmoke { 0% { opacity:0; } 100% { opacity:1; } }
            @keyframes survivalSmokePuff { 0% { opacity:0; transform:translate(calc(-50% + var(--x, 0%)), calc(-32% + var(--y, 0%))) scale(.22) rotate(-8deg); } 22% { opacity:.98; } 100% { opacity:.94; transform:translate(calc(-50% + var(--x, 0%)), calc(-94% + var(--y, 0%))) scale(var(--scale, 1)) rotate(5deg); } }
            @keyframes survivalSmokePuffClear { 0% { opacity:.92; filter:blur(6px); } 42% { opacity:.7; } 72% { opacity:.34; } 100% { opacity:0; filter:blur(18px); transform:translate(calc(-50% + var(--x, 0%)), calc(-140% + var(--y, 0%))) scale(var(--scale, 1)) rotate(9deg); } }
            @keyframes survivalGrenadeSmokeClear { 0% { opacity:1; } 100% { opacity:0; } }
            @keyframes survivalDeployOpen { 0% { opacity:0; transform:scaleX(.18) scaleY(.92); } 62% { opacity:1; transform:scaleX(1.04) scaleY(1); } 100% { opacity:1; transform:scaleX(1) scaleY(1); } }
            @keyframes survivalDeployDoor { 0% { opacity:.95; transform:scaleX(1); } 100% { opacity:0; transform:scaleX(.05); } }
            @keyframes survivalDeployContentIn { 0% { opacity:0; transform:translateY(8px); } 100% { opacity:1; transform:translateY(0); } }
            @keyframes survivalCardFadeIn { 0% { opacity:0; transform:translateX(var(--fan-x, 0)) translateY(12px) scale(.82); } 100% { opacity:1; transform:translateX(0) translateY(0) scale(1); } }
            @keyframes survivalTurnNoticeIn { 0% { opacity:0; transform:scale(.78); } 72% { opacity:1; transform:scale(1.04); } 100% { opacity:1; transform:scale(1); } }
            @keyframes survivalStarterNoticeIn { 0% { opacity:0; transform:translate(-50%, -50%) scale(.78); } 72% { opacity:1; transform:translate(-50%, -50%) scale(1.04); } 100% { opacity:1; transform:translate(-50%, -50%) scale(1); } }
            @keyframes survivalFieldFadeIn { 0% { opacity:0; filter:blur(3px); } 100% { opacity:1; filter:blur(0); } }
            @keyframes survivalFieldFadeOut { 0% { opacity:1; filter:blur(0); } 100% { opacity:0; filter:blur(4px); } }
            @keyframes survivalGunFadeIn { 0% { opacity:0; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(34px) scale(.98); } 100% { opacity:1; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(0) scale(1); } }
            @keyframes survivalGunFadeOut { 0% { opacity:1; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(0) scale(1); } 100% { opacity:0; transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(42px) scale(.98); } }
            @keyframes survivalGunFire { 0% { transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(0) scale(1); } 14% { transform:translateX(calc(-50% + var(--gun-aim-x, 0px) - 2px)) translateY(88px) scale(1.07); } 30% { transform:translateX(calc(-50% + var(--gun-aim-x, 0px) + 2px)) translateY(46px) scale(1.035); } 58% { transform:translateX(calc(-50% + var(--gun-aim-x, 0px) - 1px)) translateY(-12px) scale(1.01); } 100% { transform:translateX(calc(-50% + var(--gun-aim-x, 0px))) translateY(0) scale(1); } }
            @keyframes survivalParticle { 0% { opacity:1; transform:translate(0,0) scale(1) rotate(0deg); } 100% { opacity:0; transform:translate(var(--tx), var(--ty)) scale(.18) rotate(var(--rot, 180deg)); } }
            @keyframes survivalGrenadeShard { 0% { opacity:0; transform:translate(0,0) scale(.42) rotate(0deg); filter:brightness(1.85); } 10% { opacity:1; transform:translate(calc(var(--tx) * .68), calc(var(--ty) * .68)) scale(1.22) rotate(calc(var(--rot, 180deg) * .55)); filter:brightness(1.55); } 58% { opacity:.96; transform:translate(var(--tx), var(--ty)) scale(1) rotate(var(--rot, 180deg)); filter:brightness(1); } 100% { opacity:0; transform:translate(var(--tx), var(--ty)) scale(.2) rotate(var(--rot, 180deg)); filter:brightness(.72) blur(2px); } }
            @keyframes survivalImpactRing { 0% { opacity:.98; width:20px; height:20px; } 100% { opacity:0; width:196px; height:196px; border-width:1px; } }
            @keyframes survivalSmokeRise { 0% { opacity:0; transform:translate(0,10px) scale(.5); } 35% { opacity:.8; } 100% { opacity:0; transform:translate(var(--sx, 0), -58px) scale(1.8); } }
            @keyframes survivalStatusPop { 0% { transform:translate(-50%,-50%) scale(.84); opacity:.2; } 100% { transform:translate(-50%,-50%) scale(1); opacity:1; } }
            @keyframes survivalBrokenStars {
                0% { opacity:0; transform:translateY(-50%) scale(.28) rotate(var(--survival-broken-rotate, 0deg)); filter:blur(3px); }
                18% { opacity:1; transform:translateY(-50%) scale(.86) rotate(var(--survival-broken-rotate, 0deg)); filter:blur(0); }
                58% { opacity:1; transform:translateY(-50%) scale(1.08) rotate(var(--survival-broken-rotate, 0deg)); }
                100% { opacity:0; transform:translateY(-50%) scale(1.34) rotate(var(--survival-broken-rotate, 0deg)); filter:blur(2px); }
            }
            @keyframes survivalMarkerIn {
                0% { opacity:0; transform:translateY(12px) scale(.42) rotate(-16deg); filter:brightness(.55) drop-shadow(0 0 0 rgba(255,77,178,0)); }
                42% { opacity:1; transform:translateY(-5px) scale(1.46) rotate(8deg); filter:brightness(1.85) drop-shadow(0 0 14px rgba(255,77,178,1)) drop-shadow(0 0 30px rgba(255,43,158,.8)); }
                72% { transform:translateY(2px) scale(.92) rotate(-3deg); }
                100% { opacity:1; transform:translateY(0) scale(1) rotate(0); }
            }
            @keyframes survivalMarkerBurstCore {
                0% { opacity:0; transform:translate(-50%, -50%) scale(.22) rotate(0deg); filter:brightness(.75); }
                28% { opacity:1; transform:translate(-50%, -50%) scale(1.04) rotate(35deg); filter:brightness(1.6); }
                100% { opacity:0; transform:translate(-50%, -50%) scale(1.72) rotate(120deg); filter:brightness(.9); }
            }
            @keyframes survivalMarkerBurstRing {
                0% { opacity:0; transform:translate(-50%, -50%) scale(.36); }
                24% { opacity:.95; }
                100% { opacity:0; transform:translate(-50%, -50%) scale(2.05); }
            }
            @keyframes survivalDefenceDrain {
                0%, 12%, 24%, 36%, 48%, 60%, 72%, 84% { opacity:1; transform:skewX(var(--survival-life-skew, -14deg)) scaleX(1); filter:brightness(1.85); box-shadow:0 0 20px rgba(255,65,158,.98), 0 0 34px rgba(255,65,158,.55), inset 0 0 7px rgba(255,255,255,.62); }
                6%, 18%, 30%, 42%, 54%, 66%, 78%, 90% { opacity:.18; transform:skewX(var(--survival-life-skew, -14deg)) scaleX(.92); filter:brightness(.55); box-shadow:inset 0 0 5px rgba(0,0,0,.55); }
                96% { opacity:.12; transform:skewX(var(--survival-life-skew, -14deg)) scaleX(.68); filter:brightness(.45); }
                100% { opacity:0; transform:skewX(var(--survival-life-skew, -14deg)) scaleX(.42); filter:brightness(.3); }
            }
            @media (max-width: 720px) {
                .survival-play-shell { padding: 12px; }
                .survival-play-head { min-height:58px; justify-content:center; }
                .survival-title-block { width:auto; max-width:calc(100% - 98px); margin:0 auto; transform:translateY(-9px); }
                .survival-play-title { font-size:20px; white-space:nowrap; letter-spacing:0; }
                .survival-play-sub { font-size:9.6px; white-space:nowrap; }
                .survival-turn-badge { top:90%; right:-10px; min-width:81px; padding:8px 10px 8px 19px; font-size:8.5px; }
                .survival-music-control.is-arena { display:none; }
                .survival-music-control.is-head { display:flex; top:24%; right:2px; transform:translateY(-50%); }
                .survival-music-control.is-head .survival-volume-panel { top:calc(100% + 7px); bottom:auto; right:0; width:168px; padding:9px 11px; }
                .survival-music-btn { min-width:54px; height:26px; padding:0 7px; gap:3px; font-size:8.5px; }
                .survival-music-text { display:none; }
                .survival-music-icon { font-size:10px; }
                .survival-ammo-badge { top:90%; left:-10px; min-width:81px; padding:8px 19px 8px 12px; font-size:8.5px; gap:4px; }
                .survival-ammo-track { gap:3px; min-width:36px; }
                .survival-ammo-icon { width:5.7px; height:11px; }
                .survival-arena { min-height: 600px; }
                .survival-turn-card { min-width: 220px; max-width: 82%; padding: 18px 22px; }
                .survival-turn-card strong { font-size: 22px; }
                .survival-arena-top { left:1%; right:1%; top:50%; gap:6px; }
                .survival-side-panel { width: 99px; min-height: 34px; padding: 5px 6px 5px; border-radius:8px; }
                .survival-field-row { left:50%; right:auto; width:auto; transform:translateX(-50%); justify-content:center; gap:1px; }
                .survival-field-row.is-com { top: 24%; }
                .survival-field-row.is-player { bottom: 26%; }
                .survival-barrier-card { flex-basis:clamp(74px, 18vw, 120px); width:clamp(74px, 18vw, 120px); min-width:0; max-width:none; margin:0 clamp(-24px, -4.6vw, -12px); --barrier-visual-scale:1.20; }
                .survival-barrier-card img { transform:scale(var(--barrier-visual-scale, 1)) rotate(var(--barrier-rotate, 0deg)); }
                .survival-barrier-hitbox { left:34%; right:34%; top:27%; bottom:27%; }
                .survival-revealed-digit { min-width:16px; height:16px; font-size:9px; top:35%; box-shadow:0 0 16px rgba(255, 67, 164, 0.84), 0 0 26px rgba(255, 67, 164, 0.3); }
                .survival-field-row.is-player .survival-revealed-digit { bottom:35%; }
                .survival-broken-label { padding:4px 8px; border-radius:7px; font-size:10.8px; letter-spacing:0.03em; }
                .survival-cylinder-panel { right: -8px; bottom: 18px; width: 116px; height:116px; }
                .survival-bullet-button { width:20px; height:20px; font-size:10px; }
                .survival-load-button { top:-14px; min-width:62px; height:24px; font-size:10px; }
                .survival-bullet-button.slot-0 { left:34px; top:38px; }
                .survival-bullet-button.slot-1 { right:34px; top:38px; }
                .survival-bullet-button.slot-2 { left:34px; bottom:32px; }
                .survival-bullet-button.slot-3 { right:34px; bottom:32px; }
                .survival-revolver-wrap { bottom: -2%; width: min(78vw, 374px); height: min(94vw, 447px); }
                .survival-gun { width: 100%; bottom: 0; }
                .survival-fire-button { left:50%; bottom:24px; min-width:92px; height:38px; border-radius:12px; font-size:13px; transform:translateX(-50%); }
                .survival-blade-button { left:10px; bottom:64px; min-width:78px; height:32px; border-radius:11px; font-size:10px; }
                .survival-grenade-button { left:10px; bottom:24px; min-width:78px; height:34px; border-radius:11px; font-size:10px; }
                .survival-gun.is-grenade { width:32%; bottom:8%; }
                .survival-gun.is-blade { width:58%; bottom:32%; }
                .survival-grenade-projectile { width:58px; }
                .survival-grenade-flash { width:300px; height:300px; }
                .survival-center-status { top: 8%; min-width: 220px; max-width: 82%; font-size: 12px; }
                .survival-center-status.is-broken-pop::before,
                .survival-center-status.is-broken-pop::after { width:42px; height:30px; font-size:15px; }
                .survival-center-status.is-broken-pop::before { left:10px; }
                .survival-center-status.is-broken-pop::after { right:10px; }
                .survival-setup-stage { min-height: 620px; padding: 70px 8px 20px; }
                .survival-deploy-panel { width: 98%; padding: 12px 8px; }
                .survival-setup-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; }
                .survival-front-card { width: min(96px, 100%); }
                .survival-setup-card-name { top: 8%; font-size: 8px; max-height:1.2em; white-space:nowrap; display:block; -webkit-line-clamp:unset; }
                .survival-setup-card-name .survival-name-full { display:none; }
                .survival-setup-card-name .survival-name-mobile { display:inline; }
                .survival-setup-card-meta { font-size: 12px; bottom: 12%; }
                .survival-front-portrait { top:47%; width: 45%; height: 32%; }
                .survival-side-panel h4 { font-size:9px; margin-bottom:3px; }
                .survival-defence { gap:3px; }
                .survival-defence span { height:6px; }
                .survival-winner-markers { top:50%; left:0; right:0; }
                .survival-marker-stack { min-width:58px; gap:2px; transform:translateY(22px); }
                .survival-marker-stack.is-player { left:18%; justify-content:flex-start; }
                .survival-marker-stack.is-com { right:18%; justify-content:flex-start; }
                .survival-marker-token { width:20px; height:20px; }
                .survival-marker-token.is-new::before,
                .survival-marker-token.is-new::after { width:44px; height:44px; }
            }
        
    #boardgame-classic-section .boardgame-guide-music-head,
    #boardgame-relic-section .boardgame-guide-music-head {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr) 112px;
        align-items: center;
        gap: 14px 16px;
    }
    .boardgame-guide-music-head > h2 {
        grid-column: 2;
        grid-row: 1;
        margin: 0;
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .boardgame-guide-music-head > .classic-guide-music-row,
    .boardgame-guide-music-head > .relic-guide-music-slot {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
    }
    .boardgame-guide-music-head > p {
        grid-column: 1 / -1;
        margin: 0;
    }
    @media (max-width: 600px) {
        #boardgame-classic-section .boardgame-guide-music-head,
        #boardgame-relic-section .boardgame-guide-music-head {
            grid-template-columns: minmax(0, 1fr);
            column-gap: 8px;
        }
        .boardgame-guide-music-head > h2 {
            grid-column: 1;
        }
        .boardgame-guide-music-head > .classic-guide-music-row,
        .boardgame-guide-music-head > .relic-guide-music-slot {
            grid-column: 1;
            grid-row: 2;
        }
        #boardgame-classic-section .boardgame-guide-music-head h2,
        #boardgame-relic-section .boardgame-guide-music-head h2 {
            font-size: 22px;
        }
    }
