참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
/* =========================================
   COASTLINE: BLACK ICE - Theme
   ========================================= */

/* 선택 영역 */
::selection {
    background: rgba(133, 67, 105, 0.50);
    color: #ffffff;
}

::-moz-selection {
    background: rgba(133, 67, 105, 0.50);
    color: #ffffff;
}

/* SVG + 테두리일 때 사각 테두리 제거, 형태 외곽선만 적용 */
.mw-image-border:has(img[src$=".svg.png"]) {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
}

.mw-image-border img[src$=".svg.png"] {
    border: none !important;
    box-shadow: none !important;
    filter:
        drop-shadow(1px 0 0 #ffffff)
        drop-shadow(-1px 0 0 #ffffff)
        drop-shadow(0 1px 0 #ffffff)
        drop-shadow(0 -1px 0 #ffffff);
}

/* 폰트 */
@font-face {
    font-family: 'Galmuri11';
    src: url('/fonts/Galmuri11.woff2') format('woff2');
    font-weight: 400;
    font-display: block;
}

@font-face {
    font-family: 'Galmuri11';
    src: url('/fonts/Galmuri11-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: block;
}

@font-face {
    font-family: 'BoldRound';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2507-2@1.0/BoldDungGeunMo.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}

html body, html .liberty-content-main {
    font-family: 'Galmuri11', sans-serif !important;
    font-weight: 400 !important;
    font-size: 12px;
}

* { font-family: inherit !important; }

.fa, .far, .fas, .fab, [class*="fa-"] {
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands', 'FontAwesome' !important;
}

.mw-page-title-main, .mw-page-title-namespace,
.liberty-content-main h1, .liberty-content-main h2,
.liberty-content-main h3, .liberty-content-main h4,
.liberty-content-main h5, .liberty-content-main h6 {
    font-family: 'BoldRound', sans-serif !important;
}

/* 배경 */
.WW-bg {
    position: fixed;
    overflow: hidden;
    pointer-events: none;
    z-index: -3;
    background: #000;
}

.WW-bg::before {
    content: "";
    position: absolute;
    top: -256px;
    left: -256px;
    width: calc(100% + 512px);
    height: calc(100% + 512px);
    background-image:
        linear-gradient(rgba(85,10,63,0.75) 1px, transparent 1px),
        linear-gradient(90deg, rgba(85,10,63,0.75) 1px, transparent 1px);
    background-size: 72px 72px;
    animation: WWGridLarge 18s linear infinite;
    opacity: .9;
    filter: drop-shadow(0 0 4px rgba(99,27,83,0.45));
}

@keyframes WWGridLarge {
    from { transform: translate(0,0) }
    to { transform: translate(72px,72px) }
}

/* 스크롤 */
html { overflow-y: scroll; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0a0909; }
::-webkit-scrollbar-thumb { background: #854369; border-radius: 3px; }

/* 제목 */
.mw-page-title-main {
    border-radius: 5px 5px 0 0 !important;
    padding: 7px !important;
    border: 2px solid #854369 !important;
    border-bottom: none !important;
    background: #171717 !important;
    color: #e2e2e2 !important;
    display: inline-block !important;
    position: relative !important;
}

.mw-page-title-main::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: #171717;
}

.mw-page-title-namespace {
    padding: 7px 0 7px 7px !important;
    border: 2px solid #854369 !important;
    border-right: none !important;
    border-bottom: none !important;
    border-radius: 5px 0 0 0 !important;
    background: #171717 !important;
    color: #e2e2e2 !important;
    display: inline-block !important;
    vertical-align: bottom !important;
    position: relative !important;
}

.mw-page-title-namespace::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: #171717;
}

.mw-page-title-separator {
    padding: 7px 0 !important;
    border-top: 2px solid #854369 !important;
    border-bottom: none !important;
    background: #171717 !important;
    color: #e2e2e2 !important;
    display: inline-block !important;
    vertical-align: bottom !important;
    position: relative !important;
}

.mw-page-title-separator::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: #171717;
}

.mw-page-title-namespace ~ .mw-page-title-main {
    border-radius: 0 5px 0 0 !important;
    padding: 7px 7px 7px 0 !important;
    border-left: none !important;
    vertical-align: bottom !important;
}

/* 특수 페이지 h1 */
.liberty-content-header .title h1:not(:has(.mw-page-title-main)) {
    background: #171717 !important;
    color: #e2e2e2 !important;
    border: 2px solid #854369 !important;
    border-bottom: none !important;
    border-radius: 5px 5px 0 0 !important;
    padding: 7px !important;
    display: inline-block !important;
    position: relative !important;
    font-family: 'BoldRound', sans-serif !important;
}

.liberty-content-header .title h1:not(:has(.mw-page-title-main))::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: #171717;
}

/* 대문 제목 숨기기 */
.mw-page-title-main.clbi-hide,
.mw-page-title-main.clbi-hide::after {
    display: none !important;
}

/* 본문 */
.Liberty .content-wrapper .liberty-content .liberty-content-main,
.mw-datatable th, .mw-datatable tr:hover td, textarea,
div.mw-warning-with-logexcerpt, div.mw-lag-warn-high,
div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon {
    background: #171717;
    color: #ffffff;
}

.mw-references-columns {
    border-top: 1px solid #414141 !important;
}

/* 문단 보더 */
.Liberty .content-wrapper .liberty-content .liberty-content-main h1,
.Liberty .content-wrapper .liberty-content .liberty-content-main h2,
.Liberty .content-wrapper .liberty-content .liberty-content-main h3,
.Liberty .content-wrapper .liberty-content .liberty-content-main h4,
.Liberty .content-wrapper .liberty-content .liberty-content-main h5,
.Liberty .content-wrapper .liberty-content .liberty-content-main h6 {
    margin-top: 1rem;
    border-bottom: 1px solid #414141 !important;
    margin-bottom: 0.6rem;
    padding-bottom: 0.6rem;
    overflow-wrap: break-word;
    overflow: hidden;
}

/* 링크 색상 */
a { color: #d45aa2 !important; }
a:hover { color: #fdecf9 !important; }
a:active { color: #b3337d !important; }
a.new { color: #ba0000 !important; }
a.new:hover { color: #fe5757 !important; }
a.new:active { color: #ba0000 !important; }
a.external { color: #33b733 !important; text-decoration: underline !important; }
a.external:hover { color: #95ed95 !important; }
a.external:active { color: #33b733 !important; }
a.external:before { display: none !important; }

/* CLBI 템플릿 링크 */
.CLBI-template a { color: #d45aa2 !important; }
.CLBI-template a:hover { color: #fdecf9 !important; }
.CLBI-template a:active { color: #b3337d !important; }
.CLBI-template a.new { color: #ba0000 !important; }
.CLBI-template a.new:hover { color: #fe5757 !important; }
.CLBI-template a.new:active { color: #ba0000 !important; }
.CLBI-template a.external { color: #33b733 !important; }
.CLBI-template a.external:hover { color: #95ed95 !important; }
.CLBI-template a.external:active { color: #33b733 !important; }

/* 편집 버튼 */
.btn-secondary {
    color: #e2e2e2 !important;
    background-color: #171717 !important;
    border: 2px solid #854369 !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 0 0 #854369 !important;
}

.btn-secondary:hover {
    color: #d46262 !important;
    background-color: #171717 !important;
    border: 2px solid #854369 !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 0 0 #854369 !important;
}

.btn-group .btn:first-child { border-radius: 5px 0 0 0 !important; }
.btn-group .dropdown-toggle { border-radius: 0 5px 0 0 !important; }

/* 기본 목차: 본문에서는 숨김 */
.liberty-content-main #toc,
.liberty-content-main .toc {
    display: none !important;
}

/* 왼쪽 목차: 전체 내용 영역 */
#side-toc-box .toc-sidebar-content {
    padding: 10px 12px !important;
}

/* 왼쪽 목차: 새로 생성한 목차 목록 */
#side-toc-box .generated-toc {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 왼쪽 목차: 목록 항목 */
#side-toc-box .generated-toc li {
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    line-height: 1.5 !important;
}

#side-toc-box .generated-toc li:last-child {
    margin-bottom: 0 !important;
}

/* 왼쪽 목차: 링크 박스 */
#side-toc-box .generated-toc a {
    display: block !important;
    color: #E2E2E2 !important;
    text-decoration: none !important;
    padding: 4px 6px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}

#side-toc-box .generated-toc a:hover {
    background: rgba(133, 67, 105, 0.18) !important;
    color: #ffffff !important;
}

/* 왼쪽 목차: 긴 제목 감싸는 영역 */
#side-toc-box .toc-scroll-wrap {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
}

/* 왼쪽 목차: 실제로 스크롤되는 긴 제목에만 오른쪽 페이드 적용 */
#side-toc-box .toc-scroll-wrap.is-scrolling {
    mask-image: linear-gradient(to right, black 88%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(to right, black 88%, transparent 100%) !important;
}

/* 왼쪽 목차: 실제 스크롤되는 텍스트 */
#side-toc-box .toc-scroll-text {
    display: inline-block !important;
    white-space: nowrap !important;
    max-width: none !important;
}

/* 왼쪽 목차: h2 항목 */
#side-toc-box .toc-level-2 .toc-scroll-text {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #E2E2E2 !important;
}

/* 왼쪽 목차: h3 항목 */
#side-toc-box .toc-level-3 {
    padding-left: 12px !important;
}

#side-toc-box .toc-level-3 .toc-scroll-text {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #b8b8b8 !important;
}

#side-toc-box .toc-level-3 a:hover .toc-scroll-text {
    color: #ffffff !important;
}

/* 왼쪽 목차: 문서 스크롤 중에도 목차가 화면 안에 남도록 처리 */
#clbi-left-sidebar {
    align-self: stretch !important;
}

/* 왼쪽 목차: 목차 박스만 화면 상단에 고정되듯 따라오게 함 */
#side-toc-box {
    position: sticky !important;
    top: 10px !important;
    z-index: 1001;
    max-height: calc(100vh - 40px);
    overflow: hidden;
}

/* 왼쪽 목차: 항목이 많을 때 목차 내부만 스크롤되게 함 */
#side-toc-box .toc-sidebar-content {
    max-height: calc(100vh - 88px);
    overflow-y: auto;
    overflow-x: hidden;
}

/* 분류 칸 */
.catlinks {
    background: #1A1A1A !important;
    border: 2px solid #854369 !important;
    border-radius: 5px !important;
    font-size: 12px !important;
    box-shadow: 0px 0px 3px #361427 !important;
    color: #e2e2e2 !important;
    padding: 2px 10px !important;
    margin: -7px auto 10px auto !important;
    width: calc(100% + 8px) !important;
    position: relative !important;
    left: -3px !important;
}

.catlinks ul {
    padding: 0 !important;
    margin: 0 !important;
    background-color: #1A1A1A !important;
}

.catlinks a {
    color: #854369 !important;
}

.catlinks a:hover {
    color: #d45aa2 !important;
}

/* 분류 문서 */
.mw-category-generated { color: #e2e2e2 !important; }
.mw-category-generated a { color: #854369 !important; }
.CategoryTreeToggle { color: #854369 !important; }
.number-link { color: #854369 !important; }

/* 편집 섹션 */
.mw-editsection {
    color: #b45c8f !important;
    float: right;
    font-weight: bold;
}

/* 넘겨주기 */
.mw-redirectedfrom { color: #854369 !important; }
.mw-redirectedfrom a { color: #854369 !important; }

/* 서브페이지 */
.subpages { color: #fdecec !important; }
.subpages a { color: #854369 !important; }
.subpages a:active { color: #854369 !important; }

/* 공지사항 */
.alert-info {
    background-color: #171717 !important;
    border: 2px solid #854369 !important;
    box-shadow: 0px 0px 3px #000000;
}

/* 푸터 */
.footer-info-lastmod { color: #e2e2e2 !important; }
.footer-info-copyright { color: #e2e2e2 !important; }
.footer-places-privacy a { color: #c95197 !important; }
.footer-places-privacy a:active { color: #e2e2e2 !important; }
.footer-places-about a { color: #c95197 !important; }
.footer-places-about a:active { color: #e2e2e2 !important; }
.footer-places-disclaimers a { color: #c95197 !important; }
.footer-places-disclaimers a:active { color: #e2e2e2 !important; }

/* 리스트 */
.liberty-content-main ul:not(#toc) {
    list-style-type: disc;
    list-style-image: none;
}

.liberty-content-main ul ul:not(#toc) {
    list-style-type: circle;
    list-style-image: none;
}

.liberty-content-main ul ul ul:not(#toc) {
    list-style-type: square;
    list-style-image: none;
}

/* 반전 */
.invert {
    filter: invert(1);
}

/* 편집 권한에 따라 우측 모서리 처리 */
.liberty-content.content-tools-hidden .liberty-content-main {
    border-top-right-radius: 5px !important;
}

/* 분류 */
.liberty-content-main .catlinks {
    width: calc(100% + 10px) !important;
    left: -5px !important;
    margin: 14px auto 0 auto !important;
    padding: 5px 10px !important;
    box-sizing: border-box !important;
}

/* 이미지 위에 이미지 얹기 */
.portrait-overlay-img,
.portrait-overlay-img a {
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
}

.portrait-overlay-img img {
    height: var(--overlay-height, 180px) !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
}

/* 관련 틀 본문 하단 여백 보정 */
.related-template-body > *:last-child {
    margin-bottom: 1px !important;
}

.related-template-body table:last-child,
.related-template-body .wikitable:last-child,
.related-template-body [id^="collapsible"]:last-child {
    margin-bottom: 1px !important;
}

.related-template-body > br:last-child {
    display: none !important;
}

/* 컨트리볼 */
#clbi-left-nations-image {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
}


/* =========================================
   Historical Events Timeline
   ========================================= */

/* 역사적 사건 표: 효과용 내부 래퍼 */
.timeline-event {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 1.45em;
    box-sizing: border-box;
    line-height: inherit;
    text-align: center;
}

/* 역사적 사건 표: 실제 사건명 */
.timeline-title {
    position: relative;
    z-index: 2;
    display: inline-block;
    text-align: center;
}

/* 연관 사건: 셀 내부 상단 하이라이트
   실제 공간을 차지하지 않고 infobox-glass-value 위에 얹힌다 */
.timeline-event.arc-linked::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 2px;
    right: 2px;
    height: 3px;
    border-radius: 999px;
    pointer-events: none;
    background:
        linear-gradient(
            to right,
            rgba(var(--arc-rgb), 0) 0%,
            rgba(var(--arc-rgb), 0.95) 14%,
            rgba(var(--arc-rgb), 0.95) 86%,
            rgba(var(--arc-rgb), 0) 100%
        );
    box-shadow:
        0 0 7px rgba(var(--arc-rgb), 0.28);
}

/* 대사건 본행: 사건명 칸 내부의 기준 패널 */
.timeline-event.arc-root {
    padding: 1px 0;
    overflow: visible;
}

/* 대사건 본행: 중앙 패널
   좌우 끝이 뭉툭하게 끊기지 않도록 페이드 마감 */
.timeline-event.arc-root::before {
    content: "";
    position: absolute;
    left: 2px;
    right: 2px;
    top: 50%;
    height: 16px;
    transform: translateY(-50%);
    border-radius: 4px;
    pointer-events: none;
    background:
        linear-gradient(
            to bottom,
            rgba(255,255,255,0.055) 0%,
            rgba(0,0,0,0.24) 100%
        ),
        linear-gradient(
            to right,
            rgba(var(--arc-rgb), 0) 0%,
            rgba(var(--arc-rgb), 0.24) 12%,
            rgba(var(--arc-rgb), 0.38) 50%,
            rgba(var(--arc-rgb), 0.24) 88%,
            rgba(var(--arc-rgb), 0) 100%
        );
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.055),
        inset 0 -1px 0 rgba(0,0,0,0.42),
        0 0 8px rgba(var(--arc-rgb), 0.18);
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 8%,
        #000 92%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 8%,
        #000 92%,
        transparent 100%
    );
}

/* 대사건 본행: 위아래 기준선
   이것도 좌우 끝을 페이드 처리 */
.timeline-event.arc-root::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    top: 50%;
    height: 20px;
    transform: translateY(-50%);
    border-radius: 4px;
    pointer-events: none;
    background:
        linear-gradient(
            to right,
            rgba(var(--arc-rgb), 0) 0%,
            rgba(var(--arc-rgb), 0.52) 14%,
            rgba(var(--arc-rgb), 0.52) 86%,
            rgba(var(--arc-rgb), 0) 100%
        ) top / 100% 1px no-repeat,
        linear-gradient(
            to right,
            rgba(var(--arc-rgb), 0) 0%,
            rgba(var(--arc-rgb), 0.28) 14%,
            rgba(var(--arc-rgb), 0.28) 86%,
            rgba(var(--arc-rgb), 0) 100%
        ) bottom / 100% 1px no-repeat;
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 10%,
        #000 90%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 10%,
        #000 90%,
        transparent 100%
    );
}

/* 대사건 본행: 제목 자체는 가운데 정렬 유지 */
.timeline-event.arc-root .timeline-title {
    text-shadow:
        0 0 4px rgba(var(--arc-rgb), 0.34),
        0 0 9px rgba(var(--arc-rgb), 0.16);
}