        /* 사이드바 */
        .sidebar {
            width: 244px; flex-shrink: 0;
            position: sticky; top: 0; height: 100vh;
            display: flex; flex-direction: column;
            padding: 22px 16px;
            border-right: 1px solid rgba(255,159,67,0.1);
            background: rgba(15,23,42,0.55); backdrop-filter: blur(12px);
        }
        .side-logo { padding: 6px 12px 20px; }
        .side-nav { display: flex; flex-direction: column; gap: 4px; }
        .nav-item {
            display: flex; align-items: center; gap: 12px; width: 100%;
            padding: 12px 14px; border-radius: 12px; border: none; background: transparent;
            color: #94A3B8; font-family: 'Pretendard'; font-size: 14px; font-weight: 600;
            cursor: pointer; transition: all 0.15s; text-align: left;
        }
        .nav-link { text-decoration: none; }
        .nav-item .ic svg { display:block; }
        .nav-item .ic { font-size: 16px; width: 20px; text-align: center; flex-shrink: 0; }
        .nav-item:hover { background: rgba(255,159,67,0.07); color: var(--text-main); }
        .nav-item.on { background: rgba(255,159,67,0.13); color: var(--accent); }

        /* 모바일 메뉴 버튼 / 스크림 — 데스크톱에서는 숨김 */
        .nav-toggle { display: none; }
        .nav-scrim { display: none; }


@media (max-width: 860px) {
            .sidebar {
                width: 100%; height: auto; position: sticky; top: 0; z-index: 40;
                flex-direction: row; align-items: center; justify-content: space-between; gap: 10px;
                padding: 10px 14px; overflow: visible;
            }
            .side-logo { padding: 6px 2px; }

            /* 메뉴 버튼 — 현재 탭을 보여주고, 누르면 탭 목록이 펼쳐짐 */
            .nav-toggle {
                display: inline-flex; align-items: center; gap: 8px;
                padding: 9px 12px 9px 14px; border-radius: 99px;
                border: 1px solid rgba(255,159,67,0.22); background: rgba(255,159,67,0.09);
                color: var(--accent); font-family: 'Pretendard'; font-size: 13.5px; font-weight: 700;
                cursor: pointer; transition: background 0.15s, border-color 0.15s;
                max-width: 62vw;
            }
            .nav-toggle:active { background: rgba(255,159,67,0.16); }
            .nav-toggle .nt-ic { font-size: 15px; flex-shrink: 0; }
            .nav-toggle .nt-lbl { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
            .nav-toggle .nt-arrow {
                width: 9px; height: 9px; flex-shrink: 0; margin-left: 1px;
                border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
                transform: rotate(45deg) translate(-2px, -2px);
                transition: transform 0.25s ease;
            }
            .sidebar.open .nav-toggle { background: rgba(255,159,67,0.16); border-color: var(--accent); }
            .sidebar.open .nav-toggle .nt-arrow { transform: rotate(-135deg) translate(-2px, -2px); }

            /* 펼쳐지는 탭 목록 */
            .sidebar.enhanced .side-nav {
                position: absolute; top: calc(100% - 4px); left: 10px; right: 10px;
                flex-direction: column; gap: 4px; padding: 8px;
                max-height: calc(100vh - 80px); max-height: calc(100dvh - 80px); overflow-y: auto; overscroll-behavior: contain;
                border-radius: 18px;
                background: #151E36; backdrop-filter: blur(14px);
                border: 1px solid rgba(255,159,67,0.18);
                box-shadow: 0 18px 40px rgba(0,0,0,0.45);
                opacity: 0; visibility: hidden; pointer-events: none;
                transform: translateY(-10px) scale(0.98); transform-origin: top right;
                transition: opacity 0.18s ease, transform 0.22s ease, visibility 0.22s;
            }
            .sidebar.open .side-nav {
                opacity: 1; visibility: visible; pointer-events: auto;
                transform: translateY(0) scale(1);
            }
            .nav-item { padding: 13px 14px; font-size: 14.5px; white-space: nowrap; }
            .sidebar.open .nav-item { animation: nav-drop 0.28s cubic-bezier(0.22, 1, 0.36, 1) backwards; }
            .sidebar.open .nav-item:nth-child(1) { animation-delay: 0.02s; }
            .sidebar.open .nav-item:nth-child(2) { animation-delay: 0.05s; }
            .sidebar.open .nav-item:nth-child(3) { animation-delay: 0.08s; }
            .sidebar.open .nav-item:nth-child(4) { animation-delay: 0.11s; }
            .sidebar.open .nav-item:nth-child(5) { animation-delay: 0.14s; }
            .sidebar.open .nav-item:nth-child(6) { animation-delay: 0.17s; }
            .sidebar.open .nav-item:nth-child(n+7) { animation-delay: 0.2s; }
            @keyframes nav-drop {
                from { opacity: 0; transform: translateY(-12px); }
                to   { opacity: 1; transform: translateY(0); }
            }

            /* 바깥 영역 탭하면 닫힘 */
            .nav-scrim {
                display: block; position: fixed; inset: 0; z-index: 39;
                background: rgba(8, 13, 26, 0.5);
                opacity: 0; visibility: hidden; transition: opacity 0.2s ease, visibility 0.2s;
            }
            .nav-scrim.on { opacity: 1; visibility: visible; }


}
        @media (prefers-reduced-motion: reduce) {
            .sidebar.open .nav-item { animation: none; }
            .sidebar.enhanced .side-nav, .nav-scrim, .nav-toggle .nt-arrow { transition-duration: 0.01ms; }
        }

/* Shared shell: direct pages retain navigation; embedded tools keep one parent menu. */
.orbit-page-layout { display: flex; min-height: 100vh; max-width: 1440px; margin: 0 auto; position: relative; z-index: 1; }
.orbit-page-content { flex: 1; min-width: 0; }
.orbit-page-content > .container, .orbit-page-content > .wrap { margin-top: 40px; }
.orbit-page-content > .board-shell { margin-top: 32px; }
.orbit-page-content > .site-footer { margin-left: auto; margin-right: auto; }
@media (min-width: 861px) { .sidebar { overflow-y: auto; } }
.nav-item:focus-visible, .nav-toggle:focus-visible, .side-logo:focus-visible { outline: 2px solid #4FD1C5; outline-offset: 3px; }
.embed .orbit-page-layout, .embed .orbit-page-content { display: contents; }
.embed .orbit-navigation, .embed .nav-scrim { display: none; }
.embed .orbit-page-content > .container { margin-top: 0; }
.embed .orbit-page-content > .board-shell { margin-top: 0; }
@media (max-width: 860px) {
  .orbit-page-layout { flex-direction: column; }
  .sidebar:not(.enhanced) { flex-wrap: wrap; position: relative; }
  .sidebar:not(.enhanced) .nav-toggle { display: none; }
  .sidebar:not(.enhanced) .side-nav { width: 100%; }
  .orbit-page-content > .container, .orbit-page-content > .wrap { margin-top: 24px; }
  .orbit-page-content > .board-shell { margin-top: 20px; }
  .embed .orbit-page-content > .container, .embed .orbit-page-content > .board-shell { margin-top: 0; }
}

/* Page body typography must not change shared navigation geometry. */
.nav-item { line-height: 20px; }
.nav-toggle { line-height: 20px; }
