@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');
        @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');

        body {
            font-family: 'Pretendard', sans-serif;
            scroll-behavior: smooth;
        }

        /* 스크롤바 커스텀 */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #f1f1f1; }
        ::-webkit-scrollbar-thumb { background: #CF142B; border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: #A00F20; }

        .filter-btn.active,
        .filter-btn.active:hover {
            background-color: #CF142B !important;
            color: white !important;
            border-color: #CF142B !important;
        }

        .fade-in {
            animation: fadeIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            opacity: 0;
            transform: translateY(20px);
        }

        @keyframes fadeIn {
            to { opacity: 1; transform: translateY(0); }
        }

        /* 메인 배경 천천히 줌인 애니메이션 */
        @keyframes slowZoom {
            0% { transform: scale(1); }
            100% { transform: scale(1.08); }
        }
        .animate-slow-zoom {
            animation: slowZoom 25s ease-in-out infinite alternate;
        }

        .glass-panel {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
        }

        /* -------------------------------------
           달력 (Flatpickr) 화요일 강조 스타일
           ------------------------------------- */
        .tuesday-highlight {
            background-color: rgba(207, 20, 43, 0.1) !important;
            border-color: rgba(207, 20, 43, 0.3) !important;
            color: #CF142B !important;
            font-weight: 800 !important;
        }
        .flatpickr-day.tuesday-highlight:hover {
            background-color: #CF142B !important;
            color: white !important;
        }

        /* 화요일 외 비활성화된 날짜 스타일 복원 */
        .flatpickr-day.flatpickr-disabled {
            color: #4b5563 !important;
            background: transparent !important;
        }

        /* 이전/다음 달 날짜 스타일 */
        .flatpickr-day.prevMonthDay,
        .flatpickr-day.nextMonthDay,
        .flatpickr-day.prevMonthDay.flatpickr-disabled,
        .flatpickr-day.nextMonthDay.flatpickr-disabled {
            color: #d1d5db !important;
        }

        /* -------------------------------------
           STEVE™ Signature Card (Modal Styles)
           ------------------------------------- */
        :root {
            --sig-red: #E30613;
        }

        .modal-overlay {
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease-in-out;
        }

        .modal-overlay.active {
            opacity: 1;
            visibility: visible;
        }

        .modal-content {
            transform: translateY(30px);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .modal-overlay.active .modal-content {
            transform: translateY(0);
        }

        .signature-card {
            width: 100%;
            max-width: 360px;
            background: #000;
            aspect-ratio: 1 / 1.618;
            padding: 60px 40px;
            box-shadow: 0 40px 100px rgba(0, 0, 0, 0.8);
            border: 1px solid rgba(255, 255, 255, 0.1);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            position: relative;
            font-family: 'Noto Sans KR', 'Pretendard', sans-serif;
            color: #ffffff;
            overflow: hidden;
            margin: 0 auto;
        }

        .signature-card::after {
            content: "STEVE™ SIGNATURE";
            position: absolute;
            bottom: 120px;
            right: -60px;
            transform: rotate(-90deg);
            font-size: 40px;
            font-weight: 900;
            color: rgba(255, 255, 255, 0.02);
            white-space: nowrap;
            pointer-events: none;
        }

        .verified-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 9px;
            font-weight: 800;
            color: var(--sig-red);
            text-transform: uppercase;
            letter-spacing: 0.2em;
            margin-bottom: 30px;
        }

        .sig-name-area h1 {
            font-size: 40px;
            font-weight: 900;
            letter-spacing: -0.05em;
            line-height: 1.1;
            margin-bottom: 10px;
        }

        .sig-name-area p {
            font-size: 13px;
            color: rgba(255, 255, 255, 0.4);
            font-weight: 300;
            letter-spacing: 0.1em;
            text-transform: uppercase;
        }

        .sig-divider {
            width: 100%;
            height: 1px;
            background: linear-gradient(to right, var(--sig-red), transparent);
            margin: 40px 0;
        }

        .sig-contact-info {
            display: flex;
            flex-direction: column;
            gap: 24px;
        }

        .info-block .sig-label {
            font-size: 9px;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.3);
            letter-spacing: 0.2em;
            margin-bottom: 6px;
            font-weight: 700;
        }

        .info-block .sig-value {
            font-size: 15px;
            font-weight: 400;
            color: rgba(255, 255, 255, 0.8);
            word-break: keep-all;
        }

        .sig-footer-branding {
            margin-top: auto;
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            position: relative;
            z-index: 10;
        }

        .action-group {
            width: 100%;
            max-width: 360px;
            margin: 20px auto 0 auto;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .sig-primary-btn {
            background: #fff;
            color: #000;
            height: 56px;
            border-radius: 0;
            font-weight: 900;
            font-size: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            transition: all 0.3s;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            width: 100%;
        }

        .sig-primary-btn:active {
            transform: translateY(2px);
            background: #eee;
        }

        .secondary-actions {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 12px;
        }

        .sig-secondary-btn {
            background: transparent;
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #fff;
            height: 50px;
            font-size: 11px;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            transition: all 0.3s;
        }

        .sig-secondary-btn:hover {
            background: rgba(255,255,255,0.1);
        }

        #sig-toast {
            position: fixed;
            top: 40px;
            left: 50%;
            transform: translateX(-50%) translateY(-10px);
            background: var(--sig-red);
            color: white;
            padding: 12px 30px;
            font-size: 12px;
            font-weight: 800;
            opacity: 0;
            transition: all 0.3s;
            pointer-events: none;
            letter-spacing: 0.1em;
            z-index: 1000;
            border-radius: 4px;
            box-shadow: 0 10px 30px rgba(227, 6, 19, 0.3);
        }

        .close-modal-btn {
            position: absolute;
            top: 20px;
            right: 20px;
            color: rgba(255,255,255,0.5);
            font-size: 24px;
            background: none;
            border: none;
            cursor: pointer;
            z-index: 50;
            transition: color 0.2s;
        }
        .close-modal-btn:hover { color: #fff; }
        #navbar { top: 31px; }
        #home h1 { word-break: keep-all; overflow-wrap: break-word; }
#test-ribbon { position:fixed; top:0; left:0; width:100%; text-align:center; z-index:99; background:#1f2937; color:#fff; padding:7px 12px; font:700 12px/1.4 sans-serif; box-shadow:0 4px 16px #0002; pointer-events:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
[data-language] { text-align:left; }
[data-language][aria-pressed="true"] { color:#cf142b; background:#fff1f2; font-weight:700; }
[data-language][aria-pressed="false"] { color:#4b5563; background:#fff; }
#language-menu [data-language] { width:100%; }
#language-switcher.is-open #language-menu,
#language-switcher:focus-within #language-menu { opacity:1; visibility:visible; }
#members-grid > div > span { position:static; align-self:flex-end; max-width:100%; overflow-wrap:anywhere; }
#members-grid .flex-col { min-width:0; }
#members-grid p, #members-grid span { overflow-wrap:anywhere; }
#meeting-info-container li > span:first-child { width:7rem; padding-right:0.5rem; }
.signature-card { overflow-y:auto; max-height:70vh; }
html:not([lang="ko"]) #home h1 { word-break:normal; }
@media (max-width:540px) {
    #visit .p-10 { padding:1.5rem; }
    #meeting-info-container li { flex-wrap:wrap; gap:0.25rem; }
}
