/* /Components/Account/Pages/Login.razor.rz.scp.css */
/* 기본 스타일 설정 */
body[b-wsx9qci7jk] {
    font-family: 'Arial', sans-serif;
}



button[b-wsx9qci7jk] {
    transition: background-color 0.3s ease;
}

/* 반응형 디자인 */
@media (max-width: 640px) {
    .max-w-md[b-wsx9qci7jk] {
        width: 100%;
    }
}

/* LINE 로그인 버튼 그룹 */
.space-y-3 > form + form[b-wsx9qci7jk] {
    margin-top: 0.75rem;
}

/* LINE 앱 버튼 (초록색 배경) */
button[class*="bg-[#06C755]"][b-wsx9qci7jk] {
    position: relative;
    overflow: hidden;
}

    button[class*="bg-[#06C755]"][b-wsx9qci7jk]::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
        transition: left 0.5s;
    }

    button[class*="bg-[#06C755]"]:hover[b-wsx9qci7jk]::before {
        left: 100%;
    }

/* LINE 웹 버튼 (흰색 배경) */
button[class*="bg-white"][b-wsx9qci7jk] {
    box-shadow: 0 2px 8px rgba(6, 199, 85, 0.15);
}

    button[class*="bg-white"]:hover[b-wsx9qci7jk] {
        box-shadow: 0 4px 12px rgba(6, 199, 85, 0.25);
    }

/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar[b-gaum46vrn8] {
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}

    .navbar.scrolled[b-gaum46vrn8] {
        background: rgba(255, 255, 255, 0.95);
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }

.nav-link[b-gaum46vrn8] {
    position: relative;
    transition: all 0.3s ease;
}

    .nav-link[b-gaum46vrn8]::after {
        content: '';
        position: absolute;
        bottom: -2px;
        left: 50%;
        transform: translateX(-50%) scaleX(0);
        width: 100%;
        height: 3px;
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        border-radius: 2px;
        transition: transform 0.3s ease;
    }

    .nav-link:hover[b-gaum46vrn8]::after,
    .nav-link.active[b-gaum46vrn8]::after {
        transform: translateX(-50%) scaleX(1);
    }

.mobile-menu[b-gaum46vrn8] {
    transform: translateX(100%);
    transition: transform 0.3s ease;
}

    .mobile-menu.open[b-gaum46vrn8] {
        transform: translateX(0);
    }

.dropdown[b-gaum46vrn8] {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

.dropdown-trigger:hover .dropdown[b-gaum46vrn8] {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* 언어 선택 스타일 */
.language-selector[b-gaum46vrn8] {
    position: relative;
    display: inline-block;
}

/* ✅ PC 언어 선택 */
.language-select-desktop[b-gaum46vrn8] {
    appearance: none;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    border-radius: 12px;
    color: white;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.75rem 2.75rem 0.75rem 1.25rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
    min-width: 80px;
}

    .language-select-desktop:hover[b-gaum46vrn8] {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
        background: linear-gradient(135deg, #5568d3 0%, #6a3f8f 100%);
    }

    .language-select-desktop:focus[b-gaum46vrn8] {
        outline: none;
        box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.2), 0 6px 20px rgba(102, 126, 234, 0.4);
    }

    .language-select-desktop:active[b-gaum46vrn8] {
        transform: translateY(0);
    }

/* PC Select 화살표 */
.language-selector[b-gaum46vrn8]::after {
    content: '';
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid white;
    transition: transform 0.3s ease;
}

.language-selector:hover[b-gaum46vrn8]::after {
    transform: translateY(-40%);
}

/* PC Option 스타일 */
.language-select-desktop option[b-gaum46vrn8] {
    background: white;
    color: #333;
    padding: 0.75rem;
    font-weight: 500;
}

/* ✅ 모바일 언어 선택 */
.mobile-language-select[b-gaum46vrn8] {
    appearance: none;
    width: 100%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    border-radius: 12px;
    color: white;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    padding: 1rem 3rem 1rem 1.25rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='white' d='M7 10L2 5h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 14px;
}

    .mobile-language-select:hover[b-gaum46vrn8] {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
    }

    .mobile-language-select:focus[b-gaum46vrn8] {
        outline: none;
        box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.2), 0 6px 20px rgba(102, 126, 234, 0.4);
    }

    .mobile-language-select:active[b-gaum46vrn8] {
        transform: translateY(0);
    }

    /* 모바일 Option 스타일 */
    .mobile-language-select option[b-gaum46vrn8] {
        background: white;
        color: #333;
        padding: 1rem;
        font-weight: 500;
        font-size: 1rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-vwiatmudse],
.components-reconnect-repeated-attempt-visible[b-vwiatmudse],
.components-reconnect-failed-visible[b-vwiatmudse],
.components-pause-visible[b-vwiatmudse],
.components-resume-failed-visible[b-vwiatmudse],
.components-rejoining-animation[b-vwiatmudse] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-vwiatmudse],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-vwiatmudse],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-vwiatmudse],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-vwiatmudse],
#components-reconnect-modal.components-reconnect-retrying[b-vwiatmudse],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-vwiatmudse],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-vwiatmudse],
#components-reconnect-modal.components-reconnect-failed[b-vwiatmudse],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-vwiatmudse] {
    display: block;
}


#components-reconnect-modal[b-vwiatmudse] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-vwiatmudse 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-vwiatmudse 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-vwiatmudse 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-vwiatmudse]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-vwiatmudse 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-vwiatmudse {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-vwiatmudse {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-vwiatmudse {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-vwiatmudse] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-vwiatmudse] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-vwiatmudse] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-vwiatmudse] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-vwiatmudse] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-vwiatmudse] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-vwiatmudse] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-vwiatmudse 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-vwiatmudse] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-vwiatmudse {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Modals/ArcheryTimer.razor.rz.scp.css */
/* ── 트리거 버튼 ────────────────────────────────────── */
.timer-trigger-btn[b-3jem8egsde] {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* ══════════════════════════════════════════════════════
   전체화면
══════════════════════════════════════════════════════ */
.timer-fullscreen[b-3jem8egsde] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    transition: background 0.5s ease;
    touch-action: none;
}

/* ── 페이즈별 배경 ──────────────────────────────────── */
.phase-idle[b-3jem8egsde] {
    background: linear-gradient(160deg, #1e1b4b 0%, #312e81 100%);
}

.phase-green[b-3jem8egsde] {
    background: linear-gradient(160deg, #052e16 0%, #16a34a 100%);
}

.phase-red[b-3jem8egsde] {
    background: linear-gradient(160deg, #450a0a 0%, #dc2626 100%);
    animation: pulseBg-b-3jem8egsde 1s ease-in-out infinite alternate;
}

.phase-yellow[b-3jem8egsde] {
    background: linear-gradient(160deg, #451a03 0%, #d97706 100%);
    animation: pulseBg-b-3jem8egsde 0.7s ease-in-out infinite alternate;
}

@keyframes pulseBg-b-3jem8egsde {
    from {
        filter: brightness(1);
    }

    to {
        filter: brightness(1.18);
    }
}

/* ── 상단 바 ────────────────────────────────────────── */
.timer-topbar[b-3jem8egsde] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    padding-top: max(1rem, env(safe-area-inset-top));
}

.timer-phase-label[b-3jem8egsde] {
    font-size: 1rem;
    font-weight: 800;
    color: white;
    letter-spacing: 0.05em;
}

.timer-icon-btn[b-3jem8egsde] {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.25);
    transition: background 0.2s, transform 0.15s;
}

    .timer-icon-btn:hover[b-3jem8egsde] {
        background: rgba(255,255,255,0.28);
    }

    .timer-icon-btn:active[b-3jem8egsde] {
        transform: scale(0.92);
    }

/* ══════════════════════════════════════════════════════
   설정 패널
══════════════════════════════════════════════════════ */
.timer-settings-panel[b-3jem8egsde] {
    width: calc(100% - 2.5rem);
    max-width: 400px;
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 1.25rem;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    animation: slideDown-b-3jem8egsde 0.25s ease-out;
}

@keyframes slideDown-b-3jem8egsde {
    from {
        opacity: 0;
        transform: translateY(-12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.settings-title[b-3jem8egsde] {
    font-size: 0.875rem;
    font-weight: 800;
    color: white;
    text-align: center;
    letter-spacing: 0.04em;
    margin-bottom: 0.125rem;
}

.settings-row[b-3jem8egsde] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.settings-label[b-3jem8egsde] {
    font-size: 0.8rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.85);
    white-space: nowrap;
}

/* ── 스테퍼 ─────────────────────────────────────────── */
.settings-stepper[b-3jem8egsde] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 9999px;
    padding: 0.25rem 0.5rem;
}

.stepper-btn[b-3jem8egsde] {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    color: white;
    font-size: 1.25rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, transform 0.1s;
    line-height: 1;
}

    .stepper-btn:hover:not(:disabled)[b-3jem8egsde] {
        background: rgba(255,255,255,0.35);
    }

    .stepper-btn:active:not(:disabled)[b-3jem8egsde] {
        transform: scale(0.9);
    }

    .stepper-btn:disabled[b-3jem8egsde] {
        opacity: 0.3;
        cursor: not-allowed;
    }

.stepper-value[b-3jem8egsde] {
    font-size: 0.875rem;
    font-weight: 800;
    color: white;
    min-width: 4rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

/* ── 프리셋 ─────────────────────────────────────────── */
.settings-preset-title[b-3jem8egsde] {
    font-size: 0.7rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 0.25rem;
}

.settings-presets[b-3jem8egsde] {
    display: flex;
    gap: 0.5rem;
}

.preset-btn[b-3jem8egsde] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    padding: 0.5rem 0.25rem;
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: background 0.15s, transform 0.1s;
}

    .preset-btn:hover[b-3jem8egsde] {
        background: rgba(255,255,255,0.22);
    }

    .preset-btn:active[b-3jem8egsde] {
        transform: scale(0.96);
    }

.preset-name[b-3jem8egsde] {
    font-size: 0.8rem;
    font-weight: 800;
    color: white;
}

.preset-desc[b-3jem8egsde] {
    font-size: 0.65rem;
    font-weight: 600;
    color: rgba(255,255,255,0.6);
}

/* ── 중앙 바디 ──────────────────────────────────────── */
.timer-body[b-3jem8egsde] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    width: 100%;
    padding: 1rem;
}

/* ── 원형 프로그레스 ────────────────────────────────── */
.timer-ring-wrapper[b-3jem8egsde] {
    position: relative;
    width: min(72vw, 320px);
    height: min(72vw, 320px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.timer-ring-svg[b-3jem8egsde] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.timer-ring-track[b-3jem8egsde] {
    fill: none;
    stroke: rgba(255,255,255,0.15);
    stroke-width: 10;
}

.timer-ring-progress[b-3jem8egsde] {
    fill: none;
    stroke-width: 10;
    stroke-linecap: round;
    transition: stroke-dashoffset 1s linear, stroke 0.5s ease;
}

.ring-idle[b-3jem8egsde] {
    stroke: #a5b4fc;
}

.ring-red[b-3jem8egsde] {
    stroke: #fca5a5;
}

.ring-green[b-3jem8egsde] {
    stroke: #86efac;
}

.ring-yellow[b-3jem8egsde] {
    stroke: #fde68a;
}

/* ── 숫자 ───────────────────────────────────────────── */
.timer-number-overlay[b-3jem8egsde] {
    position: relative;
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
    color: white;
}

.timer-number[b-3jem8egsde] {
    font-size: clamp(4.5rem, 18vw, 7rem);
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    text-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.timer-number-warning[b-3jem8egsde] {
    animation: numberPulse-b-3jem8egsde 0.45s ease-in-out infinite alternate;
}

@keyframes numberPulse-b-3jem8egsde {
    from {
        opacity: 1;
        transform: scale(1);
    }

    to {
        opacity: 0.7;
        transform: scale(1.06);
    }
}

.timer-unit[b-3jem8egsde] {
    font-size: clamp(1.25rem, 5vw, 2rem);
    font-weight: 700;
    color: rgba(255,255,255,0.7);
}

.timer-status-text[b-3jem8egsde] {
    font-size: clamp(0.875rem, 3.5vw, 1.125rem);
    font-weight: 600;
    color: rgba(255,255,255,0.8);
    text-align: center;
}

/* ══════════════════════════════════════════════════════
   컨트롤 버튼 — 아이콘 전용 원형
══════════════════════════════════════════════════════ */
.timer-controls[b-3jem8egsde] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
}

/* 공통 베이스 */
.ctrl-btn[b-3jem8egsde] {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s, filter 0.15s;
    box-shadow: 0 6px 20px rgba(0,0,0,0.35);
    flex-shrink: 0;
}

    .ctrl-btn:active[b-3jem8egsde] {
        transform: scale(0.92);
    }

    .ctrl-btn svg[b-3jem8egsde] {
        width: 100%;
        height: 100%;
        padding: 22%;
    }
/* 아이콘 내부 여백 */

/* ── 크기 3단계 ── */
.ctrl-btn-lg[b-3jem8egsde] { /* 종료 / 시작 / 재개 */
    width: 5rem;
    height: 5rem;
}

.ctrl-btn-md[b-3jem8egsde] { /* 정지 */
    width: 3.75rem;
    height: 3.75rem;
}

.ctrl-btn-sm[b-3jem8egsde] { /* 초기화 */
    width: 2.75rem;
    height: 2.75rem;
}

/* ── 색상 ── */
.ctrl-btn-start[b-3jem8egsde] {
    background: white;
    color: #1e1b4b;
}

    .ctrl-btn-start:hover[b-3jem8egsde] {
        filter: brightness(0.94);
    }

.ctrl-btn-finish[b-3jem8egsde] {
    background: white;
    color: #7c3aed;
}

    .ctrl-btn-finish:hover[b-3jem8egsde] {
        filter: brightness(0.94);
    }

.ctrl-btn-pause[b-3jem8egsde] {
    background: rgba(255,255,255,0.22);
    color: white;
    border: 2px solid rgba(255,255,255,0.4) !important;
}

    .ctrl-btn-pause:hover[b-3jem8egsde] {
        background: rgba(255,255,255,0.32);
    }

.ctrl-btn-reset[b-3jem8egsde] {
    background: rgba(255,255,255,0.14);
    color: rgba(255,255,255,0.75);
    border: 1.5px solid rgba(255,255,255,0.25) !important;
}

    .ctrl-btn-reset:hover[b-3jem8egsde] {
        background: rgba(255,255,255,0.22);
    }

/* ── 하단 정보 바 ───────────────────────────────────── */
.timer-footer[b-3jem8egsde] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem 2rem;
    padding-bottom: max(1.25rem, env(safe-area-inset-bottom));
    background: rgba(0,0,0,0.2);
    backdrop-filter: blur(8px);
}

.timer-footer-item[b-3jem8egsde] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}

.timer-footer-label[b-3jem8egsde] {
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(255,255,255,0.55);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.timer-footer-value[b-3jem8egsde] {
    font-size: 0.9rem;
    font-weight: 800;
    color: rgba(255,255,255,0.9);
}

.timer-footer-divider[b-3jem8egsde] {
    width: 1px;
    height: 2rem;
    background: rgba(255,255,255,0.2);
    margin: 0 0.5rem;
}

/* ── 카메라 미리보기 ────────────────────────────────── */
.camera-preview-wrapper[b-3jem8egsde] {
    position: absolute;
    top: 64px;
    right: 16px;
    width: 120px;
    height: 160px;
    border-radius: 16px;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,0.4);
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
    background: #111;
    z-index: 10;
    transition: all 0.3s ease;
}

@media (min-width: 768px) {
    .camera-preview-wrapper[b-3jem8egsde] {
        width: 180px;
        height: 240px;
        top: 72px;
        right: 24px;
    }
}

.camera-preview-video[b-3jem8egsde] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scaleX(-1);
}

.camera-preview-overlay[b-3jem8egsde] {
    position: absolute;
    bottom: 6px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
}

.camera-rec-badge[b-3jem8egsde] {
    background: rgba(239,68,68,0.85);
    color: white;
    font-size: 10px;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 999px;
    letter-spacing: 0.05em;
    animation: pulse-b-3jem8egsde 1s infinite;
}

.camera-standby-badge[b-3jem8egsde] {
    background: rgba(0,0,0,0.5);
    color: rgba(255,255,255,0.7);
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 999px;
}

.camera-preview-loading[b-3jem8egsde],
.camera-preview-error[b-3jem8egsde] {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── 토글 스위치 ────────────────────────────────────── */
.toggle-btn[b-3jem8egsde] {
    position: relative;
    width: 48px;
    height: 26px;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    transition: background 0.3s;
    flex-shrink: 0;
}

.toggle-on[b-3jem8egsde] {
    background: #a855f7;
}

.toggle-off[b-3jem8egsde] {
    background: #d1d5db;
}

.toggle-thumb[b-3jem8egsde] {
    position: absolute;
    top: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: white;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
    transition: left 0.3s;
}

.toggle-thumb-on[b-3jem8egsde] {
    left: 25px;
}

.toggle-thumb-off[b-3jem8egsde] {
    left: 3px;
}

/* ── 설정 구분선 ────────────────────────────────────── */
.settings-divider[b-3jem8egsde] {
    height: 1px;
    background: rgba(255,255,255,0.15);
    margin: 8px 0;
}

.settings-sublabel[b-3jem8egsde] {
    font-size: 10px;
    color: rgba(255,255,255,0.55);
    margin-top: 2px;
}

/* ── 녹화 품질 버튼 ─────────────────────────────────── */
.quality-btn[b-3jem8egsde] {
    padding: 3px 10px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    border: 1.5px solid rgba(255,255,255,0.3);
    color: rgba(255,255,255,0.7);
    background: transparent;
    cursor: pointer;
    transition: all 0.2s;
}

.quality-btn-active[b-3jem8egsde] {
    background: rgba(255,255,255,0.2);
    border-color: white;
    color: white;
}

@keyframes pulse-b-3jem8egsde {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.4;
    }
}

/* ── 업로드 결과 토스트 ─────────────────────────────── */
.upload-toast[b-3jem8egsde] {
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    z-index: 20;
    box-shadow: 0 4px 16px rgba(0,0,0,0.3);
    animation: slideUp-b-3jem8egsde 0.3s ease;
}

.upload-toast-success[b-3jem8egsde] {
    background: rgba(34,197,94,0.9);
    color: white;
}

.upload-toast-error[b-3jem8egsde] {
    background: rgba(239,68,68,0.9);
    color: white;
}

.toast-link[b-3jem8egsde] {
    background: rgba(255,255,255,0.25);
    padding: 2px 8px;
    border-radius: 6px;
    text-decoration: none;
    color: white;
}

@keyframes slideUp-b-3jem8egsde {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

/* ── 앨범 선택 드롭다운 ─────────────────────────────── */
.settings-select[b-3jem8egsde] {
    width: 100%;
    margin-top: 6px;
    padding: 6px 10px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.25);
    background: rgba(255,255,255,0.1);
    color: white;
    font-size: 12px;
    outline: none;
}

    .settings-select option[b-3jem8egsde] {
        background: #4c1d95;
        color: white;
    }



/* 카메라 전체화면 모드 */
.camera-fullscreen[b-3jem8egsde] {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #000;
    border-radius: 0 !important;
}

    .camera-fullscreen .camera-preview-video[b-3jem8egsde] {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain;
    }

/* 전체화면 토글 버튼 */
.camera-fullscreen-btn[b-3jem8egsde] {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: 1px solid rgba(255,255,255,0.2);
    backdrop-filter: blur(4px);
    transition: background 0.2s;
}

    .camera-fullscreen-btn:hover[b-3jem8egsde] {
        background: rgba(0, 0, 0, 0.75);
    }

/* /Components/Modals/PracticeCreateModal.razor.rz.scp.css */
/* ── 모달 배경 오버레이 ─────────────────────────────── */
.modal[b-qv2fxcswp3] {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(4px);
}

    .modal.show[b-qv2fxcswp3] {
        display: flex;
        animation: fadeIn-b-qv2fxcswp3 0.2s ease;
    }

/* ── 모달 컨텐츠 박스 ──────────────────────────────── */
.modal-content[b-qv2fxcswp3] {
    animation: slideUp-b-qv2fxcswp3 0.3s ease;
    max-height: 90vh;
    overflow-y: auto;
}

/* ── 모달 헤더 그라디언트 ──────────────────────────── */
.gradient-bg[b-qv2fxcswp3] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* ── 닫기 버튼 3D 효과 ─────────────────────────────── */
.icon-3d[b-qv2fxcswp3] {
    transition: all 0.2s ease;
}

    .icon-3d:hover[b-qv2fxcswp3] {
        transform: scale(1.1) rotate(5deg);
    }

/* ── 제출 버튼 3D 효과 ─────────────────────────────── */
.button-3d[b-qv2fxcswp3] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .button-3d:hover[b-qv2fxcswp3] {
        transform: translateY(-3px) rotateX(10deg);
        box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
    }

    .button-3d:active[b-qv2fxcswp3] {
        transform: translateY(0) rotateX(0);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
    }

/* ── 애니메이션 ────────────────────────────────────── */
@keyframes fadeIn-b-qv2fxcswp3 {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp-b-qv2fxcswp3 {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}
/* /Components/Modals/ScorePad.razor.rz.scp.css */
/* ── 점수 버튼 공통 ─────────────────────────────────── */
.score-btn[b-7zy5doclsq] {
    min-height: 55px;
}

/* ── 양궁 표적지 색상 ───────────────────────────────── */
.score-x10[b-7zy5doclsq] {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #000;
    border-color: #FFD700;
}

.score-10[b-7zy5doclsq] {
    background: linear-gradient(135deg, #FFEB3B 0%, #FDD835 100%);
    color: #000;
    border-color: #FFEB3B;
}

.score-9[b-7zy5doclsq] {
    background: linear-gradient(135deg, #FFF59D 0%, #FFF176 100%);
    color: #000;
    border-color: #FFF59D;
}

.score-8[b-7zy5doclsq] {
    background: linear-gradient(135deg, #F44336 0%, #E53935 100%);
    color: white;
    border-color: #F44336;
}

.score-7[b-7zy5doclsq] {
    background: linear-gradient(135deg, #EF5350 0%, #E57373 100%);
    color: white;
    border-color: #EF5350;
}

.score-6[b-7zy5doclsq] {
    background: linear-gradient(135deg, #2196F3 0%, #1E88E5 100%);
    color: white;
    border-color: #2196F3;
}

.score-5[b-7zy5doclsq] {
    background: linear-gradient(135deg, #42A5F5 0%, #64B5F6 100%);
    color: white;
    border-color: #42A5F5;
}

.score-4[b-7zy5doclsq] {
    background: linear-gradient(135deg, #424242 0%, #616161 100%);
    color: white;
    border-color: #424242;
}

.score-3[b-7zy5doclsq] {
    background: linear-gradient(135deg, #616161 0%, #757575 100%);
    color: white;
    border-color: #616161;
}

.score-2[b-7zy5doclsq] {
    background: linear-gradient(135deg, #FAFAFA 0%, #F5F5F5 100%);
    color: #000;
    border-color: #E0E0E0;
}

.score-1[b-7zy5doclsq] {
    background: linear-gradient(135deg, #FFFFFF 0%, #FAFAFA 100%);
    color: #000;
    border-color: #BDBDBD;
}

.score-miss[b-7zy5doclsq] {
    background: linear-gradient(135deg, #9E9E9E 0%, #757575 100%);
    color: white;
    border-color: #9E9E9E;
}

/* ── 반응형 ─────────────────────────────────────────── */
@media (min-width: 640px) {
    .score-btn[b-7zy5doclsq] {
        min-height: 70px;
    }
}

@media (min-width: 1024px) {
    .score-btn[b-7zy5doclsq] {
        min-height: 80px;
    }

    .score-pad-container[b-7zy5doclsq] {
        max-width: 600px;
        margin: 0 auto;
    }
}

@media (min-width: 1536px) {
    .score-pad-container[b-7zy5doclsq] {
        max-width: 700px;
    }
}
/* /Components/Pages/Competition.razor.rz.scp.css */
.competition-root[b-txxf8izzbi] {
    font-family: 'Noto Sans KR', sans-serif;
}

.gradient-bg[b-txxf8izzbi] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.card-hover[b-txxf8izzbi] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .card-hover:hover[b-txxf8izzbi] {
        transform: translateY(-8px) rotateX(2deg);
        box-shadow: 0 20px 40px rgba(0,0,0,0.15);
    }

.competition-img[b-txxf8izzbi] {
    background-size: cover;
    background-position: center;
    height: 250px;
    position: relative;
}

    .competition-img[b-txxf8izzbi]::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.6) 100%);
    }

.hero-pattern[b-txxf8izzbi] {
    background-image: linear-gradient(135deg, rgba(102, 126, 234, 0.95) 0%, rgba(118, 75, 162, 0.95) 100%), url('https://images.unsplash.com/photo-1596464716127-f2a82984de30?w=1600&q=80');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.icon-3d[b-txxf8izzbi] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .icon-3d:hover[b-txxf8izzbi] {
        transform: rotateY(180deg) scale(1.1);
    }

.button-3d[b-txxf8izzbi] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .button-3d:hover[b-txxf8izzbi] {
        transform: translateY(-4px) rotateX(10deg);
        box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    }

    .button-3d:active[b-txxf8izzbi] {
        transform: translateY(-2px) rotateX(5deg);
    }

.badge-3d[b-txxf8izzbi] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .badge-3d:hover[b-txxf8izzbi] {
        transform: rotateZ(360deg) scale(1.2);
    }

.filter-btn[b-txxf8izzbi] {
    transition: all 0.3s ease;
}

    .filter-btn.active[b-txxf8izzbi] {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        transform: scale(1.05);
    }

.modal[b-txxf8izzbi] {
    display: none;
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(5px);
}

    .modal.show[b-txxf8izzbi] {
        display: flex;
        align-items: center;
        justify-content: center;
        animation: fadeIn-b-txxf8izzbi 0.3s;
    }

.modal-content[b-txxf8izzbi] {
    animation: slideUp-b-txxf8izzbi 0.3s;
    max-height: 90vh;
    overflow-y: auto;
}

@keyframes fadeIn-b-txxf8izzbi {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp-b-txxf8izzbi {
    from {
        transform: translateY(50px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.search-bar[b-txxf8izzbi] {
    transition: all 0.3s ease;
}

    .search-bar:focus-within[b-txxf8izzbi] {
        transform: scale(1.02);
        box-shadow: 0 8px 20px rgba(102, 126, 234, 0.2);
    }
/* /Components/Pages/CompetitionApply.razor.rz.scp.css */
.competition-apply-root[b-uknnwyi8kq] {
    font-family: 'Noto Sans KR', sans-serif;
}

.gradient-bg[b-uknnwyi8kq] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.button-3d[b-uknnwyi8kq] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .button-3d:hover[b-uknnwyi8kq] {
        transform: translateY(-4px) rotateX(10deg);
        box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    }

    .button-3d:active[b-uknnwyi8kq] {
        transform: translateY(-2px) rotateX(5deg);
    }

.step-item[b-uknnwyi8kq] {
    position: relative;
}

    .step-item[b-uknnwyi8kq]::after {
        content: '';
        position: absolute;
        top: 20px;
        left: 50%;
        width: 100%;
        height: 2px;
        background: #e5e7eb;
        z-index: -1;
    }

    .step-item:last-child[b-uknnwyi8kq]::after {
        display: none;
    }

    .step-item.active .step-circle[b-uknnwyi8kq] {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        border-color: transparent;
    }

    .step-item.completed .step-circle[b-uknnwyi8kq] {
        background: #10b981;
        color: white;
        border-color: transparent;
    }

.step-circle[b-uknnwyi8kq] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid #e5e7eb;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    transition: all 0.3s ease;
}

.form-section[b-uknnwyi8kq] {
    animation: fadeIn-b-uknnwyi8kq 0.3s;
}

@keyframes fadeIn-b-uknnwyi8kq {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.file-upload[b-uknnwyi8kq] {
    transition: all 0.3s ease;
}

    .file-upload:hover[b-uknnwyi8kq] {
        border-color: #667eea;
        background: #f3f4f6;
    }
/* /Components/Pages/CompetitionDetail.razor.rz.scp.css */
.competition-detail-root[b-myy5ge6kd7] {
    font-family: 'Noto Sans KR', sans-serif;
}

.gradient-bg[b-myy5ge6kd7] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.card-hover[b-myy5ge6kd7] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .card-hover:hover[b-myy5ge6kd7] {
        transform: translateY(-4px) rotateX(2deg);
        box-shadow: 0 20px 40px rgba(0,0,0,0.15);
    }

.hero-detail[b-myy5ge6kd7] {
    background-image: linear-gradient(135deg, rgba(102, 126, 234, 0.9) 0%, rgba(118, 75, 162, 0.9) 100%), url('https://images.unsplash.com/photo-1596464716127-f2a82984de30?w=1600&q=80');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.button-3d[b-myy5ge6kd7] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .button-3d:hover[b-myy5ge6kd7] {
        transform: translateY(-4px) rotateX(10deg);
        box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    }

    .button-3d:active[b-myy5ge6kd7] {
        transform: translateY(-2px) rotateX(5deg);
    }

.badge-3d[b-myy5ge6kd7] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .badge-3d:hover[b-myy5ge6kd7] {
        transform: rotateZ(360deg) scale(1.2);
    }

.icon-3d[b-myy5ge6kd7] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .icon-3d:hover[b-myy5ge6kd7] {
        transform: rotateY(180deg) scale(1.1);
    }

.tab-btn[b-myy5ge6kd7] {
    transition: all 0.3s ease;
    position: relative;
}

    .tab-btn.active[b-myy5ge6kd7] {
        color: #667eea;
        font-weight: bold;
    }

        .tab-btn.active[b-myy5ge6kd7]::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            border-radius: 3px 3px 0 0;
        }

.tab-content[b-myy5ge6kd7] {
    animation: fadeIn-b-myy5ge6kd7 0.3s;
}

@keyframes fadeIn-b-myy5ge6kd7 {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal[b-myy5ge6kd7] {
    display: none;
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(5px);
}

    .modal.show[b-myy5ge6kd7] {
        display: flex;
        align-items: center;
        justify-content: center;
        animation: modalFadeIn-b-myy5ge6kd7 0.3s;
    }

.modal-content[b-myy5ge6kd7] {
    animation: slideUp-b-myy5ge6kd7 0.3s;
    max-height: 90vh;
    overflow-y: auto;
}

@keyframes modalFadeIn-b-myy5ge6kd7 {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp-b-myy5ge6kd7 {
    from {
        transform: translateY(50px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.timeline-item[b-myy5ge6kd7] {
    position: relative;
    padding-left: 40px;
}

    .timeline-item[b-myy5ge6kd7]::before {
        content: '';
        position: absolute;
        left: 15px;
        top: 30px;
        bottom: -20px;
        width: 2px;
        background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
    }

    .timeline-item:last-child[b-myy5ge6kd7]::before {
        display: none;
    }

.timeline-dot[b-myy5ge6kd7] {
    position: absolute;
    left: 8px;
    top: 8px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.2);
}
/* /Components/Pages/CompetitionRecord.razor.rz.scp.css */
.competition-record-root[b-3ad5rrl2uk] {
    font-family: 'Noto Sans KR', sans-serif;
}

.gradient-bg[b-3ad5rrl2uk] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.hero-pattern[b-3ad5rrl2uk] {
    background-image: linear-gradient(135deg, rgba(102,126,234,0.92) 0%, rgba(118,75,162,0.95) 100%), url('https://images.unsplash.com/photo-1574629810360-7efbbe195018?w=1600&q=80');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
}

    .hero-pattern[b-3ad5rrl2uk]::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(255,255,255,0.08) 0%, transparent 50%);
        animation: shimmer-b-3ad5rrl2uk 8s ease-in-out infinite;
    }

@keyframes shimmer-b-3ad5rrl2uk {
    0%, 100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

.trophy-float[b-3ad5rrl2uk] {
    animation: float-b-3ad5rrl2uk 3s ease-in-out infinite;
}

@keyframes float-b-3ad5rrl2uk {
    0%, 100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }
}

.card-hover[b-3ad5rrl2uk] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .card-hover:hover[b-3ad5rrl2uk] {
        transform: translateY(-6px) rotateX(2deg);
        box-shadow: 0 18px 36px rgba(0,0,0,0.12);
    }

.button-3d[b-3ad5rrl2uk] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .button-3d:hover[b-3ad5rrl2uk] {
        transform: translateY(-3px) rotateX(10deg);
        box-shadow: 0 14px 28px rgba(0,0,0,0.16);
    }

    .button-3d:active[b-3ad5rrl2uk] {
        transform: translateY(-1px) rotateX(6deg);
    }

.icon-3d[b-3ad5rrl2uk] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .icon-3d:hover[b-3ad5rrl2uk] {
        transform: rotateY(180deg) scale(1.06);
    }

.badge-3d[b-3ad5rrl2uk] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .badge-3d:hover[b-3ad5rrl2uk] {
        transform: rotateZ(360deg) scale(1.12);
    }

.filter-btn[b-3ad5rrl2uk] {
    transition: all 0.25s ease;
}

    .filter-btn.active[b-3ad5rrl2uk] {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        border-color: transparent;
        transform: translateY(-1px);
    }

.modal[b-3ad5rrl2uk] {
    display: none;
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(6px);
}

    .modal.show[b-3ad5rrl2uk] {
        display: flex;
        align-items: center;
        justify-content: center;
        animation: fadeIn-b-3ad5rrl2uk 0.25s;
    }

.modal-content[b-3ad5rrl2uk] {
    animation: slideUp-b-3ad5rrl2uk 0.25s;
    max-height: 90vh;
    overflow-y: auto;
}

@keyframes fadeIn-b-3ad5rrl2uk {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp-b-3ad5rrl2uk {
    from {
        transform: translateY(28px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.rank-badge[b-3ad5rrl2uk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-weight: 900;
    font-size: 18px;
}

.rank-1[b-3ad5rrl2uk] {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(251,191,36,0.4);
}

.rank-2[b-3ad5rrl2uk] {
    background: linear-gradient(135deg, #e5e7eb 0%, #9ca3af 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(156,163,175,0.4);
}

.rank-3[b-3ad5rrl2uk] {
    background: linear-gradient(135deg, #f97316 0%, #c2410c 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(249,115,22,0.4);
}

.rank-other[b-3ad5rrl2uk] {
    background: linear-gradient(135deg, #e5e7eb 0%, #d1d5db 100%);
    color: #374151;
}

.hero-stats[b-3ad5rrl2uk] {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.medal-icon[b-3ad5rrl2uk] {
    font-size: 3rem;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.2));
}

.chart-container[b-3ad5rrl2uk] {
    position: relative;
    height: 280px;
    width: 100%;
}

.chart-card[b-3ad5rrl2uk] {
    background: linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-root[b-rn2pq3e8cj] {
    font-family: 'Noto Sans KR', sans-serif;
}

.gradient-bg[b-rn2pq3e8cj] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* Card hover (3D) */
.card-hover[b-rn2pq3e8cj] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .card-hover:hover[b-rn2pq3e8cj] {
        transform: translateY(-8px) rotateX(2deg);
        box-shadow: 0 20px 40px rgba(0,0,0,0.15);
    }

/* Modal */
.modal[b-rn2pq3e8cj] {
    display: none;
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(5px);
}

    .modal.show[b-rn2pq3e8cj] {
        display: flex;
        align-items: center;
        justify-content: center;
        animation: fadeIn-b-rn2pq3e8cj 0.3s;
    }

.modal-content[b-rn2pq3e8cj] {
    animation: slideUp-b-rn2pq3e8cj 0.3s;
    max-height: 90vh;
    overflow-y: auto;
}

@keyframes fadeIn-b-rn2pq3e8cj {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp-b-rn2pq3e8cj {
    from {
        transform: translateY(50px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Tournament image overlay */
.tournament-img[b-rn2pq3e8cj] {
    background-size: cover;
    background-position: center;
    height: 200px;
    position: relative;
}

    .tournament-img[b-rn2pq3e8cj]::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.5) 100%);
    }

/* Hero */
.hero-banner[b-rn2pq3e8cj] {
    background-image: linear-gradient(135deg, rgba(102, 126, 234, 0.95) 0%, rgba(118, 75, 162, 0.95) 100%), url('https://images.unsplash.com/photo-1596464716127-f2a82984de30?w=1600&q=80');
    background-size: cover;
    background-position: center;
}


/* Nav link underline */
.nav-link[b-rn2pq3e8cj] {
    position: relative;
    transition: color 0.3s;
}

    .nav-link[b-rn2pq3e8cj]::after {
        content: '';
        position: absolute;
        bottom: -2px;
        left: 0;
        width: 0;
        height: 2px;
        background: white;
        transition: width 0.3s;
    }

    .nav-link:hover[b-rn2pq3e8cj]::after {
        width: 100%;
    }

.empty-state[b-rn2pq3e8cj] {
    text-align: center;
    padding: 4rem 2rem;
}

/* ===== 3D Transform Animations ===== */
.icon-3d[b-rn2pq3e8cj] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .icon-3d:hover[b-rn2pq3e8cj] {
        transform: rotateY(180deg) scale(1.1);
    }

.button-3d[b-rn2pq3e8cj] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .button-3d:hover[b-rn2pq3e8cj] {
        transform: translateY(-4px) rotateX(10deg);
        box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    }

    .button-3d:active[b-rn2pq3e8cj] {
        transform: translateY(-2px) rotateX(5deg);
    }

.stat-card-3d[b-rn2pq3e8cj] {
    transition: all 0.4s ease;
    transform-style: preserve-3d;
}

    .stat-card-3d:hover[b-rn2pq3e8cj] {
        transform: rotateY(10deg) translateZ(20px);
    }

.badge-3d[b-rn2pq3e8cj] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .badge-3d:hover[b-rn2pq3e8cj] {
        transform: rotateZ(360deg) scale(1.2);
    }

.logo-3d[b-rn2pq3e8cj] {
    transition: all 0.5s ease;
    transform-style: preserve-3d;
}

    .logo-3d:hover[b-rn2pq3e8cj] {
        transform: rotateY(360deg);
    }

@keyframes float3d-b-rn2pq3e8cj {
    0%, 100% {
        transform: translateY(0px) rotateX(0deg);
    }

    50% {
        transform: translateY(-20px) rotateX(10deg);
    }
}

.float-3d[b-rn2pq3e8cj] {
    animation: float3d-b-rn2pq3e8cj 3s ease-in-out infinite;
    transform-style: preserve-3d;
}

.qr-card-3d[b-rn2pq3e8cj] {
    transition: all 0.5s ease;
    transform-style: preserve-3d;
}

    .qr-card-3d:hover[b-rn2pq3e8cj] {
        transform: rotateY(5deg) rotateX(5deg) scale(1.02);
    }
/* /Components/Pages/Landing.razor.rz.scp.css */
/* 언어 선택 스타일 */
.language-selector[b-3x840nhay3] {
    position: relative;
}

/* ✅ PC 언어 선택 */
.language-select-desktop[b-3x840nhay3] {
    appearance: none;
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 0.5rem;
    color: white;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.5rem 2.5rem 0.5rem 1rem;
    transition: all 0.3s ease;
    backdrop-filter: blur(8px);
}

    .language-select-desktop:hover[b-3x840nhay3] {
        background: rgba(255, 255, 255, 0.2);
        border-color: rgba(255, 255, 255, 0.5);
    }

    .language-select-desktop:focus[b-3x840nhay3] {
        outline: none;
        border-color: white;
        box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1);
    }

/* PC Select 화살표 */
.language-selector[b-3x840nhay3]::after {
    content: '▼';
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 0.75rem;
    color: white;
}

/* PC Option 스타일 */
.language-select-desktop option[b-3x840nhay3] {
    background: #6b7eea;
    color: white;
    padding: 0.5rem;
    font-weight: 500;
}

/* ✅ 모바일 언어 선택 */
.mobile-language-select[b-3x840nhay3] {
    appearance: none;
    width: 100%;
    background: rgba(255, 255, 255, 0.15);
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-radius: 0.5rem;
    color: white;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.75rem 2.5rem 0.75rem 1rem;
    transition: all 0.3s ease;
    backdrop-filter: blur(8px);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 12px;
}

    .mobile-language-select:hover[b-3x840nhay3] {
        background-color: rgba(255, 255, 255, 0.25);
        border-color: rgba(255, 255, 255, 0.6);
    }

    .mobile-language-select:focus[b-3x840nhay3] {
        outline: none;
        border-color: white;
        box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
    }

    /* 모바일 Option 스타일 */
    .mobile-language-select option[b-3x840nhay3] {
        background: #667eea;
        color: white;
        padding: 0.75rem;
        font-weight: 500;
        font-size: 1rem;
    }

        /* 국기 이모지 크기 조정 */
        .mobile-language-select option[b-3x840nhay3]::before {
            font-size: 1.25rem;
        }

/* 기존 스타일들... */
.gradient-bg[b-3x840nhay3] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.hero-pattern[b-3x840nhay3] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    min-height: 100vh;
}

.card-hover[b-3x840nhay3] {
    transition: all 0.3s ease;
}

    .card-hover:hover[b-3x840nhay3] {
        transform: translateY(-8px);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    }

.button-3d[b-3x840nhay3] {
    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.4);
}

    .button-3d:hover[b-3x840nhay3] {
        box-shadow: 0 15px 40px rgba(102, 126, 234, 0.6);
    }

.float-animation[b-3x840nhay3] {
    animation: float-b-3x840nhay3 3s ease-in-out infinite;
}

@keyframes float-b-3x840nhay3 {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
    }
}

/* ✅ 모바일 반응형 */
@media (max-width: 1023px) {
    .mobile-language-select[b-3x840nhay3] {
        font-size: 1rem;
        padding: 0.875rem 2.5rem 0.875rem 1.25rem;
    }
}

/* ✅ iOS Safari 스타일 수정 */
@supports (-webkit-touch-callout: none) {
    .mobile-language-select[b-3x840nhay3] {
        -webkit-appearance: none;
        -moz-appearance: none;
    }

        .mobile-language-select option[b-3x840nhay3] {
            color: white;
            background: #667eea;
        }
}


/* 네비게이션 바 Safe Area */
/*nav.fixed {
    top: env(safe-area-inset-top, 0px);
    padding-top: calc(1rem + env(safe-area-inset-top, 0px));
}*/

/* 푸터 Safe Area */
/*footer {
    padding-bottom: calc(3rem + env(safe-area-inset-bottom, 0px)) !important;
}*/

/* 전체 페이지 컨테이너 */
/*.page {
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
}*/

/* /Components/Pages/MyPage.razor.rz.scp.css */
.mypage-root[b-i89jttcaki] {
    font-family: 'Noto Sans KR', sans-serif;
}

.hero-pattern[b-i89jttcaki] {
    background-image: linear-gradient(135deg, rgba(102,126,234,0.92) 0%, rgba(118,75,162,0.95) 100%), url('https://images.unsplash.com/photo-1557683316-973673baf926?w=1600&q=80');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
}

    .hero-pattern[b-i89jttcaki]::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(255,255,255,0.08) 0%, transparent 50%);
        animation: shimmer-b-i89jttcaki 8s ease-in-out infinite;
    }

@keyframes shimmer-b-i89jttcaki {
    0%, 100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

.card-hover[b-i89jttcaki] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .card-hover:hover[b-i89jttcaki] {
        transform: translateY(-6px) rotateX(2deg);
        box-shadow: 0 18px 36px rgba(0,0,0,0.12);
    }

.button-3d[b-i89jttcaki] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .button-3d:hover[b-i89jttcaki] {
        transform: translateY(-3px) rotateX(10deg);
        box-shadow: 0 14px 28px rgba(0,0,0,0.16);
    }

    .button-3d:active[b-i89jttcaki] {
        transform: translateY(-1px) rotateX(6deg);
    }

.icon-3d[b-i89jttcaki] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .icon-3d:hover[b-i89jttcaki] {
        transform: rotateY(180deg) scale(1.06);
    }

.badge-3d[b-i89jttcaki] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .badge-3d:hover[b-i89jttcaki] {
        transform: rotateZ(360deg) scale(1.12);
    }

.tab-btn[b-i89jttcaki] {
    transition: all 0.25s ease;
}

    .tab-btn.active[b-i89jttcaki] {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        border-color: transparent;
        transform: translateY(-1px);
    }

.modal[b-i89jttcaki] {
    display: none;
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(6px);
}

    .modal.show[b-i89jttcaki] {
        display: flex;
        align-items: center;
        justify-content: center;
        animation: fadeIn-b-i89jttcaki 0.25s;
    }

.modal-content[b-i89jttcaki] {
    animation: slideUp-b-i89jttcaki 0.25s;
    max-height: 90vh;
    overflow-y: auto;
}

@keyframes fadeIn-b-i89jttcaki {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp-b-i89jttcaki {
    from {
        transform: translateY(28px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.profile-avatar[b-i89jttcaki] {
    width: 120px;
    height: 120px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    font-weight: 900;
    color: white;
    box-shadow: 0 8px 24px rgba(102, 126, 234, 0.3);
}

.status-badge[b-i89jttcaki] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 900;
}

.status-pending[b-i89jttcaki] {
    background: #fef3c7;
    color: #92400e;
}

.status-confirmed[b-i89jttcaki] {
    background: #d1fae5;
    color: #065f46;
}

.status-cancelled[b-i89jttcaki] {
    background: #fee2e2;
    color: #991b1b;
}

.team-role-badge[b-i89jttcaki] {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 900;
}

.role-leader[b-i89jttcaki] {
    background: #fbbf24;
    color: #78350f;
}

.role-member[b-i89jttcaki] {
    background: #ddd6fe;
    color: #5b21b6;
}
/* /Components/Pages/Notice.razor.rz.scp.css */
.notice-root[b-8wcjjal4uv] {
    font-family: 'Noto Sans KR', sans-serif;
}

.gradient-bg[b-8wcjjal4uv] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.card-hover[b-8wcjjal4uv] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .card-hover:hover[b-8wcjjal4uv] {
        transform: translateY(-6px) rotateX(2deg);
        box-shadow: 0 18px 36px rgba(0,0,0,0.12);
    }

.button-3d[b-8wcjjal4uv] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .button-3d:hover[b-8wcjjal4uv] {
        transform: translateY(-3px) rotateX(10deg);
        box-shadow: 0 14px 28px rgba(0,0,0,0.16);
    }

    .button-3d:active[b-8wcjjal4uv] {
        transform: translateY(-1px) rotateX(6deg);
    }

.icon-3d[b-8wcjjal4uv] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .icon-3d:hover[b-8wcjjal4uv] {
        transform: rotateY(180deg) scale(1.06);
    }

.badge-3d[b-8wcjjal4uv] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .badge-3d:hover[b-8wcjjal4uv] {
        transform: rotateZ(360deg) scale(1.12);
    }

.hero-pattern[b-8wcjjal4uv] {
    background-image: linear-gradient(135deg, rgba(102,126,234,0.95) 0%, rgba(118,75,162,0.95) 100%), url('https://images.unsplash.com/photo-1523240795612-9a054b0db644?w=1600&q=80');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.search-bar[b-8wcjjal4uv] {
    transition: all 0.3s ease;
}

    .search-bar:focus-within[b-8wcjjal4uv] {
        transform: scale(1.01);
        box-shadow: 0 10px 24px rgba(102,126,234,0.22);
    }

.filter-btn[b-8wcjjal4uv] {
    transition: all 0.25s ease;
}

    .filter-btn.active[b-8wcjjal4uv] {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        border-color: transparent;
        transform: translateY(-1px);
    }

.modal[b-8wcjjal4uv] {
    display: none;
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(6px);
}

    .modal.show[b-8wcjjal4uv] {
        display: flex;
        align-items: center;
        justify-content: center;
        animation: fadeIn-b-8wcjjal4uv 0.25s;
    }

.modal-content[b-8wcjjal4uv] {
    animation: slideUp-b-8wcjjal4uv 0.25s;
    max-height: 90vh;
    overflow-y: auto;
}

@keyframes fadeIn-b-8wcjjal4uv {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp-b-8wcjjal4uv {
    from {
        transform: translateY(28px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.chip[b-8wcjjal4uv] {
    border: 2px solid rgba(209,213,219,1);
    background: white;
    color: #374151;
}

    .chip:hover[b-8wcjjal4uv] {
        border-color: rgba(102,126,234,1);
        color: rgba(102,126,234,1);
    }

.notice-row:hover .chev[b-8wcjjal4uv] {
    transform: translateX(4px);
}

.chev[b-8wcjjal4uv] {
    transition: transform 0.2s ease;
}
/* /Components/Pages/NoticeDetail.razor.rz.scp.css */
.notice-detail-root[b-huyux7q0ub] {
    font-family: 'Noto Sans KR', sans-serif;
}

.gradient-bg[b-huyux7q0ub] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.card-hover[b-huyux7q0ub] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .card-hover:hover[b-huyux7q0ub] {
        transform: translateY(-6px) rotateX(2deg);
        box-shadow: 0 18px 36px rgba(0,0,0,0.12);
    }

.button-3d[b-huyux7q0ub] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .button-3d:hover[b-huyux7q0ub] {
        transform: translateY(-3px) rotateX(10deg);
        box-shadow: 0 14px 28px rgba(0,0,0,0.16);
    }

    .button-3d:active[b-huyux7q0ub] {
        transform: translateY(-1px) rotateX(6deg);
    }

.icon-3d[b-huyux7q0ub] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .icon-3d:hover[b-huyux7q0ub] {
        transform: rotateY(180deg) scale(1.06);
    }

.badge-3d[b-huyux7q0ub] {
    display: inline-block;
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .badge-3d:hover[b-huyux7q0ub] {
        transform: rotateZ(360deg) scale(1.12);
    }

.hero-pattern[b-huyux7q0ub] {
    background-image: linear-gradient(135deg, rgba(102,126,234,0.92) 0%, rgba(118,75,162,0.92) 100%), url('https://images.unsplash.com/photo-1523240795612-9a054b0db644?w=1600&q=80');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.tab-btn[b-huyux7q0ub] {
    transition: all 0.25s ease;
    position: relative;
}

    .tab-btn.active[b-huyux7q0ub] {
        color: #667eea;
        font-weight: 900;
    }

        .tab-btn.active[b-huyux7q0ub]::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: -2px;
            height: 3px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            border-radius: 3px 3px 0 0;
        }

.content-prose h2[b-huyux7q0ub] {
    font-size: 1.25rem;
    font-weight: 900;
    color: #111827;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}

.content-prose h3[b-huyux7q0ub] {
    font-size: 1.1rem;
    font-weight: 900;
    color: #111827;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
}

.content-prose p[b-huyux7q0ub] {
    color: #374151;
    line-height: 1.85;
    margin-top: 0.75rem;
}

.content-prose ul[b-huyux7q0ub] {
    list-style: disc;
    padding-left: 1.25rem;
    margin-top: 0.75rem;
    color: #374151;
}

.content-prose li[b-huyux7q0ub] {
    margin-top: 0.35rem;
    line-height: 1.75;
}

.content-prose a[b-huyux7q0ub] {
    color: #667eea;
    font-weight: 800;
    text-decoration: underline;
}

.callout[b-huyux7q0ub] {
    border-left: 4px solid #f59e0b;
    background: #fffbeb;
}

.sticky-actions[b-huyux7q0ub] {
    backdrop-filter: blur(10px);
    background: rgba(255,255,255,0.85);
}
/* /Components/Pages/PracticeRecord.razor.rz.scp.css */
/* ── 루트 ───────────────────────────────────────────────────────────── */
.practice-record-root[b-cbgmr0qbq0] {
    font-family: 'Noto Sans KR', sans-serif;
    background-color: #f8f9fe;
}

/* ── Hero ───────────────────────────────────────────────────────────── */
.hero-pattern[b-cbgmr0qbq0] {
    background: linear-gradient(135deg, #4338ca 0%, #6366f1 50%, #8b5cf6 100%);
    position: relative;
    overflow: hidden;
}

    .hero-pattern[b-cbgmr0qbq0]::before {
        content: '';
        position: absolute;
        top: -80px;
        right: -80px;
        width: 300px;
        height: 300px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.08);
        pointer-events: none;
    }

    .hero-pattern[b-cbgmr0qbq0]::after {
        content: '';
        position: absolute;
        bottom: -50px;
        left: 8%;
        width: 180px;
        height: 180px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.05);
        pointer-events: none;
    }

/* ── 버튼 3D ────────────────────────────────────────────────────────── */
.button-3d[b-cbgmr0qbq0] {
    transition: all 0.2s ease;
}

    .button-3d:hover[b-cbgmr0qbq0] {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    }

    .button-3d:active[b-cbgmr0qbq0] {
        transform: translateY(0);
        box-shadow: none;
    }

/* ── 통계 카드 ──────────────────────────────────────────────────────── */
.card-hover[b-cbgmr0qbq0] {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

    .card-hover:hover[b-cbgmr0qbq0] {
        box-shadow: 0 8px 24px rgba(99, 102, 241, 0.15);
        transform: translateY(-3px);
    }

/* ── 기록 카드 행 ───────────────────────────────────────────────────── */
.record-card[b-cbgmr0qbq0] {
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

    .record-card:hover[b-cbgmr0qbq0] {
        background: linear-gradient(90deg, #f5f3ff 0%, #eef2ff 100%);
        box-shadow: inset 3px 0 0 #6366f1;
    }

/* ── 캘린더 셀 ──────────────────────────────────────────────────────── */
.calendar-cell[b-cbgmr0qbq0] {
    transition: background-color 0.1s ease;
}

    .calendar-cell:nth-last-child(-n+7)[b-cbgmr0qbq0] {
        border-bottom: none;
    }

    .calendar-cell:nth-child(7n)[b-cbgmr0qbq0] {
        border-right: none;
    }

/* ── 이달 요약 카드 ─────────────────────────────────────────────────── */
.month-summary-card[b-cbgmr0qbq0] {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .month-summary-card:hover[b-cbgmr0qbq0] {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(99, 102, 241, 0.12);
    }

/* ── 스크롤바 ───────────────────────────────────────────────────────── */
.custom-scrollbar[b-cbgmr0qbq0]::-webkit-scrollbar {
    width: 4px;
}

.custom-scrollbar[b-cbgmr0qbq0]::-webkit-scrollbar-track {
    background: #f0f0ff;
}

.custom-scrollbar[b-cbgmr0qbq0]::-webkit-scrollbar-thumb {
    background: #a5b4fc;
    border-radius: 2px;
}
/* /Components/Pages/PracticeRecordDetail.razor.rz.scp.css */
/* ── 애니메이션 ─────────────────────────────────────── */
@keyframes slideDown-b-u01fau33sf {
    from {
        opacity: 0;
        max-height: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        max-height: 1000px;
        transform: translateY(0);
    }
}

.animate-slideDown[b-u01fau33sf] {
    animation: slideDown-b-u01fau33sf 0.3s ease-out forwards;
}

/* ── 헤더 / 글래스 ──────────────────────────────────── */
.header-gradient[b-u01fau33sf] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.glass-effect[b-u01fau33sf] {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* ── 스크롤바 ───────────────────────────────────────── */
.custom-scrollbar[b-u01fau33sf]::-webkit-scrollbar {
    width: 6px;
}

.custom-scrollbar[b-u01fau33sf]::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.custom-scrollbar[b-u01fau33sf]::-webkit-scrollbar-thumb {
    background: #667eea;
    border-radius: 3px;
}

    .custom-scrollbar[b-u01fau33sf]::-webkit-scrollbar-thumb:hover {
        background: #764ba2;
    }

/* ── 엔드 카드 / 화살 슬롯 ─────────────────────────── */
.end-card[b-u01fau33sf] {
    min-height: 55px;
}

.arrow-slot[b-u01fau33sf] {
    min-height: 45px;
}

/* ── 정사각형 사진 컨테이너 ─────────────────────────── */
.square-photo-container[b-u01fau33sf] {
    position: relative;
    width: 100%;
    padding-bottom: 100%;
}

.square-photo-inner[b-u01fau33sf] {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

/* ── 반응형 ─────────────────────────────────────────── */
@media (min-width: 640px) {
    .end-card[b-u01fau33sf] {
        min-height: 65px;
    }

    .arrow-slot[b-u01fau33sf] {
        min-height: 55px;
    }
}

@media (min-width: 1024px) {
    .practice-container[b-u01fau33sf] {
        max-width: 1200px;
        margin: 0 auto;
    }

    .end-card[b-u01fau33sf] {
        min-height: 70px;
    }

    .arrow-slot[b-u01fau33sf] {
        min-height: 60px;
    }
}

@media (min-width: 1536px) {
    .practice-container[b-u01fau33sf] {
        max-width: 1400px;
    }
}
/* /Components/Pages/Team/TeamInvite.razor.rz.scp.css */
.team-invite-root[b-ukb0kpdacx] {
    font-family: 'Noto Sans KR', sans-serif;
}

.hero-pattern[b-ukb0kpdacx] {
    background-image: linear-gradient(135deg, rgba(34,193,195,0.92) 0%, rgba(45,253,142,0.95) 100%), url('https://images.unsplash.com/photo-1557683316-973673baf926?w=1600&q=80');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
}

    .hero-pattern[b-ukb0kpdacx]::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(255,255,255,0.08) 0%, transparent 50%);
        animation: shimmer-b-ukb0kpdacx 8s ease-in-out infinite;
    }

@keyframes shimmer-b-ukb0kpdacx {
    0%, 100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

.button-3d[b-ukb0kpdacx] {
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

    .button-3d:hover[b-ukb0kpdacx] {
        transform: translateY(-3px) rotateX(10deg);
        box-shadow: 0 14px 28px rgba(0,0,0,0.16);
    }

    .button-3d:active[b-ukb0kpdacx] {
        transform: translateY(-1px) rotateX(6deg);
    }

.invite-method-btn[b-ukb0kpdacx] {
    transition: all 0.25s ease;
    cursor: pointer;
}

    .invite-method-btn.active[b-ukb0kpdacx] {
        background: linear-gradient(135deg, #22c1c3 0%, #2dfd8e 100%);
        color: white;
        border-color: #22c1c3;
    }

.invite-history-item[b-ukb0kpdacx] {
    transition: all 0.3s ease;
}

    .invite-history-item:hover[b-ukb0kpdacx] {
        background: #f9fafb;
    }

.status-badge[b-ukb0kpdacx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 900;
}

.status-pending[b-ukb0kpdacx] {
    background: #fef3c7;
    color: #92400e;
}

.status-accepted[b-ukb0kpdacx] {
    background: #d1fae5;
    color: #065f46;
}

.status-rejected[b-ukb0kpdacx] {
    background: #fee2e2;
    color: #991b1b;
}
