/* Shared compact header. Loaded after page styles to keep every route aligned. */
body.ns-app .ns-header-inner{position:relative;box-sizing:border-box;width:min(1080px,calc(100% - 48px));max-width:1080px;min-height:80px;margin:0 auto;padding:0;display:flex;align-items:center;justify-content:space-between;gap:24px}
body.ns-app .ns-brand{display:flex;align-items:center;flex:none;gap:10px;min-height:44px;text-decoration:none}
body.ns-app .ns-brand .ns-mark{display:block;width:31px;height:31px;object-fit:contain}
body.ns-app .ns-brand strong{display:block;position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;clip-path:none;white-space:nowrap;font-size:25px;font-weight:760;letter-spacing:-.06em}
body.ns-app .ns-brand small,body.ns-app .ns-primary-nav,body.ns-app .ns-tool-strip{display:none!important}
body.ns-app .ns-header-actions{position:static;display:flex;align-items:center;flex:none;gap:6px;transform:none;margin:0;padding:0}
body.ns-app .ns-theme,body.ns-app .ns-navigation>summary,.ns-locale{box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--sn-text,#eee)}
body.ns-app .ns-theme{display:grid;place-items:center;order:2;padding:9px;cursor:pointer}
body.ns-app .ns-theme:hover,body.ns-app .ns-navigation>summary:hover,.ns-locale:hover{background:var(--sn-raised,#252725);border-color:var(--sn-line,#363936)}
body.ns-app .ns-theme:focus-visible,body.ns-app .ns-navigation>summary:focus-visible,.ns-locale:focus-within{outline:2px solid var(--sn-text,#eee);outline-offset:2px}
body.ns-app .ns-theme svg{width:24px;height:24px}
.ns-locale{position:relative;display:block;flex:none;order:1}
.ns-locale select{box-sizing:border-box;position:relative;z-index:1;display:block;appearance:none;-webkit-appearance:none;width:100%;height:100%;min-height:44px;margin:0;padding:0;opacity:0;cursor:pointer;font:inherit;font-size:16px}
.ns-locale .ns-locale-globe{position:absolute;left:11px;top:11px;width:20px;height:20px;pointer-events:none}
.ns-locale .ns-locale-chevron{display:none}
.ns-locale select option{color:#111;background:#fff;font-size:16px}
.ns-navigation{position:static;flex:none;order:3}
body.ns-app .ns-navigation>summary{list-style:none;display:grid;place-items:center;cursor:pointer;padding:10px;user-select:none}
.ns-navigation>summary::-webkit-details-marker{display:none}.ns-navigation>summary::marker{content:''}
.ns-navigation>summary svg{display:block;width:22px;height:22px}
.ns-navigation[open]>summary{background:var(--sn-raised,#252725);border-color:var(--sn-line,#363936)}
.ns-navigation-panel{box-sizing:border-box;position:absolute;right:0;top:calc(100% - 5px);z-index:10000;display:grid;grid-template-columns:1fr;gap:2px;width:264px;max-width:100%;max-height:calc(100dvh - 90px);padding:7px;overflow:auto;overscroll-behavior:contain;background:var(--sn-panel,#191b1a);color:var(--sn-text,#eee);border:1px solid var(--sn-line,#363936);border-radius:13px;box-shadow:0 12px 35px #0003}
.ns-navigation:not([open])>.ns-navigation-panel{display:none}
.ns-navigation-panel>a,.ns-navigation-panel .ns-install{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:550;line-height:1.6;text-align:left;text-decoration:none;white-space:normal;cursor:pointer}
.ns-navigation-panel>a:hover,.ns-navigation-panel .ns-install:hover,.ns-navigation-panel>a:focus-visible,.ns-navigation-panel .ns-install:focus-visible{background:var(--sn-raised,#252725)}
.ns-navigation-panel :focus-visible{outline:2px solid var(--sn-text,#eee);outline-offset:-2px}
.ns-navigation-panel>a[aria-current=page]{background:var(--sn-raised,#252725);font-weight:750}
.ns-navigation-panel>a[aria-current=page]::after{content:'';width:5px;height:5px;margin-left:auto;flex:none;border-radius:50%;background:currentColor}
.ns-install-slot:has(button:not([hidden])){padding-top:5px;margin-top:5px;border-top:1px solid var(--sn-line,#363936)}
.ns-navigation-panel .ns-install svg{width:19px;height:19px;flex:none}.ns-navigation-panel .ns-install[hidden]{display:none}
/* Reserve the same account slot before, during, and after session validation. */
.ns-header-actions>.na-account-wrap{order:4;box-sizing:border-box;display:flex;justify-content:flex-end;width:88px;min-width:88px;flex:none}
.ns-account.ns-account-pending{position:relative;display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;border-radius:50%;padding:0;cursor:default;background:var(--sn-panel,#191919)}
.na-account-loading{display:block;width:26px;height:26px;border-radius:50%;background:var(--sn-raised,#252725)}
html:has(body.ns-app){scroll-padding-top:96px}
@media(max-width:600px){body.ns-app .ns-header-inner{width:calc(100% - 28px);min-height:68px;gap:12px}body.ns-app .ns-brand{gap:0}body.ns-app .ns-brand .ns-mark{display:none}body.ns-app .ns-brand strong{font-size:20px}body.ns-app .ns-header-actions{gap:2px}.ns-header-actions>.na-account-wrap{width:76px;min-width:76px}body.ns-app .ns-theme{width:44px;height:44px}.ns-navigation-panel{max-height:calc(100dvh - 76px);top:calc(100% - 2px)}html:has(body.ns-app){scroll-padding-top:84px}}
@media(max-width:359px){body.ns-app .ns-brand .ns-mark{display:block;width:29px;height:29px}body.ns-app .ns-brand strong{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
@media(forced-colors:active){.ns-locale:focus-within,body.ns-app .ns-theme:focus-visible,body.ns-app .ns-navigation>summary:focus-visible{outline-color:Highlight}.na-account-loading{border:1px solid ButtonText}}

.na-account-wrap:has(noscript>a)>#grayAccountOpen{display:none}.ns-account.ns-account-noscript{box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-decoration:none}
/* Enhanced language picker; the native select remains the no-script fallback. */
.ns-locale.ns-locale-custom{position:static;border:0;background:transparent}.ns-locale.ns-locale-custom:focus-within{outline:none}
.ns-locale-custom .ns-locale-trigger{box-sizing:border-box;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;cursor:pointer}
.ns-locale-custom .ns-locale-trigger:hover,.ns-locale-trigger[aria-expanded=true]{background:var(--sn-raised,#252725);border-color:var(--sn-line,#363936)}
.ns-locale-trigger:focus-visible{outline:2px solid var(--sn-text,#eee);outline-offset:2px}
.ns-locale-custom .ns-locale-trigger .ns-locale-globe{position:static;width:20px;height:20px}.ns-locale-custom select{display:none}
.ns-locale-menu{position:absolute;right:0;top:calc(100% - 5px);box-sizing:border-box;z-index:10010;display:grid;gap:2px;width:216px;max-width:100%;padding:7px;border:1px solid var(--sn-line,#363936);border-radius:13px;background:var(--sn-panel,#191b1a);color:var(--sn-text,#eee);box-shadow:0 12px 35px #0003}
.ns-locale-menu[hidden]{display:none}.ns-locale-option{box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:11px 12px;border:0;border-radius:7px;background:transparent;color:inherit;font:inherit;font-size:14px;line-height:1.6;text-align:left;cursor:pointer}
.ns-locale-option svg{width:18px;height:18px;flex:none;margin-left:auto}.ns-locale-option[aria-checked=true]{font-weight:700}.ns-locale-option:hover,.ns-locale-option:focus-visible{background:var(--sn-raised,#252725)}.ns-locale-option:focus-visible{outline:2px solid var(--sn-text,#eee);outline-offset:-2px}
@media(max-width:600px){.ns-locale-menu{top:calc(100% - 2px)}}
/* Shared footer: quiet link groups, without changing the disclosure above it. */
body.ns-app .ns-footer.ns-footer-clean{background:var(--sn-bg,#101211);border-top:1px solid var(--sn-line,#363936)}
body.ns-app .ns-footer-clean .ns-footer-inner{box-sizing:border-box;display:block;width:min(1080px,calc(100% - 48px));max-width:1080px;margin:0 auto;padding:40px 0 23px}
.ns-footer-layout{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:36px}
body.ns-app .ns-footer-clean .ns-footer-brand{display:inline-flex;align-items:center;gap:9px;min-height:36px;margin:0;color:var(--sn-text,#eee);font-size:18px;font-weight:700;text-decoration:none;letter-spacing:-.035em}
body.ns-app .ns-footer-clean .ns-footer-brand .ns-mark{display:block;width:26px;height:26px;object-fit:contain}
body.ns-app .ns-footer-clean .ns-footer-summary{display:block;max-width:250px;margin:12px 0 8px;color:var(--sn-muted,#a8aaa6);font-size:12px;line-height:1.8}
.ns-footer-email{display:inline-flex;align-items:center;min-height:44px;max-width:100%;color:var(--sn-muted,#a8aaa6);font-size:12px;overflow-wrap:anywhere;text-decoration:none}
.ns-footer-group{min-width:0}.ns-footer-group h2{margin:6px 0 9px;color:var(--sn-text,#eee);font:inherit;font-size:12px;font-weight:700;line-height:1.6}
.ns-footer-group ul{list-style:none;margin:0;padding:0}.ns-footer-group li{margin:0;padding:0}
.ns-footer-group a{display:flex;align-items:center;box-sizing:border-box;min-height:40px;padding:7px 0;color:var(--sn-muted,#a8aaa6);font-size:12px;line-height:1.7;text-decoration:none;overflow-wrap:anywhere}
body.ns-app .ns-footer-clean .ns-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:26px;padding:18px 0 0;border-top:1px solid var(--sn-line,#363936);font-size:11px;line-height:1.5;color:var(--sn-muted,#a8aaa6)}
.ns-footer-clean .ns-footer-bottom a{display:inline-flex;align-items:center;gap:6px;min-height:30px;color:inherit;text-decoration:none}
.ns-footer-clean a:hover{color:var(--sn-text,#eee);text-decoration:underline;text-underline-offset:4px}.ns-footer-clean a:focus-visible{outline:2px solid var(--sn-text,#eee);outline-offset:4px;border-radius:3px}
@media(max-width:800px){.ns-footer-layout{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ns-footer-about{grid-column:1/-1}body.ns-app .ns-footer-clean .ns-footer-summary{max-width:none;margin-bottom:2px}.ns-footer-group a{min-height:44px}}
@media(max-width:480px){body.ns-app .ns-footer-clean .ns-footer-inner{width:calc(100% - 28px);padding:28px 0 17px}.ns-footer-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.ns-footer-information{grid-column:1/-1}.ns-footer-information ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.ns-footer-group h2{margin-top:0}body.ns-app .ns-footer-clean .ns-footer-bottom{margin-top:24px;padding-top:14px}}
@media(max-width:800px){body.ns-app .ns-footer-clean .ns-footer-brand{min-height:44px}.ns-footer-clean .ns-footer-bottom a{min-height:44px}}
@media(max-width:600px){body.ns-app:has(.rcs-mobile-dock) .ns-footer-clean .ns-footer-inner{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}}
/* n160 헤더: 아이콘 사이 간격 줄이기, 모바일은 로고만 */
body.ns-app .ns-header-actions{gap:2px!important}
.ns-header-actions>.na-account-wrap{width:auto!important;min-width:0!important;margin-left:6px}
@media(max-width:600px){body.ns-app .ns-brand .ns-mark{display:block!important;width:32px!important;height:32px!important}body.ns-app .ns-brand strong,body.ns-app .ns-brand small{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}

/* n198: 디스코드 봇은 메뉴 아래 줄, '앱으로 설치' 오른쪽 */
#grayNavigation .ns-install-slot{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
#grayNavigation .ns-install-slot>.ns-install{width:auto;flex:0 0 auto}
#grayNavigation .ns-install-slot>button.ns-install{order:-1}
#grayNavigation .ns-install-slot:has(.ns-nav-discord){padding-top:5px;margin-top:5px;border-top:1px solid var(--sn-line,#363936)}
#grayNavigation .ns-nav-discord svg{width:18px;height:18px;flex:none}
#grayNavigation .ns-nav-discord[aria-current=page]{background:var(--sn-raised,#252725)}
