미디어위키:Template.css: 두 판 사이의 차이

편집 요약 없음
편집 요약 없음
 
(같은 사용자의 중간 판 53개는 보이지 않습니다)
1번째 줄: 1번째 줄:
@import url('/index.php?title=MediaWiki:Template.Infobox.css&action=raw&ctype=text/css');
@import url('/index.php?title=MediaWiki:Template.Infobox.css&action=raw&ctype=text/css');


/* Proitem 애니메이션 */
/* =========================================
  Proitem Animation
  ========================================= */
 
.wip-stripe-layer {
.wip-stripe-layer {
     position: absolute;
     position: absolute;
18번째 줄: 21번째 줄:
     z-index: 0;
     z-index: 0;
}
}
.wip-active .wip-stripe-layer {
.wip-active .wip-stripe-layer {
     animation: wip-stripe-move 8s linear infinite;
     animation: wip-stripe-move 8s linear infinite;
}
}
.wip-standby .wip-stripe-layer {
.wip-standby .wip-stripe-layer {
     animation: none;
     animation: none;
}
}
@keyframes wip-stripe-move {
@keyframes wip-stripe-move {
     from { transform: translateX(0); }
     from { transform: translateX(0); }
29번째 줄: 35번째 줄:
}
}


/* 펼접 */
/* =========================================
  Collapsible
  ========================================= */


[id^="collapsible"] {
[id^="collapsible"] {
  overflow: hidden;
    overflow: hidden;
  transition: max-height .25s ease;
    transition: max-height .25s ease;
  max-height: 0;
    max-height: 0;
}
}


/* Color */
/* =========================================
  Color
  ========================================= */
 
.color-text {
.color-text {
     color: var(--text-color);
     color: var(--text-color);
53번째 줄: 64번째 줄:
   CRT Glitch Panel
   CRT Glitch Panel
   ========================================= */
   ========================================= */
.crt-glitch-panel {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-radius: 5px;
    box-shadow:
        inset 0 0 18px rgba(255,255,255,0.04),
        inset 0 0 42px rgba(133,67,105,0.10),
        0 0 18px rgba(133,67,105,0.20);
}


.crt-glitch-panel .vanishing-grid-bg {
.crt-glitch-panel .vanishing-grid-bg {
63번째 줄: 85번째 줄:
}
}


/* 실제 내용 */
.crt-glitch-panel > * {
.crt-glitch-panel > * {
     position: relative;
     position: relative;
69번째 줄: 90번째 줄:
}
}


/* 빛 번짐 대상 */
.crt-glow-content {
.crt-glow-content {
     position: relative;
     position: relative;
     z-index: 2;
     z-index: 2;
     text-shadow:
     text-shadow:
        -1px 0 0 rgba(80,160,255,0.75),
        1px 0 0 rgba(255,55,90,0.65),
        2px 0 0 rgba(255,210,70,0.45),
         0 0 2px rgba(255,255,255,0.35),
         0 0 2px rgba(255,255,255,0.35),
         0 0 6px rgba(212,90,162,0.22),
         0 0 6px rgba(212,90,162,0.22),
80번째 줄: 103번째 줄:
}
}


/* 안개 낀 빛 번짐 */
.crt-glow-content::before {
.crt-glow-content::before {
     content: "";
     content: "";
99번째 줄: 121번째 줄:
}
}


/* 제목류 발광 */
.crt-glitch-panel .fake-h1,
.crt-glitch-panel .fake-h1,
.crt-glitch-panel h1,
.crt-glitch-panel h1,
105번째 줄: 126번째 줄:
.crt-glitch-panel strong {
.crt-glitch-panel strong {
     text-shadow:
     text-shadow:
        -1px 0 0 rgba(80,160,255,0.95),
        1px 0 0 rgba(255,55,90,0.85),
        2px 0 0 rgba(255,210,70,0.55),
         0 0 3px rgba(255,255,255,0.65),
         0 0 3px rgba(255,255,255,0.65),
         0 0 10px rgba(255,255,255,0.28),
         0 0 10px rgba(255,255,255,0.28),
111번째 줄: 135번째 줄:
}
}


/* 위로 올라가는 CRT 가로선 */
.crt-glitch-panel img {
    filter:
        drop-shadow(-1px 0 0 rgba(80,160,255,0.65))
        drop-shadow(1px 0 0 rgba(255,55,90,0.55))
        drop-shadow(2px 0 0 rgba(255,210,70,0.35))
        drop-shadow(0 0 6px rgba(212,90,162,0.18));
}
 
.crt-glitch-panel::before {
.crt-glitch-panel::before {
     content: "";
     content: "";
131번째 줄: 162번째 줄:
}
}


/* 위로 지나가는 글리치 빛줄 */
.crt-glitch-panel::after {
.crt-glitch-panel::after {
     content: "";
     content: "";
153번째 줄: 183번째 줄:


/* =========================================
/* =========================================
   CRT Glitch Panel
   Horizontal CRT Warp
   ========================================= */
   ========================================= */


.crt-glitch-panel {
.crt-horizontal-warp {
     position: relative;
     position: relative;
     overflow: hidden;
     overflow: hidden;
     isolation: isolate;
     isolation: isolate;
    border-radius: 5px;
    box-shadow:
        inset 0 0 18px rgba(255,255,255,0.04),
        inset 0 0 42px rgba(133,67,105,0.10),
        0 0 18px rgba(133,67,105,0.20);
}
}


/* 실제 내용 */
.crt-horizontal-warp .crt-glow-content {
.crt-glitch-panel > * {
     animation: crt-base-drift 9s steps(1, end) infinite;
     position: relative;
     background-image:
     z-index: 2;
        repeating-linear-gradient(
            to bottom,
            rgba(120,180,255,0.00) 0px,
            rgba(120,180,255,0.00) 3px,
            rgba(120,180,255,0.05) 4px,
            rgba(255,80,170,0.035) 5px,
            rgba(120,180,255,0.00) 7px
        );
    background-blend-mode: screen;
}
}


/* 빛 번짐 대상 */
.crt-horizontal-warp .crt-glow-content::after {
.crt-glow-content {
    position: relative;
    z-index: 2;
    text-shadow:
        0 0 2px rgba(255,255,255,0.35),
        0 0 6px rgba(212,90,162,0.22),
        0 0 12px rgba(133,67,105,0.18);
    filter: drop-shadow(0 0 5px rgba(212,90,162,0.18));
}
 
/* 안개 낀 빛 번짐 */
.crt-glow-content::before {
     content: "";
     content: "";
     position: absolute;
     position: absolute;
     inset: -24px;
     inset: 0;
     z-index: -1;
     z-index: 6;
     pointer-events: none;
     pointer-events: none;
    opacity: 0;
     background:
     background:
         radial-gradient(
         linear-gradient(
             circle at 50% 35%,
             to right,
             rgba(255,255,255,0.08) 0%,
            transparent 0%,
             rgba(212,90,162,0.10) 18%,
             rgba(120,180,255,0.18) 10%,
             rgba(133,67,105,0.08) 34%,
             rgba(255,255,255,0.18) 48%,
             transparent 68%
             rgba(212,90,162,0.20) 78%,
             transparent 100%
         );
         );
     filter: blur(18px);
     mix-blend-mode: screen;
     opacity: 0.75;
     animation: crt-wide-horizontal-tear 3.8s steps(1, end) infinite;
}
}


/* 제목류 발광 */
/* =========================================
.crt-glitch-panel .fake-h1,
  CRT Animations
.crt-glitch-panel h1,
  ========================================= */
.crt-glitch-panel h2,
.crt-glitch-panel strong {
    text-shadow:
        0 0 3px rgba(255,255,255,0.65),
        0 0 10px rgba(255,255,255,0.28),
        0 0 18px rgba(212,90,162,0.35),
        0 0 32px rgba(133,67,105,0.24);
}


/* 위로 올라가는 CRT 가로선 */
@keyframes crt-scanlines-up {
.crt-glitch-panel::before {
     from {
     content: "";
        transform: translateY(0);
    position: absolute;
     }
    inset: -80px 0;
    z-index: 3;
    pointer-events: none;
    opacity: 0.22;
    background:
        repeating-linear-gradient(
            to bottom,
            rgba(255,255,255,0.08) 0px,
            rgba(255,255,255,0.08) 1px,
            transparent 2px,
            transparent 5px
        );
     mix-blend-mode: screen;
    animation: crt-scanlines-up 7s linear infinite;
}


/* 위로 지나가는 글리치 빛줄 */
    to {
.crt-glitch-panel::after {
        transform: translateY(-80px);
    content: "";
     }
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(255,255,255,0.18) 48%,
            rgba(212,90,162,0.28) 50%,
            rgba(90,120,255,0.16) 52%,
            transparent 56%
        );
    mix-blend-mode: screen;
     animation: crt-glitch-band-up 6.5s steps(1, end) infinite;
}
}


/* =========================================
@keyframes crt-glitch-band-up {
  CRT Glitch Panel
    0%, 12%, 27%, 43%, 58%, 76%, 100% {
  ========================================= */
        opacity: 0;
        transform: translateY(100%);
    }
 
    13% {
        opacity: 0.75;
        transform: translateY(70%);
    }


.crt-glitch-panel {
    14% {
    position: relative;
        opacity: 0.15;
    overflow: hidden;
         transform: translateY(62%) skewX(-2deg);
    isolation: isolate;
    }
    border-radius: 5px;
    box-shadow:
        inset 0 0 18px rgba(255,255,255,0.04),
         inset 0 0 42px rgba(133,67,105,0.10),
        0 0 18px rgba(133,67,105,0.20);
}


/* 실제 내용 */
    28% {
.crt-glitch-panel > * {
        opacity: 0.55;
    position: relative;
        transform: translateY(35%);
    z-index: 2;
    }
}


/* 빛 번짐 + RGB split 대상 */
    29% {
.crt-glow-content {
        opacity: 0.18;
    position: relative;
         transform: translateY(28%) skewX(2deg);
    z-index: 2;
     }
    text-shadow:
        -1px 0 0 rgba(80,160,255,0.75),
         1px 0 0 rgba(255,55,90,0.65),
        2px 0 0 rgba(255,210,70,0.45),
        0 0 2px rgba(255,255,255,0.35),
        0 0 6px rgba(212,90,162,0.22),
        0 0 12px rgba(133,67,105,0.18);
     filter: drop-shadow(0 0 5px rgba(212,90,162,0.18));
}


/* 안개 낀 빛 번짐 */
    44% {
.crt-glow-content::before {
        opacity: 0.65;
    content: "";
        transform: translateY(10%);
    position: absolute;
     }
    inset: -24px;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(255,255,255,0.08) 0%,
            rgba(212,90,162,0.10) 18%,
            rgba(133,67,105,0.08) 34%,
            transparent 68%
        );
     filter: blur(18px);
    opacity: 0.75;
}


/* 제목류 발광 + 더 강한 RGB split */
    45% {
.crt-glitch-panel .fake-h1,
        opacity: 0.12;
.crt-glitch-panel h1,
        transform: translateY(4%) skewX(-1deg);
.crt-glitch-panel h2,
    }
.crt-glitch-panel strong {
 
     text-shadow:
     59% {
         -1px 0 0 rgba(80,160,255,0.95),
         opacity: 0.5;
         1px 0 0 rgba(255,55,90,0.85),
         transform: translateY(-20%);
         2px 0 0 rgba(255,210,70,0.55),
    }
         0 0 3px rgba(255,255,255,0.65),
 
        0 0 10px rgba(255,255,255,0.28),
    60% {
         0 0 18px rgba(212,90,162,0.35),
         opacity: 0.16;
         0 0 32px rgba(133,67,105,0.24);
         transform: translateY(-26%) skewX(2deg);
}
    }
 
    77% {
         opacity: 0.55;
         transform: translateY(-55%);
    }


/* 이미지 외곽 RGB split + 약한 발광 */
    78% {
.crt-glitch-panel img {
        opacity: 0;
    filter:
         transform: translateY(-70%);
        drop-shadow(-1px 0 0 rgba(80,160,255,0.65))
    }
         drop-shadow(1px 0 0 rgba(255,55,90,0.55))
        drop-shadow(2px 0 0 rgba(255,210,70,0.35))
        drop-shadow(0 0 6px rgba(212,90,162,0.18));
}
}


/* 위로 올라가는 CRT 가로선 */
@keyframes crt-base-drift {
.crt-glitch-panel::before {
     0%, 88%, 100% {
     content: "";
        transform: translateX(0);
    position: absolute;
        filter: drop-shadow(0 0 5px rgba(212,90,162,0.18));
    inset: -80px 0;
     }
     z-index: 3;
 
     pointer-events: none;
     89% {
    opacity: 0.22;
        transform: translateX(-2px) skewX(-0.4deg);
    background:
        filter:
        repeating-linear-gradient(
            contrast(1.08)
             to bottom,
             brightness(1.05)
            rgba(255,255,255,0.08) 0px,
             drop-shadow(0 0 7px rgba(212,90,162,0.24));
             rgba(255,255,255,0.08) 1px,
     }
            transparent 2px,
            transparent 5px
        );
     mix-blend-mode: screen;
    animation: crt-scanlines-up 7s linear infinite;
}


/* 위로 지나가는 글리치 빛줄 */
    90% {
.crt-glitch-panel::after {
        transform: translateX(3px) skewX(0.5deg);
    content: "";
     }
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(255,255,255,0.18) 48%,
            rgba(212,90,162,0.28) 50%,
            rgba(90,120,255,0.16) 52%,
            transparent 56%
        );
     mix-blend-mode: screen;
    animation: crt-glitch-band-up 6.5s steps(1, end) infinite;
}


/* =========================================
    91% {
  Horizontal CRT Warp
        transform: translateX(-1px);
  ========================================= */
    }


.crt-horizontal-warp {
    92% {
    position: relative;
        transform: translateX(0);
    overflow: hidden;
        filter: drop-shadow(0 0 5px rgba(212,90,162,0.18));
     isolation: isolate;
     }
}
}


/* 내용물 자체의 약한 신호 흔들림 + 얇은 수평 노이즈 */
@keyframes crt-wide-horizontal-tear {
.crt-horizontal-warp .crt-glow-content {
     0%, 8%, 17%, 29%, 43%, 61%, 78%, 100% {
     animation: crt-base-drift 9s steps(1, end) infinite;
        opacity: 0;
    background-image:
        transform: translateX(0);
        repeating-linear-gradient(
        clip-path: inset(0 0 0 0);
            to bottom,
     }
            rgba(120,180,255,0.00) 0px,
            rgba(120,180,255,0.00) 3px,
            rgba(120,180,255,0.05) 4px,
            rgba(255,80,170,0.035) 5px,
            rgba(120,180,255,0.00) 7px
        );
     background-blend-mode: screen;
}


/* 수평 찢김 레이어 */
    9% {
.crt-horizontal-warp .crt-glow-content::after {
        opacity: 0.45;
    content: "";
        transform: translateX(-18px) skewX(-3deg);
    position: absolute;
         clip-path: inset(18% 0 70% 0);
    inset: 0;
     }
    z-index: 6;
    pointer-events: none;
    opacity: 0;
    background:
         linear-gradient(
            to right,
            transparent 0%,
            rgba(120,180,255,0.18) 10%,
            rgba(255,255,255,0.18) 48%,
            rgba(212,90,162,0.20) 78%,
            transparent 100%
        );
     mix-blend-mode: screen;
    animation: crt-wide-horizontal-tear 3.8s steps(1, end) infinite;
}


/* =========================================
    10% {
  Animations
        opacity: 0.28;
  ========================================= */
         transform: translateX(24px) skewX(4deg);
 
         clip-path: inset(21% 0 64% 0);
@keyframes crt-scanlines-up {
    from {
         transform: translateY(0);
    }
    to {
         transform: translateY(-72px);
     }
     }
}


@keyframes crt-glitch-band-up {
     18% {
     0%, 12%, 27%, 43%, 58%, 76%, 100% {
         opacity: 0.38;
         opacity: 0;
         transform: translateX(32px) skewX(5deg);
         transform: translateY(100%);
        clip-path: inset(42% 0 47% 0);
     }
     }


     13% {
     19% {
         opacity: 0.75;
         opacity: 0.16;
         transform: translateY(70%);
         transform: translateX(-28px) skewX(-4deg);
        clip-path: inset(46% 0 43% 0);
     }
     }


     14% {
     30% {
         opacity: 0.15;
         opacity: 0.48;
         transform: translateY(62%) skewX(-2deg);
         transform: translateX(-36px) skewX(-6deg);
        clip-path: inset(58% 0 30% 0);
     }
     }


     28% {
     31% {
         opacity: 0.55;
         opacity: 0.18;
         transform: translateY(35%);
         transform: translateX(20px) skewX(3deg);
        clip-path: inset(61% 0 27% 0);
     }
     }


     29% {
     44% {
         opacity: 0.18;
         opacity: 0.36;
         transform: translateY(28%) skewX(2deg);
         transform: translateX(18px) skewX(3deg);
    }
         clip-path: inset(8% 0 84% 0);
 
    44% {
         opacity: 0.65;
        transform: translateY(10%);
     }
     }


     45% {
     45% {
         opacity: 0.12;
         opacity: 0.12;
         transform: translateY(4%) skewX(-1deg);
         transform: translateX(-14px) skewX(-2deg);
        clip-path: inset(11% 0 80% 0);
     }
     }


     59% {
     62% {
         opacity: 0.5;
         opacity: 0.44;
         transform: translateY(-20%);
         transform: translateX(-42px) skewX(-7deg);
        clip-path: inset(73% 0 16% 0);
     }
     }


     60% {
     63% {
         opacity: 0.16;
         opacity: 0.18;
         transform: translateY(-26%) skewX(2deg);
         transform: translateX(30px) skewX(4deg);
        clip-path: inset(76% 0 12% 0);
     }
     }


     77% {
     79% {
         opacity: 0.55;
         opacity: 0.42;
         transform: translateY(-55%);
         transform: translateX(26px) skewX(4deg);
        clip-path: inset(31% 0 58% 0);
     }
     }


     78% {
     80% {
         opacity: 0;
         opacity: 0.14;
         transform: translateY(-70%);
         transform: translateX(-20px) skewX(-3deg);
        clip-path: inset(34% 0 54% 0);
     }
     }
}
}


@keyframes crt-base-drift {
/* =========================================
    0%, 88%, 100% {
  Retro Horizon Grid Background
        transform: translateX(0);
  ========================================= */
        filter: drop-shadow(0 0 5px rgba(212,90,162,0.18));
    }


     89% {
.retro-grid-bg {
        transform: translateX(-2px) skewX(-0.4deg);
     position: relative;
         filter:
    overflow: hidden;
             contrast(1.08)
    border-radius: 5px;
             brightness(1.05)
    background:
             drop-shadow(0 0 7px rgba(212,90,162,0.24));
         linear-gradient(
    }
            to bottom,
             rgba(13, 6, 19, 0.98) 0%,
             rgba(25, 9, 33, 0.82) 44%,
             rgba(53, 19, 56, 0.50) 60%,
            rgba(4, 4, 7, 0.96) 61%,
            rgba(2, 2, 4, 1) 100%
        ) !important;
}


    90% {
.retro-grid-bg .crt-glow-content {
        transform: translateX(3px) skewX(0.5deg);
    position: relative;
     }
     z-index: 5;
}


     91% {
.retro-grid-bg::before {
        transform: translateX(-1px);
    content: "";
     }
     position: absolute;
 
    left: -10%;
     92% {
    right: -10%;
        transform: translateX(0);
     top: 56%;
         filter: drop-shadow(0 0 5px rgba(212,90,162,0.18));
    height: 16%;
     }
     z-index: 1;
    pointer-events: none;
    background:
         radial-gradient(
            ellipse at 50% 50%,
            rgba(230,210,225,0.28) 0%,
            rgba(204,94,168,0.30) 20%,
            rgba(184,56,142,0.20) 44%,
            transparent 76%
        );
     filter: blur(9px);
    opacity: 0.68;
}
}


@keyframes crt-wide-horizontal-tear {
.retro-grid-bg::after {
     0%, 8%, 17%, 29%, 43%, 61%, 78%, 100% {
     content: "";
        opacity: 0;
    position: absolute;
         transform: translateX(0);
    left: 50%;
         clip-path: inset(0 0 0 0);
    top: 61%;
     }
    width: 150%;
 
    height: 115%;
    9% {
    z-index: 2;
        opacity: 0.45;
    pointer-events: none;
        transform: translateX(-18px) skewX(-3deg);
    background-image:
         clip-path: inset(18% 0 70% 0);
         linear-gradient(
     }
            to right,
 
            rgba(204,64,156,0.72) 1px,
    10% {
            transparent 1px
        opacity: 0.28;
        ),
         transform: translateX(24px) skewX(4deg);
         linear-gradient(
         clip-path: inset(21% 0 64% 0);
            to bottom,
     }
            rgba(204,64,156,0.70) 1px,
 
            transparent 1px
     18% {
        );
         opacity: 0.38;
     background-size:
         transform: translateX(32px) skewX(5deg);
        48px 100%,
         clip-path: inset(42% 0 47% 0);
        100% 26px;
    }
    transform-origin: 50% 0%;
    transform:
        translateX(-50%)
        perspective(430px)
         rotateX(66deg);
     opacity: 0.78;
    filter:
         drop-shadow(0 0 3px rgba(204,64,156,0.58))
         drop-shadow(0 0 10px rgba(204,64,156,0.30));
     animation: retro-grid-flow 1.8s linear infinite;
     mask-image:
         linear-gradient(
            to bottom,
            transparent 0%,
            black 4%,
            black 82%,
            transparent 100%
         );
    -webkit-mask-image:
         linear-gradient(
            to bottom,
            transparent 0%,
            black 4%,
            black 82%,
            transparent 100%
        );
}


     19% {
.retro-grid-bg .crt-glow-content::before {
        opacity: 0.16;
    content: "";
        transform: translateX(-28px) skewX(-4deg);
     position: absolute;
         clip-path: inset(46% 0 43% 0);
    inset: -42px;
    }
    z-index: -1;
 
    pointer-events: none;
    30% {
    background:
         opacity: 0.48;
         radial-gradient(
        transform: translateX(-36px) skewX(-6deg);
            ellipse at 50% 56%,
        clip-path: inset(58% 0 30% 0);
            rgba(220,220,225,0.05) 0%,
    }
            rgba(204,64,156,0.07) 22%,
            rgba(96,152,204,0.05) 42%,
            transparent 70%
         );
    filter: blur(20px);
    opacity: 0.52;
}


     31% {
@keyframes retro-grid-flow {
         opacity: 0.18;
     from {
        transform: translateX(20px) skewX(3deg);
         background-position:
        clip-path: inset(61% 0 27% 0);
            0 0,
            0 0;
     }
     }


     44% {
     to {
         opacity: 0.36;
         background-position:
        transform: translateX(18px) skewX(3deg);
            0 0,
        clip-path: inset(8% 0 84% 0);
            0 -26px;
     }
     }
}


    45% {
/* =========================================
        opacity: 0.12;
   CRT Monitor Frame
        transform: translateX(-14px) skewX(-2deg);
        clip-path: inset(11% 0 80% 0);
    }
 
    62% {
        opacity: 0.44;
        transform: translateX(-42px) skewX(-7deg);
        clip-path: inset(73% 0 16% 0);
    }
 
    63% {
        opacity: 0.18;
        transform: translateX(30px) skewX(4deg);
        clip-path: inset(76% 0 12% 0);
    }
 
    79% {
        opacity: 0.42;
        transform: translateX(26px) skewX(4deg);
        clip-path: inset(31% 0 58% 0);
    }
 
    80% {
        opacity: 0.14;
        transform: translateX(-20px) skewX(-3deg);
        clip-path: inset(34% 0 54% 0);
    }
}
 
/* =========================================
   Retro Horizon Grid Background
   ========================================= */
   ========================================= */


.retro-grid-bg {
.crt-monitor-frame {
     position: relative;
     position: relative;
     overflow: hidden;
     box-sizing: border-box;
     border-radius: 5px;
    padding: 34px 46px 38px 46px;
     border-radius: 22px;
     background:
     background:
         linear-gradient(
         linear-gradient(145deg, #303030 0%, #181818 22%, #080808 58%, #202020 100%);
            to bottom,
    border: 2px solid #2f2f2f;
            rgba(13, 6, 19, 0.98) 0%,
    box-shadow:
            rgba(25, 9, 33, 0.82) 44%,
        inset 0 2px 0 rgba(255,255,255,0.18),
            rgba(53, 19, 56, 0.50) 60%,
        inset 0 -3px 0 rgba(0,0,0,0.85),
            rgba(4, 4, 7, 0.96) 61%,
        inset 3px 0 0 rgba(255,255,255,0.06),
            rgba(2, 2, 4, 1) 100%
        inset -3px 0 0 rgba(0,0,0,0.75),
         ) !important;
        0 0 0 3px #050505,
        0 0 0 5px #242424,
        0 12px 20px rgba(0,0,0,0.62),
        0 24px 42px rgba(0,0,0,0.52),
         0 42px 70px rgba(0,0,0,0.34);
}
}


/* 본문은 배경 위 */
.crt-monitor-frame::before {
.retro-grid-bg .crt-glow-content {
    position: relative;
    z-index: 5;
}
 
/* 지평선 발광 */
.retro-grid-bg::before {
     content: "";
     content: "";
     position: absolute;
     position: absolute;
     left: -10%;
     inset: 0;
    right: -10%;
     border-radius: 22px;
    top: 56%;
    height: 16%;
     z-index: 1;
     pointer-events: none;
     pointer-events: none;
    opacity: 0.16;
     background:
     background:
         radial-gradient(
         repeating-linear-gradient(
             ellipse at 50% 50%,
             135deg,
             rgba(230,210,225,0.28) 0%,
             rgba(255,255,255,0.035) 0px,
             rgba(204,94,168,0.30) 20%,
             rgba(255,255,255,0.035) 1px,
             rgba(184,56,142,0.20) 44%,
            transparent 1px,
             transparent 76%
            transparent 5px
        ),
        radial-gradient(
            ellipse at 28% 12%,
             rgba(255,255,255,0.12) 0%,
             transparent 45%
         );
         );
     filter: blur(9px);
     mix-blend-mode: screen;
    opacity: 0.68;
}
}


/* 지평선에서 아래로 펼쳐지는 바닥 그리드 */
.crt-monitor-frame::after {
.retro-grid-bg::after {
     content: none;
     content: "";
}
    position: absolute;
    left: 50%;
    top: 61%;
    width: 150%;
    height: 115%;
    z-index: 2;
    pointer-events: none;


     background-image:
.crt-monitor-inner {
         linear-gradient(
    position: relative;
            to right,
    box-sizing: border-box;
            rgba(204,64,156,0.72) 1px,
    padding: 18px;
            transparent 1px
    border-radius: 16px;
         ),
     background:
         linear-gradient(
         linear-gradient(145deg, #050505 0%, #111 44%, #070707 100%);
            to bottom,
    border: 1px solid #050505;
            rgba(204,64,156,0.70) 1px,
    box-shadow:
            transparent 1px
        inset 0 5px 14px rgba(0,0,0,0.95),
        );
         inset 0 -2px 4px rgba(255,255,255,0.06),
         inset 4px 0 10px rgba(0,0,0,0.85),
        inset -4px 0 10px rgba(0,0,0,0.85),
        0 1px 0 rgba(255,255,255,0.12);
}


     background-size:
.crt-monitor-screen {
         48px 100%,
    position: relative;
         100% 26px;
    overflow: hidden;
    border-radius: 9px / 18px;
     background: #050505;
    border: 2px solid #050505;
    box-shadow:
         inset 0 0 0 2px #151515,
        inset 0 0 22px rgba(0,0,0,0.95),
        inset 0 0 48px rgba(0,0,0,0.75),
         0 0 0 1px rgba(255,255,255,0.08),
        0 0 18px rgba(133,67,105,0.18);
}


     transform-origin: 50% 0%;
.crt-monitor-screen::before {
     transform:
     content: "";
        translateX(-50%)
     position: absolute;
        perspective(430px)
     inset: 0;
        rotateX(66deg);
     z-index: 20;
 
    pointer-events: none;
     opacity: 0.78;
     border-radius: 9px / 18px;
 
     background:
     filter:
         radial-gradient(
        drop-shadow(0 0 3px rgba(204,64,156,0.58))
             ellipse at 50% 50%,
        drop-shadow(0 0 10px rgba(204,64,156,0.30));
 
     animation: retro-grid-flow 1.8s linear infinite;
 
     mask-image:
         linear-gradient(
             to bottom,
             transparent 0%,
             transparent 0%,
             black 4%,
             transparent 58%,
             black 82%,
             rgba(0,0,0,0.22) 82%,
             transparent 100%
             rgba(0,0,0,0.58) 100%
         );
         ),
    -webkit-mask-image:
         linear-gradient(
         linear-gradient(
             to bottom,
             105deg,
             transparent 0%,
             transparent 0%,
             black 4%,
             rgba(255,255,255,0.05) 18%,
             black 82%,
             transparent 38%,
             transparent 100%
             transparent 100%
         );
         );
    box-shadow:
        inset 0 0 28px rgba(255,255,255,0.04),
        inset 0 0 60px rgba(0,0,0,0.65);
}
}


/* 중앙 안개빛 */
.crt-monitor-screen .crt-glitch-panel,
.retro-grid-bg .crt-glow-content::before {
.crt-monitor-screen .retro-grid-bg {
    content: "";
     border-radius: 8px / 16px;
    position: absolute;
    inset: -42px;
    z-index: -1;
    pointer-events: none;
     background:
        radial-gradient(
            ellipse at 50% 56%,
            rgba(220,220,225,0.05) 0%,
            rgba(204,64,156,0.07) 22%,
            rgba(96,152,204,0.05) 42%,
            transparent 70%
        );
    filter: blur(20px);
    opacity: 0.52;
}
}


/* 가로선만 지평선 방향으로 흐르게 함 */
.crt-monitor-screen .crt-glitch-panel {
@keyframes retro-grid-flow {
     box-shadow: none;
     from {
}
        background-position:
            0 0,
            0 0;
    }


    to {
#clbi-main-crt-hero-wrap {
        background-position:
    width: 100%;
            0 0,
    margin: 0 auto 14px auto;
            0 -26px;
}
     }
 
#clbi-main-crt-hero {
     width: 100%;
}
}


/* =========================================
/* =========================================
   CRT Monitor Frame
   Compact CRT Media Frame
   ========================================= */
   ========================================= */


.crt-monitor-frame {
.compact-crt-media {
     position: relative;
     position: relative;
     box-sizing: border-box;
     box-sizing: border-box;
     padding: 34px 46px 38px 46px;
    width: fit-content;
     border-radius: 22px;
    max-width: 100%;
    margin: 6px auto;
     padding: 10px 14px;
     border-radius: 10px;
     background:
     background:
         linear-gradient(145deg, #303030 0%, #181818 22%, #080808 58%, #202020 100%);
         linear-gradient(
     border: 2px solid #2f2f2f;
            145deg,
            #242424 0%,
            #141414 34%,
            #070707 70%,
            #171717 100%
        );
     border: 1px solid #2b2b2b;
     box-shadow:
     box-shadow:
         inset 0 2px 0 rgba(255,255,255,0.18),
         inset 0 1px 0 rgba(255,255,255,0.12),
         inset 0 -3px 0 rgba(0,0,0,0.85),
         inset 0 -2px 0 rgba(0,0,0,0.82),
         inset 3px 0 0 rgba(255,255,255,0.06),
         inset 2px 0 0 rgba(255,255,255,0.035),
         inset -3px 0 0 rgba(0,0,0,0.75),
         inset -2px 0 0 rgba(0,0,0,0.62),
         0 0 0 3px #050505,
         0 0 0 2px #050505,
         0 0 0 5px #242424,
         0 0 0 3px #242424,
         0 12px 20px rgba(0,0,0,0.62),
         0 4px 12px rgba(0,0,0,0.68);
         0 24px 42px rgba(0,0,0,0.52),
    overflow: hidden;
         0 42px 70px rgba(0,0,0,0.34);
}
 
.compact-crt-media .mw-default-size,
.compact-crt-media .mw-file-element,
.compact-crt-media img {
    position: relative;
    z-index: 1;
}
 
.compact-crt-media img {
    max-width: 100%;
    height: auto;
    filter:
         drop-shadow(0 1px 3px rgba(0,0,0,0.72))
         drop-shadow(0 0 4px rgba(255,255,255,0.06));
    animation: compact-crt-image-jitter 1.25s steps(1, end) infinite;
}
}


/* 플라스틱 표면의 약한 질감 */
.compact-crt-media::before {
.crt-monitor-frame::before {
     content: "";
     content: "";
     position: absolute;
     position: absolute;
     inset: 0;
     inset: 6px;
     border-radius: 22px;
    z-index: 3;
     border-radius: 7px;
     pointer-events: none;
     pointer-events: none;
    opacity: 0.16;
     background:
     background:
        repeating-linear-gradient(
            135deg,
            rgba(255,255,255,0.035) 0px,
            rgba(255,255,255,0.035) 1px,
            transparent 1px,
            transparent 5px
        ),
         radial-gradient(
         radial-gradient(
             ellipse at 28% 12%,
             ellipse at 50% 50%,
             rgba(255,255,255,0.12) 0%,
            transparent 0%,
             transparent 45%
            transparent 54%,
            rgba(0,0,0,0.20) 78%,
            rgba(0,0,0,0.58) 100%
        ),
        linear-gradient(
            105deg,
            transparent 0%,
            rgba(255,255,255,0.040) 18%,
            transparent 38%,
            transparent 100%
        ),
        linear-gradient(
            to bottom,
             rgba(255,255,255,0.030) 0%,
             transparent 34%,
            rgba(0,0,0,0.26) 100%
         );
         );
     mix-blend-mode: screen;
     box-shadow:
        inset 0 0 18px rgba(255,255,255,0.028),
        inset 0 0 38px rgba(0,0,0,0.66);
}
}


/* 오른쪽 로고/패널 느낌 */
.compact-crt-media::after {
.crt-monitor-frame::after {
     content: "";
     content: none;
    position: absolute;
}
     inset: 6px;
 
     z-index: 4;
/* 화면 주변의 깊게 파인 안쪽 홈 */
    border-radius: 7px;
.crt-monitor-inner {
     pointer-events: none;
     position: relative;
     opacity: 0.34;
     box-sizing: border-box;
     padding: 18px;
     border-radius: 16px;
     background:
     background:
         linear-gradient(145deg, #050505 0%, #111 44%, #070707 100%);
         repeating-linear-gradient(
    border: 1px solid #050505;
            to bottom,
    box-shadow:
            rgba(255,255,255,0.070) 0px,
        inset 0 5px 14px rgba(0,0,0,0.95),
            rgba(255,255,255,0.070) 1px,
        inset 0 -2px 4px rgba(255,255,255,0.06),
            transparent 2px,
        inset 4px 0 10px rgba(0,0,0,0.85),
            transparent 4px
        inset -4px 0 10px rgba(0,0,0,0.85),
         );
         0 1px 0 rgba(255,255,255,0.12);
    mix-blend-mode: screen;
}
}


/* 실제 화면 테두리 */
.compact-crt-static {
.crt-monitor-screen {
    position: relative;
    overflow: hidden;
    border-radius: 9px / 18px;
    background: #050505;
    border: 2px solid #050505;
    box-shadow:
        inset 0 0 0 2px #151515,
        inset 0 0 22px rgba(0,0,0,0.95),
        inset 0 0 48px rgba(0,0,0,0.75),
        0 0 0 1px rgba(255,255,255,0.08),
        0 0 18px rgba(133,67,105,0.18);
}
 
/* CRT 유리 곡면 느낌 */
.crt-monitor-screen::before {
    content: "";
     position: absolute;
     position: absolute;
     inset: 0;
     inset: 6px;
     z-index: 20;
     z-index: 5;
    border-radius: 7px;
     pointer-events: none;
     pointer-events: none;
     border-radius: 9px / 18px;
     opacity: 0.30;
     background:
     background:
         radial-gradient(
         repeating-linear-gradient(
             ellipse at 50% 50%,
             to bottom,
             transparent 0%,
             transparent 0px,
             transparent 58%,
             transparent 4px,
             rgba(0,0,0,0.22) 82%,
             rgba(255,255,255,0.10) 5px,
             rgba(0,0,0,0.58) 100%
             transparent 6px,
            transparent 10px
         ),
         ),
         linear-gradient(
         linear-gradient(
             105deg,
             to bottom,
             transparent 0%,
             transparent 0%,
             rgba(255,255,255,0.05) 18%,
            transparent 43%,
             transparent 38%,
             rgba(255,255,255,0.11) 49%,
            rgba(180,180,180,0.08) 50%,
            rgba(90,90,90,0.08) 51%,
             transparent 56%,
             transparent 100%
             transparent 100%
         );
         );
     box-shadow:
     mix-blend-mode: screen;
         inset 0 0 28px rgba(255,255,255,0.04),
    animation:
         inset 0 0 60px rgba(0,0,0,0.65);
         compact-crt-static-roll 3.8s linear infinite,
         compact-crt-static-flicker 1.7s steps(1, end) infinite;
}
}


/* 기존 화면 효과가 프레임 안에서 꽉 차도록 보정 */
.compact-crt-media:hover::after {
.crt-monitor-screen .crt-glitch-panel,
     opacity: 0.40;
.crt-monitor-screen .retro-grid-bg {
     border-radius: 8px / 16px;
}
}


.crt-monitor-screen .crt-glitch-panel {
.compact-crt-media:hover .compact-crt-static {
     box-shadow: none;
     opacity: 0.36;
}
}


/* CRT 밖으로 빼기 */
.compact-crt-media:hover img {
#clbi-main-crt-hero-wrap {
     filter:
     width: 100%;
        drop-shadow(0 1px 3px rgba(0,0,0,0.78))
    margin: 0 auto 14px auto;
        drop-shadow(0 0 5px rgba(255,255,255,0.08));
}
}


#clbi-main-crt-hero {
@keyframes compact-crt-static-roll {
     width: 100%;
    from {
        background-position:
            0 0,
            0 110%;
    }
 
     to {
        background-position:
            0 -32px,
            0 -30%;
    }
}
}


/* =========================================
@keyframes compact-crt-static-flicker {
  Compact CRT Media Frame
    0%, 100% {
  flag / coat of arms display
        transform: translateX(0);
  ========================================= */
        opacity: 0.26;
    }


.compact-crt-media {
     11% {
    position: relative;
        transform: translateX(-1px);
    box-sizing: border-box;
         opacity: 0.36;
     width: fit-content;
     }
    max-width: 100%;
    margin: 6px auto;
    padding: 10px 14px;
    border-radius: 10px;
    background:
        linear-gradient(
            145deg,
            #242424 0%,
            #141414 34%,
            #070707 70%,
            #171717 100%
        );
    border: 1px solid #2b2b2b;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.12),
         inset 0 -2px 0 rgba(0,0,0,0.82),
        inset 2px 0 0 rgba(255,255,255,0.035),
        inset -2px 0 0 rgba(0,0,0,0.62),
        0 0 0 2px #050505,
        0 0 0 3px #242424,
        0 4px 12px rgba(0,0,0,0.68);
     overflow: hidden;
}


/* 실제 이미지: 화면 안쪽, 유리 레이어 아래 */
    12% {
.compact-crt-media .mw-default-size,
        transform: translateX(1px);
.compact-crt-media .mw-file-element,
        opacity: 0.22;
.compact-crt-media img {
    }
    position: relative;
    z-index: 1;
}


.compact-crt-media img {
    36% {
    max-width: 100%;
        transform: translateX(0);
    height: auto;
        opacity: 0.30;
     filter:
    }
         drop-shadow(0 1px 3px rgba(0,0,0,0.72))
 
         drop-shadow(0 0 4px rgba(255,255,255,0.06));
    37% {
     animation: compact-crt-image-jitter 1.25s steps(1, end) infinite;
        transform: translateX(1px);
        opacity: 0.38;
     }
 
    38% {
         transform: translateX(-1px);
        opacity: 0.24;
    }
 
    64% {
         transform: translateX(0);
        opacity: 0.32;
    }
 
    65% {
        transform: translateX(-1px);
        opacity: 0.40;
     }
 
    66% {
        transform: translateX(0);
        opacity: 0.26;
    }
}
}


/* 안쪽 유리 음영: 이미지 위에 깔림 */
@keyframes compact-crt-image-jitter {
.compact-crt-media::before {
     0%, 82%, 100% {
     content: "";
         transform: translateX(0);
    position: absolute;
    }
    inset: 6px;
 
    z-index: 3;
    83% {
    border-radius: 7px;
         transform: translateX(-1px);
    pointer-events: none;
    }
    background:
        radial-gradient(
            ellipse at 50% 50%,
            transparent 0%,
            transparent 54%,
            rgba(0,0,0,0.20) 78%,
            rgba(0,0,0,0.58) 100%
         ),
        linear-gradient(
            105deg,
            transparent 0%,
            rgba(255,255,255,0.040) 18%,
            transparent 38%,
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            rgba(255,255,255,0.030) 0%,
            transparent 34%,
            rgba(0,0,0,0.26) 100%
         );
    box-shadow:
        inset 0 0 18px rgba(255,255,255,0.028),
        inset 0 0 38px rgba(0,0,0,0.66);
}


/* 스캔라인 */
    84% {
.compact-crt-media::after {
        transform: translateX(1px);
    content: "";
     }
     position: absolute;
 
     inset: 6px;
     85% {
     z-index: 4;
        transform: translateX(0);
     border-radius: 7px;
     }
     pointer-events: none;
 
    opacity: 0.34;
     92% {
     background:
        transform: translateX(1px);
         repeating-linear-gradient(
     }
            to bottom,
 
            rgba(255,255,255,0.070) 0px,
     93% {
            rgba(255,255,255,0.070) 1px,
         transform: translateX(-1px);
            transparent 2px,
    }
            transparent 4px
 
         );
    94% {
     mix-blend-mode: screen;
         transform: translateX(0);
     }
}
}


/* 얇은 치직 노이즈 */
.compact-crt-media.compact-crt-portrait {
.compact-crt-static {
     padding: 4px 5px;
    position: absolute;
     border-radius: 8px;
    inset: 6px;
    z-index: 5;
    border-radius: 7px;
    pointer-events: none;
    opacity: 0.30;
     background:
        repeating-linear-gradient(
            to bottom,
            transparent 0px,
            transparent 4px,
            rgba(255,255,255,0.10) 5px,
            transparent 6px,
            transparent 10px
        ),
        linear-gradient(
            to bottom,
            transparent 0%,
            transparent 43%,
            rgba(255,255,255,0.11) 49%,
            rgba(180,180,180,0.08) 50%,
            rgba(90,90,90,0.08) 51%,
            transparent 56%,
            transparent 100%
        );
     mix-blend-mode: screen;
    animation:
        compact-crt-static-roll 3.8s linear infinite,
        compact-crt-static-flicker 1.7s steps(1, end) infinite;
}
}


.compact-crt-media:hover::after {
.compact-crt-media.compact-crt-portrait::before {
     opacity: 0.40;
    inset: 3px;
     border-radius: 5px;
}
}


.compact-crt-media:hover .compact-crt-static {
.compact-crt-media.compact-crt-portrait::after {
     opacity: 0.36;
     inset: 3px;
    border-radius: 5px;
}
}


.compact-crt-media:hover img {
.compact-crt-media.compact-crt-portrait .compact-crt-static {
     filter:
     inset: 3px;
        drop-shadow(0 1px 3px rgba(0,0,0,0.78))
    border-radius: 5px;
        drop-shadow(0 0 5px rgba(255,255,255,0.08));
}
}


@keyframes compact-crt-static-roll {
.compact-crt-media.compact-crt-portrait img,
    from {
.compact-crt-media.compact-crt-portrait .mw-file-element {
        background-position:
     display: block;
            0 0,
            0 110%;
    }
 
    to {
        background-position:
            0 -32px,
            0 -30%;
     }
}
}


@keyframes compact-crt-static-flicker {
/* =========================================
    0%, 100% {
  Related Template Title
        transform: translateX(0);
  ========================================= */
        opacity: 0.26;
    }


     11% {
.related-template-title {
        transform: translateX(-1px);
     position: relative;
         opacity: 0.36;
    overflow: hidden;
    }
    width: 100%;
    border-radius: 5px;
    background: #111111;
    color: #fff;
    box-shadow:
        inset 1px 0 0 #494949,
         inset 0 -1px 0 #555;
}


     12% {
.related-template-title::before {
         transform: translateX(1px);
    content: "";
         opacity: 0.22;
    position: absolute;
    }
     inset: 0;
    z-index: 1;
    pointer-events: none;
    border-radius: inherit;
    background:
        linear-gradient(
            to bottom,
            rgba(255,255,255,0.070) 0%,
            rgba(255,255,255,0.026) 18%,
            transparent 45%,
            rgba(0,0,0,0.18) 100%
        ),
        linear-gradient(
            105deg,
            transparent 0%,
            rgba(255,255,255,0.045) 18%,
            transparent 36%,
            transparent 100%
         );
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.026),
         inset 0 0 14px rgba(0,0,0,0.30);
}


     36% {
.related-template-title::after {
        transform: translateX(0);
    content: "";
        opacity: 0.30;
     position: absolute;
     }
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: inherit;
    opacity: 0.20;
    background:
        repeating-linear-gradient(
            to bottom,
            rgba(255,255,255,0.055) 0px,
            rgba(255,255,255,0.055) 1px,
            transparent 2px,
            transparent 4px
        );
     mix-blend-mode: screen;
}


    37% {
.related-template-title > * {
        transform: translateX(1px);
    position: relative;
        opacity: 0.38;
    z-index: 3;
    }
}


    38% {
/* =========================================
        transform: translateX(-1px);
  Page Top CRT Banner
        opacity: 0.24;
  Template use:
    }
  {{Banner|[[파일:example.png{{!}}1000px{{!}}link=]]|80px|20px}}
 
  2번 인자: 양수면 좌측 이동
    64% {
  3번 인자: 양수면 아래 이동
        transform: translateX(0);
  ========================================= */
        opacity: 0.32;
    }


     65% {
.crt-page-monitor-frame {
         transform: translateX(-1px);
     position: relative;
         opacity: 0.40;
    box-sizing: border-box;
     }
    width: 100%;
    aspect-ratio: 2560 / 580;
    margin: 0 auto 16px auto;
    padding: 14px 20px 16px 20px;
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            #151515 0%,
            #0b0b0b 28%,
            #050505 58%,
            #181818 100%
         );
    border: 2px solid #242424;
    box-shadow:
        inset 0 3px 8px rgba(0,0,0,0.78),
        inset 0 -2px 0 rgba(255,255,255,0.030),
        inset 4px 0 10px rgba(0,0,0,0.72),
         inset -3px 0 0 rgba(0,0,0,0.78),
        0 0 0 3px #050505,
        0 0 0 5px #242424;
     overflow: hidden;
}


     66% {
.crt-page-monitor-frame::before {
         transform: translateX(0);
    content: "";
         opacity: 0.26;
    position: absolute;
     }
    inset: 0;
    border-radius: 18px;
    pointer-events: none;
     opacity: 0.08;
    background:
         linear-gradient(
            to bottom,
            rgba(0,0,0,0.38) 0%,
            transparent 20%,
            transparent 100%
        ),
         linear-gradient(
            to right,
            rgba(0,0,0,0.34) 0%,
            transparent 18%,
            transparent 100%
        );
     mix-blend-mode: normal;
}
}


@keyframes compact-crt-image-jitter {
.crt-page-monitor-frame::after {
     0%, 82%, 100% {
     content: none;
        transform: translateX(0);
}
    }


     83% {
.crt-page-monitor-inner {
        transform: translateX(-1px);
     position: relative;
     }
    box-sizing: border-box;
 
     width: 100%;
     84% {
     height: 100%;
        transform: translateX(1px);
    padding: 6px;
     }
     border-radius: 13px;
 
     background:
     85% {
         linear-gradient(
         transform: translateX(0);
            145deg,
    }
            #020202 0%,
 
            #080808 45%,
    92% {
            #030303 100%
         transform: translateX(1px);
         );
     }
     border: 1px solid #020202;
 
     box-shadow:
     93% {
         inset 0 11px 24px rgba(0,0,0,0.98),
         transform: translateX(-1px);
        inset 0 -2px 3px rgba(255,255,255,0.028),
    }
        inset 8px 0 20px rgba(0,0,0,0.94),
 
        inset -8px 0 20px rgba(0,0,0,0.94),
    94% {
         0 0 0 1px rgba(255,255,255,0.030);
         transform: translateX(0);
    }
}
}


/* 관련 틀 상단 제목 */
.crt-page-monitor-screen {
.related-template-title {
     position: relative;
     position: relative;
    width: 100%;
    height: 100%;
     overflow: hidden;
     overflow: hidden;
    width: 100%;
     border-radius: 8px / 15px;
     border-radius: 5px;
     background: #050505;
     background: #111111;
     border: 1px solid #060606;
     color: #fff;
     box-shadow:
     box-shadow:
         inset 1px 0 0 #494949,
         inset 0 0 18px rgba(0,0,0,0.88),
         inset 0 -1px 0 #555;
         inset 0 0 42px rgba(0,0,0,0.70),
        0 0 0 1px rgba(255,255,255,0.026);
}
}


.related-template-title::before {
.crt-page-monitor-image,
    content: "";
.crt-page-monitor-image-base,
.crt-page-monitor-image-bloom,
.crt-page-monitor-slice {
     position: absolute;
     position: absolute;
     inset: 0;
     inset: 0;
    line-height: 0;
    overflow: hidden;
}
.crt-page-monitor-image {
     z-index: 1;
     z-index: 1;
}
.crt-page-monitor-image-base {
    z-index: 3;
}
.crt-page-monitor-image-bloom {
    z-index: 4;
     pointer-events: none;
     pointer-events: none;
     border-radius: inherit;
     opacity: 0.38;
     background:
    mix-blend-mode: normal;
         linear-gradient(
     filter:
            to bottom,
         blur(9px)
            rgba(255,255,255,0.070) 0%,
         brightness(0.92)
            rgba(255,255,255,0.026) 18%,
         contrast(1.02)
            transparent 45%,
         saturate(1.04);
            rgba(0,0,0,0.18) 100%
         ),
        linear-gradient(
            105deg,
            transparent 0%,
            rgba(255,255,255,0.045) 18%,
            transparent 36%,
            transparent 100%
        );
    box-shadow:
         inset 0 0 0 1px rgba(255,255,255,0.026),
         inset 0 0 14px rgba(0,0,0,0.30);
}
}


.related-template-title::after {
.crt-page-monitor-image-base a,
    content: "";
.crt-page-monitor-image-base span,
    position: absolute;
.crt-page-monitor-image-base .mw-file-description,
    inset: 0;
.crt-page-monitor-image-base .mw-default-size,
    z-index: 2;
.crt-page-monitor-image-base .mw-image-border,
    pointer-events: none;
.crt-page-monitor-image-bloom a,
    border-radius: inherit;
.crt-page-monitor-image-bloom span,
    opacity: 0.20;
.crt-page-monitor-image-bloom .mw-file-description,
    background:
.crt-page-monitor-image-bloom .mw-default-size,
        repeating-linear-gradient(
.crt-page-monitor-image-bloom .mw-image-border,
            to bottom,
.crt-page-monitor-slice a,
            rgba(255,255,255,0.055) 0px,
.crt-page-monitor-slice span,
            rgba(255,255,255,0.055) 1px,
.crt-page-monitor-slice .mw-file-description,
            transparent 2px,
.crt-page-monitor-slice .mw-default-size,
            transparent 4px
.crt-page-monitor-slice .mw-image-border {
        );
    position: absolute !important;
     mix-blend-mode: screen;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
     height: 100% !important;
}
}


.related-template-title > * {
.crt-page-monitor-image-base img,
    position: relative;
.crt-page-monitor-image-base .mw-file-element,
    z-index: 3;
.crt-page-monitor-image-bloom img,
}
.crt-page-monitor-image-bloom .mw-file-element,
 
.crt-page-monitor-slice img,
/* =========================================
.crt-page-monitor-slice .mw-file-element,
  Page Top CRT Banner
.crt-page-monitor-slice-img {
  recessed / built-in screen + CRT slice tear
     position: absolute !important;
  Template use:
    inset: 0 !important;
  {{Banner|[[파일:example.png{{!}}1000px{{!}}link=]]|80px|20px}}
     display: block !important;
  2번 인자: 양수면 좌측 이동
     width: 100% !important;
  3번 인자: 양수면 아래 이동
     height: 100% !important;
  ========================================= */
     max-width: none !important;
 
     max-height: none !important;
.crt-page-monitor-frame {
     object-fit: cover !important;
     position: relative;
     object-position: center center;
     box-sizing: border-box;
     border: 0 !important;
     width: 100%;
     transform:
     aspect-ratio: 2560 / 580;
         translate(
     margin: 0 auto 16px auto;
            calc(0px - var(--crt-img-left, 0px)),
     padding: 14px 20px 16px 20px;
            var(--crt-img-down, 0px)
     border-radius: 18px;
         )
     background:
         scale(var(--crt-img-scale, 1.04));
        linear-gradient(
     transform-origin: center center;
            145deg,
            #151515 0%,
            #0b0b0b 28%,
            #050505 58%,
            #181818 100%
        );
     border: 2px solid #242424;
     box-shadow:
         inset 0 3px 8px rgba(0,0,0,0.78),
        inset 0 -2px 0 rgba(255,255,255,0.030),
         inset 4px 0 10px rgba(0,0,0,0.72),
         inset -3px 0 0 rgba(0,0,0,0.78),
        0 0 0 3px #050505,
        0 0 0 5px #242424;
     overflow: hidden;
}
}


.crt-page-monitor-frame::before {
.crt-page-monitor-image-base img,
.crt-page-monitor-image-base .mw-file-element {
    filter:
        brightness(0.84)
        contrast(1.08)
        saturate(0.90);
}
 
.crt-page-monitor-image-bloom img,
.crt-page-monitor-image-bloom .mw-file-element {
    transform:
        translate(
            calc(0px - var(--crt-img-left, 0px)),
            var(--crt-img-down, 0px)
        )
        scale(calc(var(--crt-img-scale, 1.04) + 0.02));
}
 
.crt-page-monitor-slice img,
.crt-page-monitor-slice .mw-file-element,
.crt-page-monitor-slice-img {
    filter:
        brightness(0.96)
        contrast(1.18)
        saturate(0.82);
}
 
.crt-page-monitor-image::after {
     content: "";
     content: "";
     position: absolute;
     position: absolute;
     inset: 0;
     inset: -3%;
     border-radius: 18px;
     z-index: 6;
     pointer-events: none;
     pointer-events: none;
     opacity: 0.08;
     opacity: 0.16;
     background:
     background:
         linear-gradient(
         radial-gradient(
             to bottom,
             ellipse at 50% 45%,
             rgba(0,0,0,0.38) 0%,
             rgba(220,235,230,0.12) 0%,
             transparent 20%,
            rgba(170,190,185,0.05) 34%,
             rgba(70,85,82,0.03) 62%,
             transparent 100%
             transparent 100%
         ),
         ),
         linear-gradient(
         linear-gradient(
             to right,
             to bottom,
             rgba(0,0,0,0.34) 0%,
             rgba(255,255,255,0.04) 0%,
             transparent 18%,
            rgba(255,255,255,0.014) 28%,
             transparent 100%
             transparent 70%,
             rgba(0,0,0,0.08) 100%
         );
         );
     mix-blend-mode: normal;
     mix-blend-mode: normal;
}
}


.crt-page-monitor-frame::after {
.crt-page-monitor-slice {
     content: none;
    z-index: 5;
    opacity: 0;
    pointer-events: none;
    mix-blend-mode: screen;
    will-change: transform, opacity, clip-path, filter;
}
 
.crt-page-monitor-slice-a {
     animation: crt-slice-tear-a 4.7s steps(1, end) infinite;
}
 
.crt-page-monitor-slice-b {
    animation: crt-slice-tear-b 6.1s steps(1, end) infinite;
}
}


.crt-page-monitor-inner {
.crt-page-monitor-slice-c {
     position: relative;
     animation: crt-slice-tear-c 7.4s steps(1, end) infinite;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 6px;
    border-radius: 13px;
    background:
        linear-gradient(
            145deg,
            #020202 0%,
            #080808 45%,
            #030303 100%
        );
    border: 1px solid #020202;
    box-shadow:
        inset 0 11px 24px rgba(0,0,0,0.98),
        inset 0 -2px 3px rgba(255,255,255,0.028),
        inset 8px 0 20px rgba(0,0,0,0.94),
        inset -8px 0 20px rgba(0,0,0,0.94),
        0 0 0 1px rgba(255,255,255,0.030);
}
}


.crt-page-monitor-screen {
.crt-page-monitor-screen::before {
    position: relative;
     content: "";
    width: 100%;
    height: 100%;
     overflow: hidden;
    border-radius: 8px / 15px;
    background: #050505;
    border: 1px solid #060606;
    box-shadow:
        inset 0 0 18px rgba(0,0,0,0.88),
        inset 0 0 42px rgba(0,0,0,0.70),
        0 0 0 1px rgba(255,255,255,0.026);
}
 
.crt-page-monitor-image {
     position: absolute;
     position: absolute;
     inset: 0;
     inset: 0;
     z-index: 1;
     z-index: 20;
     line-height: 0;
     pointer-events: none;
     overflow: hidden;
    border-radius: 8px / 15px;
    background:
        radial-gradient(
            ellipse at 50% 50%,
            transparent 0%,
            transparent 62%,
            rgba(0,0,0,0.16) 78%,
            rgba(0,0,0,0.42) 100%
        ),
        linear-gradient(
            to bottom,
            rgba(0,0,0,0.18) 0%,
            transparent 14%,
            transparent 82%,
            rgba(0,0,0,0.24) 100%
        ),
        linear-gradient(
            to right,
            rgba(0,0,0,0.18) 0%,
            transparent 8%,
            transparent 92%,
            rgba(0,0,0,0.18) 100%
        ),
        linear-gradient(
            105deg,
            transparent 0%,
            rgba(255,255,255,0.030) 18%,
            transparent 38%,
            transparent 100%
        );
     box-shadow:
        inset 0 0 20px rgba(255,255,255,0.018),
        inset 0 0 54px rgba(0,0,0,0.54);
}
}


/* =========================================
.crt-page-monitor-screen::after {
  Image layers
    content: "";
  ========================================= */
    position: absolute;
    inset: -80px 0;
    z-index: 21;
    pointer-events: none;
    opacity: 0.20;
    background:
        repeating-linear-gradient(
            to bottom,
            rgba(255,255,255,0.08) 0px,
            rgba(255,255,255,0.08) 1px,
            transparent 2px,
            transparent 5px
        );
    mix-blend-mode: screen;
    animation: crt-scanlines-up 7s linear infinite;
}


.crt-page-monitor-image-base {
.crt-page-monitor-glitch {
     position: absolute;
     position: absolute;
     inset: 0;
     inset: 0;
     z-index: 3;
     z-index: 22;
     line-height: 0;
     pointer-events: none;
     overflow: hidden;
    opacity: 0;
    background:
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(255,255,255,0.12) 48%,
            rgba(212,90,162,0.14) 50%,
            rgba(90,120,255,0.08) 52%,
            transparent 56%
        );
     mix-blend-mode: screen;
    animation: crt-soft-glitch-band 8.2s steps(1, end) infinite;
}
}


.crt-page-monitor-image-bloom {
.crt-page-monitor-tear {
     position: absolute;
     position: absolute;
     inset: 0;
     inset: 0;
     z-index: 4;
     z-index: 23;
    line-height: 0;
    overflow: hidden;
     pointer-events: none;
     pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(120,180,255,0.07) 10%,
            rgba(255,255,255,0.11) 48%,
            rgba(212,90,162,0.08) 78%,
            transparent 100%
        );
    mix-blend-mode: screen;
    animation: crt-soft-horizontal-tear 5.6s steps(1, end) infinite;
}


     opacity: 0.38;
@keyframes crt-slice-tear-a {
    mix-blend-mode: normal;
     0%, 11%, 100% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }


     filter:
     12% {
         blur(9px)
         opacity: 0.38;
        brightness(0.92)
         transform: translateX(-18px);
         contrast(1.02)
         clip-path: inset(17% 0 78% 0);
         saturate(1.04);
    }
}


.crt-page-monitor-image-base a,
    13% {
.crt-page-monitor-image-base span,
        opacity: 0.22;
.crt-page-monitor-image-base .mw-file-description,
        transform: translateX(11px);
.crt-page-monitor-image-base .mw-default-size,
        clip-path: inset(18% 0 77% 0);
.crt-page-monitor-image-base .mw-image-border,
        filter: hue-rotate(-8deg);
.crt-page-monitor-image-bloom a,
    }
.crt-page-monitor-image-bloom span,
 
.crt-page-monitor-image-bloom .mw-file-description,
    14% {
.crt-page-monitor-image-bloom .mw-default-size,
        opacity: 0;
.crt-page-monitor-image-bloom .mw-image-border {
        transform: translateX(0);
    position: absolute !important;
        clip-path: inset(0 0 100% 0);
    inset: 0 !important;
    }
     display: block !important;
 
    width: 100% !important;
    63% {
    height: 100% !important;
        opacity: 0.30;
        transform: translateX(9px);
        clip-path: inset(24% 0 70% 0);
     }
 
    64% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }
}
}


.crt-page-monitor-image-base img,
@keyframes crt-slice-tear-b {
.crt-page-monitor-image-base .mw-file-element {
     0%, 37%, 100% {
     position: absolute !important;
        opacity: 0;
    inset: 0 !important;
        transform: translateX(0);
    display: block !important;
        clip-path: inset(0 0 100% 0);
    width: 100% !important;
     }
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
     object-position: center center;
    border: 0 !important;


     transform:
     38% {
         translate(
        opacity: 0.42;
            calc(0px - var(--crt-img-left, 0px)),
         transform: translateX(24px);
            var(--crt-img-down, 0px)
        clip-path: inset(43% 0 50% 0);
        )
     }
        scale(var(--crt-img-scale, 1.04));
     transform-origin: center center;


     filter:
     39% {
         brightness(0.84)
        opacity: 0.26;
         contrast(1.08)
         transform: translateX(-14px);
         saturate(0.90);
         clip-path: inset(45% 0 48% 0);
}
         filter: hue-rotate(10deg) brightness(1.08);
    }


.crt-page-monitor-image-bloom img,
    40% {
.crt-page-monitor-image-bloom .mw-file-element {
        opacity: 0;
    position: absolute !important;
        transform: translateX(0);
    inset: 0 !important;
        clip-path: inset(0 0 100% 0);
    display: block !important;
     }
     width: 100% !important;
 
     height: 100% !important;
     78% {
    max-width: none !important;
        opacity: 0.34;
    max-height: none !important;
        transform: translateX(-20px);
    object-fit: cover !important;
        clip-path: inset(51% 0 43% 0);
    object-position: center center;
     }
     border: 0 !important;


     transform:
     79% {
         translate(
        opacity: 0;
            calc(0px - var(--crt-img-left, 0px)),
         transform: translateX(0);
            var(--crt-img-down, 0px)
        clip-path: inset(0 0 100% 0);
        )
     }
        scale(calc(var(--crt-img-scale, 1.04) + 0.02));
     transform-origin: center center;
}
}


.crt-page-monitor-image::after {
@keyframes crt-slice-tear-c {
     content: "";
     0%, 21%, 100% {
    position: absolute;
        opacity: 0;
    inset: -3%;
        transform: translateX(0);
    z-index: 6;
         clip-path: inset(0 0 100% 0);
    pointer-events: none;
    }
    opacity: 0.16;
 
    background:
    22% {
         radial-gradient(
        opacity: 0.28;
            ellipse at 50% 45%,
         transform: translateX(-30px);
            rgba(220,235,230,0.12) 0%,
         clip-path: inset(67% 0 25% 0);
            rgba(170,190,185,0.05) 34%,
     }
            rgba(70,85,82,0.03) 62%,
            transparent 100%
         ),
         linear-gradient(
            to bottom,
            rgba(255,255,255,0.04) 0%,
            rgba(255,255,255,0.014) 28%,
            transparent 70%,
            rgba(0,0,0,0.08) 100%
        );
     mix-blend-mode: normal;
}


.crt-page-monitor-slice {
    23% {
    position: absolute;
        opacity: 0.18;
    inset: 0;
        transform: translateX(16px);
    z-index: 5;
        clip-path: inset(68% 0 23% 0);
    line-height: 0;
        filter: contrast(1.25) brightness(1.06);
     overflow: hidden;
     }
     opacity: 0;
 
    pointer-events: none;
     24% {
    mix-blend-mode: screen;
        opacity: 0;
     will-change: transform, opacity, clip-path, filter;
        transform: translateX(0);
}
        clip-path: inset(0 0 100% 0);
     }
 
    91% {
        opacity: 0.36;
        transform: translateX(18px);
        clip-path: inset(73% 0 18% 0);
    }


.crt-page-monitor-slice a,
    92% {
.crt-page-monitor-slice span,
        opacity: 0;
.crt-page-monitor-slice .mw-file-description,
        transform: translateX(0);
.crt-page-monitor-slice .mw-default-size,
        clip-path: inset(0 0 100% 0);
.crt-page-monitor-slice .mw-image-border {
     }
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
     height: 100% !important;
}
}


.crt-page-monitor-slice img,
@keyframes crt-soft-glitch-band {
.crt-page-monitor-slice .mw-file-element,
     0%, 52%, 100% {
.crt-page-monitor-slice-img {
        opacity: 0;
     position: absolute !important;
        transform: translateY(80%);
    inset: 0 !important;
     }
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center;
     border: 0 !important;


     transform:
     53% {
         translate(
         opacity: 0.42;
            calc(0px - var(--crt-img-left, 0px)),
         transform: translateY(36%);
            var(--crt-img-down, 0px)
     }
         )
        scale(var(--crt-img-scale, 1.04));
     transform-origin: center center;


     filter:
     54% {
         brightness(0.96)
         opacity: 0.16;
         contrast(1.18)
         transform: translateY(20%) skewX(-1deg);
        saturate(0.82);
    }
}


.crt-page-monitor-slice-a {
    55% {
    animation: crt-slice-tear-a 4.7s steps(1, end) infinite;
        opacity: 0;
        transform: translateY(-20%);
    }
}
}


.crt-page-monitor-slice-b {
@keyframes crt-soft-horizontal-tear {
     animation: crt-slice-tear-b 6.1s steps(1, end) infinite;
     0%, 68%, 100% {
}
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 0 0);
    }


.crt-page-monitor-slice-c {
    69% {
    animation: crt-slice-tear-c 7.4s steps(1, end) infinite;
        opacity: 0.32;
}
        transform: translateX(-16px);
        clip-path: inset(34% 0 58% 0);
    }


/* =========================================
    70% {
  CRT glass / vignette / scanlines
        opacity: 0.18;
  ========================================= */
        transform: translateX(12px);
        clip-path: inset(37% 0 55% 0);
    }


.crt-page-monitor-screen::before {
    71% {
    content: "";
        opacity: 0;
    position: absolute;
        transform: translateX(0);
    inset: 0;
         clip-path: inset(0 0 0 0);
    z-index: 20;
     }
    pointer-events: none;
}
    border-radius: 8px / 15px;
    background:
        radial-gradient(
            ellipse at 50% 50%,
            transparent 0%,
            transparent 62%,
            rgba(0,0,0,0.16) 78%,
            rgba(0,0,0,0.42) 100%
         ),
        linear-gradient(
            to bottom,
            rgba(0,0,0,0.18) 0%,
            transparent 14%,
            transparent 82%,
            rgba(0,0,0,0.24) 100%
        ),
        linear-gradient(
            to right,
            rgba(0,0,0,0.18) 0%,
            transparent 8%,
            transparent 92%,
            rgba(0,0,0,0.18) 100%
        ),
        linear-gradient(
            105deg,
            transparent 0%,
            rgba(255,255,255,0.030) 18%,
            transparent 38%,
            transparent 100%
        );
     box-shadow:
        inset 0 0 20px rgba(255,255,255,0.018),
        inset 0 0 54px rgba(0,0,0,0.54);
}


.crt-page-monitor-screen::after {
@media (prefers-reduced-motion: reduce) {
     content: "";
    .crt-page-monitor-slice-a,
     position: absolute;
     .crt-page-monitor-slice-b,
     inset: -80px 0;
     .crt-page-monitor-slice-c,
     z-index: 21;
     .crt-page-monitor-screen::after,
     pointer-events: none;
     .crt-page-monitor-glitch,
     opacity: 0.20;
     .crt-page-monitor-tear {
     background:
        animation: none !important;
        repeating-linear-gradient(
     }
            to bottom,
 
            rgba(255,255,255,0.08) 0px,
     .crt-page-monitor-slice,
            rgba(255,255,255,0.08) 1px,
    .crt-page-monitor-glitch,
            transparent 2px,
    .crt-page-monitor-tear {
            transparent 5px
         opacity: 0 !important;
         );
     }
    mix-blend-mode: screen;
     animation: crt-scanlines-up 7s linear infinite;
}
}


.crt-page-monitor-glitch {
/* =========================================
     position: absolute;
  Historical Events Timeline
     inset: 0;
  ========================================= */
     z-index: 22;
 
.timeline-event {
    position: relative;
    display: block;
    width: 100%;
    box-sizing: border-box;
    line-height: inherit;
    text-align: center;
}
 
.timeline-title {
    position: relative;
    z-index: 2;
    display: inline-block;
    text-align: center;
}
 
.timeline-event.he-linked::before {
    content: "";
     position: absolute;
     top: -2px;
    left: 2px;
    right: 2px;
     height: 3px;
    border-radius: 999px;
     pointer-events: none;
     pointer-events: none;
    opacity: 0;
     background:
     background:
         linear-gradient(
         linear-gradient(
             to bottom,
             to right,
             transparent 0%,
             transparent 0%,
             rgba(255,255,255,0.12) 48%,
             color-mix(in srgb, var(--he-color) 18%, transparent) 8%,
             rgba(212,90,162,0.14) 50%,
            color-mix(in srgb, var(--he-color) 92%, transparent) 14%,
             rgba(90,120,255,0.08) 52%,
             color-mix(in srgb, var(--he-color) 92%, transparent) 86%,
             transparent 56%
             color-mix(in srgb, var(--he-color) 18%, transparent) 92%,
             transparent 100%
         );
         );
     mix-blend-mode: screen;
     box-shadow:
    animation: crt-soft-glitch-band 8.2s steps(1, end) infinite;
        0 0 7px color-mix(in srgb, var(--he-color) 28%, transparent);
}
 
.timeline-event.he-root {
    overflow: visible;
}
}


.crt-page-monitor-tear {
.timeline-event.he-root::before {
    content: "";
     position: absolute;
     position: absolute;
     inset: 0;
     left: 6%;
     z-index: 23;
     right: 6%;
    top: 50%;
    height: 16px;
    transform: translateY(-50%);
    border-radius: 999px;
     pointer-events: none;
     pointer-events: none;
    opacity: 0;
     background:
     background:
        linear-gradient(
            to bottom,
            rgba(255,255,255,0.05) 0%,
            rgba(0,0,0,0.24) 100%
        ),
         linear-gradient(
         linear-gradient(
             to right,
             to right,
             transparent 0%,
             transparent 0%,
             rgba(120,180,255,0.07) 10%,
             color-mix(in srgb, var(--he-color) 10%, transparent) 8%,
             rgba(255,255,255,0.11) 48%,
            color-mix(in srgb, var(--he-color) 24%, transparent) 18%,
            rgba(212,90,162,0.08) 78%,
            color-mix(in srgb, var(--he-color) 36%, transparent) 50%,
            color-mix(in srgb, var(--he-color) 24%, transparent) 82%,
            color-mix(in srgb, var(--he-color) 10%, transparent) 92%,
             transparent 100%
        );
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.05),
        inset 0 -1px 0 rgba(0,0,0,0.42),
        0 0 8px color-mix(in srgb, var(--he-color) 16%, transparent);
    -webkit-mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            black 10%,
            black 90%,
            transparent 100%
        );
    mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            black 10%,
            black 90%,
             transparent 100%
             transparent 100%
         );
         );
    mix-blend-mode: screen;
    animation: crt-soft-horizontal-tear 5.6s steps(1, end) infinite;
}
}


/* =========================================
.timeline-event.he-root::after {
  Keyframes
     content: "";
  ========================================= */
    position: absolute;
 
    left: 10%;
@keyframes crt-slice-tear-a {
    right: 10%;
     0%, 11%, 100% {
    top: 50%;
        opacity: 0;
    height: 22px;
        transform: translateX(0);
    transform: translateY(-50%);
         clip-path: inset(0 0 100% 0);
    pointer-events: none;
    }
    background:
 
         linear-gradient(
    12% {
            to right,
         opacity: 0.38;
            transparent 0%,
        transform: translateX(-18px);
            color-mix(in srgb, var(--he-color) 48%, transparent) 16%,
        clip-path: inset(17% 0 78% 0);
            color-mix(in srgb, var(--he-color) 48%, transparent) 84%,
    }
            transparent 100%
        ) top center / 100% 1px no-repeat,
         linear-gradient(
            to right,
            transparent 0%,
            color-mix(in srgb, var(--he-color) 24%, transparent) 16%,
            color-mix(in srgb, var(--he-color) 24%, transparent) 84%,
            transparent 100%
        ) bottom center / 100% 1px no-repeat;
}


    13% {
.timeline-event.he-root .timeline-title {
        opacity: 0.22;
    text-shadow:
         transform: translateX(11px);
         0 0 4px color-mix(in srgb, var(--he-color) 34%, transparent),
         clip-path: inset(18% 0 77% 0);
         0 0 9px color-mix(in srgb, var(--he-color) 16%, transparent);
        filter: hue-rotate(-8deg);
}
    }


    14% {
/* =========================================
        opacity: 0;
  Tree List
        transform: translateX(0);
  ========================================= */
        clip-path: inset(0 0 100% 0);
    }


    63% {
.tree-container {
        opacity: 0.30;
    margin: 0;
        transform: translateX(9px);
    padding: 0;
        clip-path: inset(24% 0 70% 0);
}
    }


     64% {
.tree-node {
        opacity: 0;
     position: relative;
        transform: translateX(0);
    padding-left: 20px;
        clip-path: inset(0 0 100% 0);
    margin: 0;
     }
    text-indent: 0;
     line-height: 1.55;
}
}


@keyframes crt-slice-tear-b {
.tree-node::before {
     0%, 37%, 100% {
     content: "";
        opacity: 0;
    position: absolute;
        transform: translateX(0);
    top: 0;
        clip-path: inset(0 0 100% 0);
    left: 7px;
     }
    width: 1.2px;
    height: 100%;
     background: #7F7F7F;
}


     38% {
.tree-node::after {
        opacity: 0.42;
     content: "";
        transform: translateX(24px);
    position: absolute;
        clip-path: inset(43% 0 50% 0);
    top: 12px;
     }
    left: 7px;
    width: 8px;
    height: 0;
     border-top: 1.2px solid #7F7F7F;
}


    39% {
.tree-node:last-of-type::before {
        opacity: 0.26;
    height: 12px;
        transform: translateX(-14px);
}
        clip-path: inset(45% 0 48% 0);
        filter: hue-rotate(10deg) brightness(1.08);
    }


    40% {
/* =========================================
        opacity: 0;
  Meeting Composition Panel
        transform: translateX(0);
  ========================================= */
        clip-path: inset(0 0 100% 0);
    }


    78% {
.meeting-panel {
        opacity: 0.34;
    position: relative;
        transform: translateX(-20px);
    isolation: isolate;
        clip-path: inset(51% 0 43% 0);
    z-index: 0;
     }
    width: calc(100% + 4px);
 
     left: -2px;
     79% {
    margin: 0 auto 15px auto;
        opacity: 0;
     border: 2px solid #1a1a1a;
         transform: translateX(0);
    border-radius: 5px;
         clip-path: inset(0 0 100% 0);
    background:
     }
         radial-gradient(
            ellipse at 50% 35%,
            rgba(255,255,255,0.025) 0%,
            transparent 46%
        ),
         linear-gradient(
            to bottom,
            #1A1A1A 0%,
            #181818 52%,
            #151515 100%
        );
    color: #FFF;
    box-shadow:
        0 4px 12px #000;
    text-align: center;
    font-size: 11px;
    box-sizing: border-box;
     overflow: visible;
}
}


@keyframes crt-slice-tear-c {
.meeting-panel::before {
     0%, 21%, 100% {
     content: "";
        opacity: 0;
    position: absolute;
        transform: translateX(0);
    inset: -5px;
        clip-path: inset(0 0 100% 0);
    z-index: -2;
     }
    border-radius: 8px;
    background: #854369;
     pointer-events: none;
}


     22% {
.meeting-panel::after {
        opacity: 0.28;
     content: "";
        transform: translateX(-30px);
    position: absolute;
        clip-path: inset(67% 0 25% 0);
    inset: -3px;
     }
    z-index: -1;
    border-radius: 7px;
    background: #1A1A1A;
     pointer-events: none;
}


     23% {
.meeting-panel-body {
        opacity: 0.18;
     width: 100%;
        transform: translateX(16px);
    color: #E4E4E4;
        clip-path: inset(68% 0 23% 0);
    padding: 4.5px 9px 9px 9px;
        filter: contrast(1.25) brightness(1.06);
    box-sizing: border-box;
     }
    border-radius: 3px;
    background: transparent;
     overflow: hidden;
}


    24% {
.meeting-title-wrap {
        opacity: 0;
    width: 100%;
        transform: translateX(0);
    max-width: 760px;
        clip-path: inset(0 0 100% 0);
    margin: 5px auto 8px auto;
    }
}


    91% {
.meeting-title-wrap .infobox-glass-title {
        opacity: 0.36;
    top: 0;
        transform: translateX(18px);
    margin-top: 0;
        clip-path: inset(73% 0 18% 0);
     padding: 5px;
     }
    line-height: 1.2;
 
    92% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }
}
}


@keyframes crt-scanlines-up {
.meeting-title-table {
     from {
     width: auto;
        transform: translateY(0);
    max-width: 100%;
     }
     margin-left: auto;
 
    margin-right: auto;
     to {
     border: 2px solid transparent;
        transform: translateY(-80px);
    border-collapse: collapse;
     }
     table-layout: auto;
}
}


@keyframes crt-soft-glitch-band {
.meeting-title-table td,
     0%, 52%, 100% {
.meeting-title-table th {
        opacity: 0;
     background: none !important;
        transform: translateY(80%);
    border: none !important;
    }
    vertical-align: middle !important;
}


     53% {
.meeting-title-table .meeting-title-image-left {
        opacity: 0.42;
    width: auto;
        transform: translateY(36%);
     text-align: right !important;
     }
    padding: 0 6px 0 0 !important;
    line-height: 0;
     white-space: nowrap;
}


    54% {
.meeting-title-table .meeting-title-image-right {
        opacity: 0.16;
    width: auto;
        transform: translateY(20%) skewX(-1deg);
    text-align: left !important;
     }
     padding: 0 0 0 6px !important;
 
     line-height: 0;
     55% {
    white-space: nowrap;
        opacity: 0;
        transform: translateY(-20%);
    }
}
}


@keyframes crt-soft-horizontal-tear {
.meeting-title-table .meeting-title-cell {
     0%, 68%, 100% {
     width: auto;
        opacity: 0;
    line-height: 1.15 !important;
        transform: translateX(0);
    background: none !important;
        clip-path: inset(0 0 0 0);
    text-align: center !important;
    }
    white-space: nowrap;
    padding: 0 !important;
}


     69% {
.meeting-title-image-left img,
        opacity: 0.32;
.meeting-title-image-right img,
         transform: translateX(-16px);
.meeting-title-image-left .mw-file-element,
         clip-path: inset(34% 0 58% 0);
.meeting-title-image-right .mw-file-element {
    }
     display: block;
    border: 0 !important;
    vertical-align: middle;
    filter:
         drop-shadow(0 1px 2px rgba(0,0,0,0.75))
         drop-shadow(0 0 3px rgba(255,255,255,0.08));
}


    70% {
.meeting-title-name {
        opacity: 0.18;
    display: block;
        transform: translateX(12px);
    line-height: 1.15;
        clip-path: inset(37% 0 55% 0);
     text-align: center;
     }
 
    71% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 0 0);
    }
}
}


@media (prefers-reduced-motion: reduce) {
.meeting-title-meta {
     .crt-page-monitor-slice-a,
    display: block;
     .crt-page-monitor-slice-b,
     margin-top: 1px;
     .crt-page-monitor-slice-c,
     color: #7F7F7F;
     .crt-page-monitor-screen::after,
     font-size: 10px;
     .crt-page-monitor-glitch,
     font-weight: normal;
     .crt-page-monitor-tear {
     line-height: 1.15;
        animation: none !important;
     text-align: center;
    }
}


    .crt-page-monitor-slice,
.meeting-seatmap {
     .crt-page-monitor-glitch,
    position: relative;
     .crt-page-monitor-tear {
    margin: 0 auto;
        opacity: 0 !important;
    padding: 5px 0 4px 0;
     }
     background: transparent;
     border-radius: 0;
     overflow: visible;
}
}


/* Compact CRT Portrait Variant */
.meeting-seatmap::before {
.compact-crt-media.compact-crt-portrait {
    content: "";
     padding: 4px 5px;
    position: absolute;
     border-radius: 8px;
    left: 50%;
    top: 84px;
    bottom: 145px;
    width: 2px;
    transform: translateX(-50%);
    background:
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(65,65,65,0.72) 18%,
            #414141 50%,
            rgba(65,65,65,0.72) 82%,
            transparent 100%
        );
     box-shadow: 0 0 6px rgba(65,65,65,0.16);
     pointer-events: none;
}
}


.compact-crt-media.compact-crt-portrait::before {
.meeting-table-zone::before {
     inset: 3px;
     content: "";
     border-radius: 5px;
     position: absolute;
}
    left: 7%;
 
    right: 7%;
.compact-crt-media.compact-crt-portrait::after {
    top: 50%;
     inset: 3px;
    height: 2px;
     border-radius: 5px;
    transform: translateY(-50%);
}
    background:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(65,65,65,0.72) 14%,
            #414141 50%,
            rgba(65,65,65,0.72) 86%,
            transparent 100%
        );
     box-shadow: 0 0 6px rgba(65,65,65,0.14);
     pointer-events: none;
}


.compact-crt-media.compact-crt-portrait .compact-crt-static {
.meeting-axis-label {
     inset: 3px;
    position: relative;
    z-index: 4;
    display: inline-block;
    min-width: 42px;
    margin: 2px auto 4px auto;
     padding: 2px 9px;
     border-radius: 5px;
     border-radius: 5px;
    background: #0c0c0c;
    color: #E4E4E4;
    font-weight: bold;
    line-height: 1.35;
    box-shadow:
        inset 0 -1px 0 #525252,
        0 0 0 3px #1A1A1A;
}
}


.compact-crt-media.compact-crt-portrait img,
.meeting-chair-line {
.compact-crt-media.compact-crt-portrait .mw-file-element {
    position: relative;
     display: block;
    z-index: 3;
    display: flex;
    justify-content: center;
    margin: 0 0 6px 0;
     background: transparent;
}
}


/* =========================================
.meeting-table-zone {
  Historical Events Timeline
  ========================================= */
 
/* 역사적 사건 표: 효과용 내부 래퍼 */
.timeline-event {
     position: relative;
     position: relative;
     display: block;
    z-index: 3;
     display: grid;
    grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
    align-items: center;
     width: 100%;
     width: 100%;
     box-sizing: border-box;
     max-width: 980px;
     line-height: inherit;
    min-height: 210px;
     text-align: center;
     margin: 0 auto;
    background: transparent;
}
 
.meeting-side {
    display: flex;
    flex-wrap: nowrap;
     justify-content: center;
    align-items: center;
    gap: 0;
    min-width: 0;
    background: transparent;
}
}


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


/* HE2: 대사건과 연관된 사건의 상단 하이라이트 */
.meeting-side-right {
.timeline-event.he-linked::before {
     padding-left: 4px;
     content: "";
    position: absolute;
    top: -2px;
    left: 2px;
    right: 2px;
    height: 3px;
    border-radius: 999px;
    pointer-events: none;
    background:
        linear-gradient(
            to right,
            transparent 0%,
            color-mix(in srgb, var(--he-color) 18%, transparent) 8%,
            color-mix(in srgb, var(--he-color) 92%, transparent) 14%,
            color-mix(in srgb, var(--he-color) 92%, transparent) 86%,
            color-mix(in srgb, var(--he-color) 18%, transparent) 92%,
            transparent 100%
        );
    box-shadow:
        0 0 7px color-mix(in srgb, var(--he-color) 28%, transparent);
}
}


/* HE1: 대사건 본행 */
.meeting-center-spine {
.timeline-event.he-root {
    position: relative;
     overflow: visible;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    min-height: 210px;
    z-index: 4;
     background: transparent;
}
}


/* HE1: 제목 뒤의 넓고 낮은 색상판 */
.meeting-center-spine .meeting-axis-label {
.timeline-event.he-root::before {
    content: "";
     position: absolute;
     position: absolute;
    left: 6%;
    right: 6%;
     top: 50%;
     top: 50%;
     height: 16px;
     left: 50%;
     transform: translateY(-50%);
     transform: translate(-50%, -50%);
     border-radius: 999px;
     writing-mode: vertical-rl;
     pointer-events: none;
     text-orientation: mixed;
     background:
     min-width: 0;
        linear-gradient(
    min-height: 42px;
            to bottom,
    margin: 0;
            rgba(255,255,255,0.05) 0%,
    padding: 8px 3px;
            rgba(0,0,0,0.24) 100%
}
        ),
 
        linear-gradient(
.meeting-advisory-zone {
            to right,
    position: relative;
            transparent 0%,
    z-index: 3;
            color-mix(in srgb, var(--he-color) 10%, transparent) 8%,
    margin-top: 6px;
            color-mix(in srgb, var(--he-color) 24%, transparent) 18%,
    background: transparent;
            color-mix(in srgb, var(--he-color) 36%, transparent) 50%,
}
            color-mix(in srgb, var(--he-color) 24%, transparent) 82%,
 
            color-mix(in srgb, var(--he-color) 10%, transparent) 92%,
.meeting-advisory-zone > .meeting-axis-label {
            transparent 100%
    margin-bottom: 6px;
        );
}
     box-shadow:
 
        inset 0 1px 0 rgba(255,255,255,0.05),
.meeting-advisory-grid {
        inset 0 -1px 0 rgba(0,0,0,0.42),
    position: relative;
        0 0 8px color-mix(in srgb, var(--he-color) 16%, transparent);
    display: flex;
     -webkit-mask-image:
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 100%;
     max-width: 760px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    background: transparent;
}
 
.meeting-advisory-grid::before {
    content: "";
    position: absolute;
    left: 7%;
    right: 7%;
     top: 94px;
    height: 2px;
    background:
         linear-gradient(
         linear-gradient(
             to right,
             to right,
             transparent 0%,
             transparent 0%,
             black 10%,
             rgba(65,65,65,0.72) 14%,
             black 90%,
             #414141 50%,
             transparent 100%
             rgba(65,65,65,0.72) 86%,
        );
    mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            black 10%,
            black 90%,
             transparent 100%
             transparent 100%
         );
         );
    box-shadow: 0 0 6px rgba(65,65,65,0.14);
    pointer-events: none;
}
.meeting-person-card {
    position: relative;
    z-index: 3;
    background: transparent;
    color: #fff;
    text-align: center;
    vertical-align: top;
    padding: 0;
    box-sizing: border-box;
}
.meeting-chair-card {
    width: 180px;
}
.meeting-side .meeting-person-card {
    width: 50%;
    min-width: 0;
}
}


/* HE1: 위아래 기준선 */
.meeting-advisory-card {
.timeline-event.he-root::after {
     width: 33.333%;
     content: "";
     min-width: 0;
    position: absolute;
    left: 10%;
    right: 10%;
    top: 50%;
    height: 22px;
    transform: translateY(-50%);
     pointer-events: none;
    background:
        linear-gradient(
            to right,
            transparent 0%,
            color-mix(in srgb, var(--he-color) 48%, transparent) 16%,
            color-mix(in srgb, var(--he-color) 48%, transparent) 84%,
            transparent 100%
        ) top center / 100% 1px no-repeat,
        linear-gradient(
            to right,
            transparent 0%,
            color-mix(in srgb, var(--he-color) 24%, transparent) 16%,
            color-mix(in srgb, var(--he-color) 24%, transparent) 84%,
            transparent 100%
        ) bottom center / 100% 1px no-repeat;
}
}


/* HE1: 대사건명 텍스트 잔광 */
.meeting-person-inner {
.timeline-event.he-root .timeline-title {
     display: flex;
     text-shadow:
    justify-content: center;
        0 0 4px color-mix(in srgb, var(--he-color) 34%, transparent),
    padding: 0;
        0 0 9px color-mix(in srgb, var(--he-color) 16%, transparent);
    background: transparent;
}
}


/* =========================================
.meeting-person-stack {
  Tree List
    width: 90%;
  틀 기반 계층 목록
    margin-top: 3px;
  ========================================= */
    background: transparent;
 
    display: flex;
.tree-container {
    flex-direction: column;
    margin: 0;
     align-items: center;
     padding: 0;
}
}


.tree-node {
.meeting-side .meeting-person-stack {
    position: relative;
     width: 94%;
    padding-left: 20px;
    margin: 0;
    text-indent: 0;
     line-height: 1.55;
}
}


.tree-node::before {
.meeting-advisory-card .meeting-person-stack {
    content: "";
     width: 92%;
    position: absolute;
    top: 0;
    left: 7px;
     width: 1.2px;
    height: 100%;
    background: #7F7F7F;
}
}


.tree-node::after {
.meeting-person-stack .compact-crt-media {
     content: "";
     margin-left: auto;
    position: absolute;
     margin-right: auto;
    top: 12px;
     flex: 0 0 auto;
    left: 7px;
     width: 8px;
     height: 0;
    border-top: 1.2px solid #7F7F7F;
}
}


.tree-node:last-of-type::before {
.meeting-person-stack .office-card-name-cell {
     height: 12px;
    width: 170px;
    max-width: 100%;
    margin-top: 6px;
    margin-left: auto;
    margin-right: auto;
     flex: 0 0 auto;
}
}
.meeting-chair-card .office-card-name-cell {
    width: 170px;
}
.meeting-advisory-card .office-card-name-cell {
    width: 170px;
}
.meeting-office {
    display: block;
    margin-top: 2px;
    color: #7F7F7F;
    font-size: 10px;
    line-height: 1.3;
    font-weight: normal;
}
/* =====================================================================
  ScreenHeader + Screen Bezel Module
 
  Template.css에서 교체할 범위:
    [/* ScreenHeader */] 주석부터
    [/* Document View System — doc-* */] 주석 바로 위까지
  전체를 지우고 이 파일 내용으로 교체하세요.
  ===================================================================== */


/* =========================================
/* =========================================
   Meeting Composition Panel - Test
   ScreenHeader — 컨테이너 & 레이아웃 제어
  본문용 회의 배석 구성 패널
   ========================================= */
   ========================================= */


.meeting-panel {
.liberty-content:has(.screen-header) .liberty-content-header .title {
     position: relative;
    display: none !important;
     isolation: isolate;
}
 
/* screen-header 문서 — 컨테이너를 베젤로 */
.Liberty .content-wrapper .liberty-content:has(.screen-header) .liberty-content-main {
     position: relative !important;
    box-sizing: border-box !important;
    border: 2px solid #854369 !important;
    border-radius: 5px !important;
    background: linear-gradient(
        160deg,
        #2e2e2e 0%,
        #1e1e1e 30%,
        #121212 65%,
        #1a1a1a 100%
    ) !important;
     box-shadow:
        inset 0 3px 0 rgba(255,255,255,0.10),
        inset 0 -4px 0 rgba(0,0,0,0.85),
        inset 4px 0 0 rgba(255,255,255,0.04),
        inset -4px 0 0 rgba(0,0,0,0.70) !important;
    overflow: hidden !important;
}
 
/* 상단 빛반사 */
.Liberty .content-wrapper .liberty-content:has(.screen-header) .liberty-content-main::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 40%;
    border-radius: 5px 5px 0 0;
    background: linear-gradient(to bottom, rgba(255,255,255,0.06) 0%, transparent 100%);
    pointer-events: none;
     z-index: 0;
     z-index: 0;
    width: calc(100% + 4px);
    left: -2px;
    margin: 0 auto 15px auto;
    border: 2px solid #1a1a1a;
    border-radius: 5px;
    background:
        radial-gradient(
            ellipse at 50% 35%,
            rgba(255,255,255,0.025) 0%,
            transparent 46%
        ),
        linear-gradient(
            to bottom,
            #1A1A1A 0%,
            #181818 52%,
            #151515 100%
        );
    color: #FFF;
    box-shadow:
        0 4px 12px #000;
    text-align: center;
    font-size: 11px;
    box-sizing: border-box;
    overflow: visible;
}
}


.meeting-panel::before {
.liberty-content:has(.screen-header) .screen-title-plate,
    content: "";
.liberty-content:has(.screen-header) .screen-header-frame,
    position: absolute;
.liberty-content:has(.screen-header) .screen-header-inner,
    inset: -5px;
.liberty-content:has(.screen-header) .screen-header-media,
    z-index: -2;
.liberty-content:has(.screen-header) .screen-header-vignette,
    border-radius: 8px;
.liberty-content:has(.screen-header) .screen-header-scanline,
    background: #854369;
.liberty-content:has(.screen-header) .screen-header-mask,
     pointer-events: none;
.liberty-content:has(.screen-header) .screen-header-glass,
}
.liberty-content:has(.screen-header) .screen-header-subtitle {
     display: none !important;
}
 
/* =========================================
  screen-header
  베젤 좌우 padding(24px)을 정확히 상쇄
  width: calc(100% + 48px), margin: 0 -24px
  ========================================= */


.meeting-panel::after {
.screen-header {
     content: "";
    position: relative !important;
     position: absolute;
    width: 100% !important;
     inset: -3px;
     height: var(--screen-header-height, 360px) !important;
     z-index: -1;
     margin: 0 !important;
     border-radius: 7px;
     padding: 8px 8px 4px 8px !important;
     background: #1A1A1A;
     box-sizing: border-box !important;
     pointer-events: none;
     overflow: hidden !important;
     background: #050505 !important;
    border: 0 !important;
     border-bottom: 0 !important;
    isolation: isolate !important;
}
}


.meeting-panel-body {
.screen-header-recess {
     width: 100%;
    position: relative !important;
     color: #E4E4E4;
     width: 100% !important;
     padding: 4.5px 9px 9px 9px;
    height: 100% !important;
     box-sizing: border-box;
     margin: 0 !important;
     border-radius: 3px;
     padding: 4px !important;
     background: transparent;
     box-sizing: border-box !important;
     overflow: hidden;
    overflow: hidden !important;
    background: #050505 !important;
     border: 1px solid rgba(255,255,255,0.035) !important;
     border-radius: 6px !important;
     box-shadow:
        inset 0 18px 30px rgba(0,0,0,0.82),
        inset 0 -9px 16px rgba(255,255,255,0.026),
        inset 18px 0 30px rgba(0,0,0,0.66),
        inset -18px 0 30px rgba(0,0,0,0.66),
        0 1px 0 rgba(255,255,255,0.030),
        0 -1px 0 rgba(0,0,0,0.70) !important;
}
}


.meeting-title-wrap {
.screen-header-recess::before {
     width: 100%;
     content: "";
     max-width: 760px;
     position: absolute;
     margin: 5px auto 8px auto;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0.10;
     background: repeating-linear-gradient(
        135deg,
        rgba(255,255,255,0.030) 0px,
        rgba(255,255,255,0.030) 1px,
        transparent 1px,
        transparent 5px
    );
    mix-blend-mode: screen;
}
}


.meeting-title-wrap .infobox-glass-title {
.screen-header-recess::after {
     top: 0;
     content: "";
     margin-top: 0;
    position: absolute;
     padding: 5px;
    inset: 14px;
     line-height: 1.2;
    z-index: 12;
     pointer-events: none;
     border-radius: 0;
     box-shadow:
        0 -20px 32px rgba(0,0,0,0.86),
        0 12px 18px rgba(255,255,255,0.024),
        -20px 0 32px rgba(0,0,0,0.78),
        20px 0 32px rgba(0,0,0,0.78),
        inset 0 0 0 1px rgba(255,255,255,0.018) !important;
}
}


.meeting-title-table {
.screen-header .screen-header-crt {
     width: auto;
     position: relative !important;
     max-width: 100%;
     z-index: 2 !important;
     margin-left: auto;
    width: 100% !important;
     margin-right: auto;
    height: 100% !important;
     border: 2px solid transparent;
     aspect-ratio: auto !important;
     border-collapse: collapse;
     margin: 0 !important;
     table-layout: auto;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: transparent !important;
     border: 0 !important;
     border-radius: 0 !important;
     box-shadow: none !important;
}
}


.meeting-title-table td,
.screen-header .screen-header-crt::before,
.meeting-title-table th {
.screen-header .screen-header-crt::after {
     background: none !important;
     content: none !important;
    border: none !important;
    vertical-align: middle !important;
}
}


.meeting-title-table .meeting-title-image-left {
.screen-header .crt-page-monitor-inner {
     width: auto;
    position: relative !important;
     text-align: right !important;
     width: 100% !important;
     padding: 0 6px 0 0 !important;
     height: 100% !important;
     line-height: 0;
     padding: 5px !important;
     white-space: nowrap;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
    background: linear-gradient(
        145deg,
        #050505 0%,
        #0d0d0d 46%,
        #050505 100%
    ) !important;
     border: 1px solid #050505 !important;
     box-shadow:
        inset 0 10px 20px rgba(0,0,0,0.97),
        inset 0 -2px 3px rgba(255,255,255,0.030),
        inset 8px 0 18px rgba(0,0,0,0.90),
        inset -8px 0 18px rgba(0,0,0,0.90) !important;
}
}


.meeting-title-table .meeting-title-image-right {
.screen-header .crt-page-monitor-screen {
     width: auto;
     position: relative !important;
    text-align: left !important;
     width: 100% !important;
     padding: 0 0 0 6px !important;
     height: 100% !important;
     line-height: 0;
     overflow: hidden !important;
     white-space: nowrap;
     border-radius: 0 !important;
}
     background: #050505 !important;
 
     border: 1px solid #050505 !important;
.meeting-title-table .meeting-title-cell {
     box-shadow:
    width: auto;
        inset 0 0 0 1px #111,
     line-height: 1.15 !important;
        inset 0 0 24px rgba(0,0,0,0.94),
     background: none !important;
        inset 0 0 64px rgba(0,0,0,0.80),
     text-align: center !important;
        inset 0 0 118px rgba(0,0,0,0.50),
     white-space: nowrap;
        0 0 0 1px rgba(255,255,255,0.030) !important;
    padding: 0 !important;
}
}


.meeting-title-image-left img,
.screen-header .crt-page-monitor-image,
.meeting-title-image-right img,
.screen-header .crt-page-monitor-image-base,
.meeting-title-image-left .mw-file-element,
.screen-header .crt-page-monitor-image-bloom,
.meeting-title-image-right .mw-file-element {
.screen-header .crt-page-monitor-slice {
     display: block;
     position: absolute !important;
     border: 0 !important;
     inset: 0 !important;
     vertical-align: middle;
     border-radius: 0 !important;
    filter:
        drop-shadow(0 1px 2px rgba(0,0,0,0.75))
        drop-shadow(0 0 3px rgba(255,255,255,0.08));
}
}


.meeting-title-name {
.screen-header .crt-page-monitor-image-base a,
     display: block;
.screen-header .crt-page-monitor-image-base span,
     line-height: 1.15;
.screen-header .crt-page-monitor-image-base .mw-file-description,
     text-align: center;
.screen-header .crt-page-monitor-image-base .mw-default-size,
.screen-header .crt-page-monitor-image-base .mw-image-border,
.screen-header .crt-page-monitor-image-bloom a,
.screen-header .crt-page-monitor-image-bloom span,
.screen-header .crt-page-monitor-image-bloom .mw-file-description,
.screen-header .crt-page-monitor-image-bloom .mw-default-size,
.screen-header .crt-page-monitor-image-bloom .mw-image-border,
.screen-header .crt-page-monitor-slice a,
.screen-header .crt-page-monitor-slice span,
.screen-header .crt-page-monitor-slice .mw-file-description,
.screen-header .crt-page-monitor-slice .mw-default-size,
.screen-header .crt-page-monitor-slice .mw-image-border {
    position: absolute !important;
    inset: 0 !important;
     display: block !important;
     width: 100% !important;
     height: 100% !important;
}
}


.meeting-title-meta {
.screen-header .crt-page-monitor-image-base img,
     display: block;
.screen-header .crt-page-monitor-image-base .mw-file-element,
     margin-top: 1px;
.screen-header .crt-page-monitor-image-bloom img,
     color: #7F7F7F;
.screen-header .crt-page-monitor-image-bloom .mw-file-element,
     font-size: 10px;
.screen-header .crt-page-monitor-slice img,
     font-weight: normal;
.screen-header .crt-page-monitor-slice .mw-file-element,
     line-height: 1.15;
.screen-header .crt-page-monitor-slice-img {
     text-align: center;
     position: absolute !important;
}
     inset: 0 !important;
 
     display: block !important;
.meeting-seatmap {
     width: 100% !important;
    position: relative;
     height: 100% !important;
     margin: 0 auto;
     max-width: none !important;
     padding: 5px 0 4px 0;
     max-height: none !important;
    background: transparent;
    object-fit: cover !important;
     border-radius: 0;
     object-position: var(--screen-image-position, center center) !important;
    overflow: visible;
     border: 0 !important;
     border-radius: 0 !important;
}
}


/* 중앙 세로 기준선 - HR 계열 팔레트 */
.screen-header .crt-page-monitor-screen::before {
.meeting-seatmap::before {
     content: "" !important;
     content: "";
     position: absolute !important;
     position: absolute;
     inset: -4px !important;
     left: 50%;
     z-index: 20 !important;
     top: 84px;
     pointer-events: none !important;
     bottom: 145px;
     border-radius: 0 !important;
     width: 2px;
    transform: translateX(-50%);
     background:
     background:
        radial-gradient(
            ellipse at 50% 50%,
            transparent 0%,
            transparent 62%,
            rgba(0,0,0,0.18) 78%,
            rgba(0,0,0,0.48) 100%
        ),
         linear-gradient(
         linear-gradient(
             to bottom,
             to bottom,
            rgba(0,0,0,0.20) 0%,
            transparent 14%,
            transparent 82%,
            rgba(0,0,0,0.28) 100%
        ),
        linear-gradient(
            to right,
            rgba(0,0,0,0.20) 0%,
            transparent 8%,
            transparent 92%,
            rgba(0,0,0,0.20) 100%
        ),
        linear-gradient(
            105deg,
             transparent 0%,
             transparent 0%,
             rgba(65,65,65,0.72) 18%,
             rgba(255,255,255,0.030) 18%,
             #414141 50%,
             transparent 38%,
            rgba(65,65,65,0.72) 82%,
             transparent 100%
             transparent 100%
         );
         ) !important;
     box-shadow: 0 0 6px rgba(65,65,65,0.16);
     box-shadow:
    pointer-events: none;
        inset 0 0 0 1px rgba(255,255,255,0.018),
        inset 0 0 24px rgba(255,255,255,0.015),
        inset 0 0 74px rgba(0,0,0,0.64),
        inset 0 22px 38px rgba(0,0,0,0.60),
        inset 0 -20px 36px rgba(0,0,0,0.44),
        inset 18px 0 36px rgba(0,0,0,0.56),
        inset -18px 0 36px rgba(0,0,0,0.56) !important;
}
}


/* 구성 좌우를 가로로 묶는 기준선 */
.screen-header .crt-page-monitor-screen::after {
.meeting-table-zone::before {
     content: "" !important;
     content: "";
     position: absolute !important;
     position: absolute;
     inset: -80px -4px !important;
     left: 7%;
     z-index: 21 !important;
     right: 7%;
     pointer-events: none !important;
     top: 50%;
     opacity: 0.22 !important;
     height: 2px;
     border-radius: 0 !important;
     transform: translateY(-50%);
     background: repeating-linear-gradient(
     background:
        to bottom,
        linear-gradient(
        rgba(255,255,255,0.08) 0px,
            to right,
        rgba(255,255,255,0.08) 1px,
            transparent 0%,
        transparent 2px,
            rgba(65,65,65,0.72) 14%,
         transparent 5px
            #414141 50%,
    ) !important;
            rgba(65,65,65,0.72) 86%,
     mix-blend-mode: screen !important;
            transparent 100%
    animation: crt-scanlines-up 7s linear infinite !important;
         );
}
     box-shadow: 0 0 6px rgba(65,65,65,0.14);
 
     pointer-events: none;
.screen-header .crt-page-monitor-glitch,
.screen-header .crt-page-monitor-tear {
    inset: -4px !important;
     border-radius: 0 !important;
}
}


.meeting-axis-label {
.screen-header .crt-page-monitor-glitch { z-index: 22 !important; }
    position: relative;
.screen-header .crt-page-monitor-tear  { z-index: 23 !important; }
    z-index: 4;
    display: inline-block;
    min-width: 42px;
    margin: 2px auto 4px auto;
    padding: 2px 9px;
    border-radius: 5px;
    background: #0c0c0c;
    color: #E4E4E4;
    font-weight: bold;
    line-height: 1.35;
    box-shadow:
        inset 0 -1px 0 #525252,
        0 0 0 3px #1A1A1A;
}


.meeting-chair-line {
.screen-header-title {
     position: relative;
     position: absolute !important;
     z-index: 3;
    left: 5px !important;
     display: flex;
    bottom: 5px !important;
     justify-content: center;
     z-index: 40 !important;
     margin: 0 0 6px 0;
    margin: 0 !important;
     background: transparent;
     padding: 0 !important;
     max-width: calc(100% - 10px) !important;
     box-sizing: border-box !important;
     background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
}


.meeting-table-zone {
.screen-header-title-main {
     position: relative;
     margin: 0 !important;
     z-index: 3;
    padding: 0 0 8px 10px !important;
     display: grid;
    border: 0 !important;
     grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
    background: transparent !important;
     align-items: center;
     box-shadow: none !important;
     width: 100%;
     color: #ffffff !important;
     max-width: 980px;
     font-family: 'BoldRound', sans-serif !important;
     min-height: 210px;
     font-size: 40px !important;
     margin: 0 auto;
     font-weight: 700 !important;
     background: transparent;
     line-height: 0.95 !important;
     letter-spacing: 0.06em !important;
     text-shadow:
        3px 3px 0 rgba(0,0,0,0.98),
        0 0 6px rgba(0,0,0,0.98),
        0 0 14px rgba(0,0,0,0.95),
        0 0 26px rgba(0,0,0,0.92),
        -1px 0 0 rgba(80,160,255,0.24),
        1px 0 0 rgba(255,55,90,0.22) !important;
     white-space: nowrap !important;
}
}


.meeting-side {
.screen-header-subtitle {
     display: flex;
     display: none !important;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    min-width: 0;
    background: transparent;
}
}


.meeting-side-left {
/* =========================================
    padding-right: 4px;
  screen-body
}
  베젤 좌우 padding(24px)을 정확히 상쇄
  하단 -28px은 베젤 하단 padding을 상쇄해서 베젤 닫음
  ========================================= */


.meeting-side-right {
.screen-header + .screen-body {
     padding-left: 4px;
     margin-top: 0 !important;
    border-top: 0 !important;
}
}


.meeting-center-spine {
.screen-body {
     position: relative;
     position: relative;
     display: flex;
     width: 100%;
     align-items: center;
     margin: 0;
     justify-content: center;
     padding: 4px 8px 4px 8px;
     align-self: stretch;
     box-sizing: border-box;
    min-height: 210px;
     background: #171717;
     z-index: 4;
     overflow: hidden;
     background: transparent;
}
}


.meeting-center-spine .meeting-axis-label {
/* =========================================
    position: absolute;
  Document View System — doc-*
    top: 50%;
  ========================================= */
    left: 50%;
    transform: translate(-50%, -50%);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    min-width: 0;
    min-height: 42px;
    margin: 0;
    padding: 8px 3px;
}


.meeting-advisory-zone {
.doc-body {
     position: relative;
     position: relative;
     z-index: 3;
     z-index: 3;
     margin-top: 6px;
     box-sizing: border-box;
    width: 100%;
    padding: 0;
     background: transparent;
     background: transparent;
}
}


.meeting-advisory-zone > .meeting-axis-label {
/* =========================================
    margin-bottom: 6px;
  doc-header
}
  ========================================= */


.meeting-advisory-grid {
.doc-header {
     position: relative;
     position: relative;
     display: flex;
     display: grid;
     flex-wrap: nowrap;
     grid-template-columns: 24px 1fr auto 24px;
    justify-content: center;
     align-items: center;
     align-items: center;
     gap: 0;
     height: 28px;
     width: 100%;
     margin-bottom: 7px;
    max-width: 760px;
     padding: 0 8px;
    margin: 0 auto;
     padding: 0;
     box-sizing: border-box;
     box-sizing: border-box;
     background: transparent;
     background:
        linear-gradient(
            to bottom,
            #282828 0%,
            #1a1a1a 40%,
            #161616 100%
        );
    border-top: 1px solid #3a3a3a;
    border-bottom: 1px solid #0a0a0a;
    border-left: 1px solid #222;
    border-right: 1px solid #222;
    border-radius: 2px;
}
}


.meeting-advisory-grid::before {
.doc-header::before {
     content: "";
     content: "";
     position: absolute;
     position: absolute;
     left: 7%;
     inset: 0;
    right: 7%;
    top: 94px;
    height: 2px;
    background:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(65,65,65,0.72) 14%,
            #414141 50%,
            rgba(65,65,65,0.72) 86%,
            transparent 100%
        );
    box-shadow: 0 0 6px rgba(65,65,65,0.14);
     pointer-events: none;
     pointer-events: none;
    opacity: 0.06;
    background: repeating-linear-gradient(
        135deg,
        rgba(255,255,255,0.08) 0px,
        rgba(255,255,255,0.08) 1px,
        transparent 1px,
        transparent 4px
    );
    border-radius: inherit;
}
}


.meeting-person-card {
.doc-header-id {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: #c0c0c0;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
     position: relative;
     position: relative;
     z-index: 3;
     z-index: 1;
    background: transparent;
    color: #fff;
    text-align: center;
    vertical-align: top;
    padding: 0;
    box-sizing: border-box;
}
}


.meeting-chair-card {
.doc-screw {
     width: 180px;
    position: relative;
    z-index: 1;
     width: 10px;
    height: 10px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 36% 32%, rgba(255,255,255,0.35) 0%, transparent 28%),
        linear-gradient(145deg, #505050 0%, #282828 55%, #0e0e0e 100%);
    border: 1px solid #090909;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.15),
        inset 0 -1px 0 rgba(0,0,0,0.60),
        0 0 0 1px #333;
    justify-self: center;
}
}


.meeting-side .meeting-person-card {
.doc-screw::after {
     width: 50%;
     content: "";
     min-width: 0;
    position: absolute;
    top: 50%;
     left: 15%;
    right: 15%;
    height: 1px;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.55);
    border-radius: 1px;
}
}


.meeting-advisory-card {
.doc-status {
    width: 33.333%;
    min-width: 0;
}
 
.meeting-person-inner {
     display: flex;
     display: flex;
     justify-content: center;
     align-items: center;
     padding: 0;
     gap: 5px;
     background: transparent;
     position: relative;
    z-index: 1;
}
}


.meeting-person-stack {
.doc-status-lamp {
     width: 90%;
    display: inline-block;
     margin-top: 3px;
     width: 8px;
     background: transparent;
     height: 8px;
     display: flex;
     border-radius: 50%;
     flex-direction: column;
     background: #111;
     align-items: center;
     border: 1px solid #060606;
     box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 0 0 1px #252525;
}
}


.meeting-side .meeting-person-stack {
.doc-status-lamp.on {
     width: 94%;
     background: radial-gradient(circle at 38% 32%, #d9ff9d 0%, #7ec43e 45%, #253d18 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.28),
        0 0 0 1px #1a3010,
        0 0 5px rgba(100,200,50,0.45);
}
}


.meeting-advisory-card .meeting-person-stack {
.doc-status-lamp.warn {
     width: 92%;
     background: radial-gradient(circle at 38% 32%, #ffe8b0 0%, #d89a42 45%, #4d2a0d 100%);
}
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.28),
        0 0 0 1px #3a1f06,
        0 0 5px rgba(220,140,40,0.45);
}


.meeting-person-stack .compact-crt-media {
/* =========================================
    margin-left: auto;
  doc-layout
    margin-right: auto;
  ========================================= */
    flex: 0 0 auto;
}


.meeting-person-stack .office-card-name-cell {
.doc-layout {
     width: 170px;
     display: grid;
     max-width: 100%;
     grid-template-columns: 200px minmax(0, 1fr) 320px;
     margin-top: 6px;
     gap: 7px;
     margin-left: auto;
     align-items: stretch;
     margin-right: auto;
     min-height: 620px;
    flex: 0 0 auto;
}
}


.meeting-chair-card .office-card-name-cell {
.doc-layout-left,
     width: 170px;
.doc-layout-center,
.doc-layout-right {
     min-width: 0;
}
}


.meeting-advisory-card .office-card-name-cell {
.doc-layout-center,
     width: 170px;
.doc-layout-right {
    display: flex;
    flex-direction: column;
     gap: 7px;
}
}


.meeting-office {
.doc-layout-lower {
     display: block;
     display: grid;
     margin-top: 2px;
     grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
     color: #7F7F7F;
     gap: 7px;
     font-size: 10px;
     flex: 1;
    line-height: 1.3;
    font-weight: normal;
}
}


/* =========================================
/* =========================================
   ScreenHeader
   doc-panel
  recessed display using original CRT banner classes
   ========================================= */
   ========================================= */


/* screen-header 문서 기본 제목 숨김 */
.doc-panel {
.liberty-content:has(.screen-header) .liberty-content-header .title {
    position: relative;
     display: none !important;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    background: #1a1a1a;
    border-top: 1px solid #303030;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #222;
    border-right: 1px solid #111;
    border-radius: 2px;
     overflow: hidden;
}
}


/* 본문 컨테이너는 원래 하단 연결 구조를 유지 */
.doc-panel::before {
.Liberty .content-wrapper .liberty-content:has(.screen-header) .liberty-content-main {
    content: "";
     position: relative !important;
     position: absolute;
     box-sizing: border-box !important;
     top: 4px;
     background: #171717 !important;
    left: 4px;
     border: 2px solid #854369 !important;
     width: 5px;
     border-bottom: none !important;
     height: 5px;
}
     border-radius: 50%;
 
    background:
/* 이전 실험 잔재 차단 */
        radial-gradient(circle at 35% 30%, rgba(255,255,255,0.25) 0%, transparent 40%),
.liberty-content:has(.screen-header) .screen-title-plate,
        linear-gradient(145deg, #444 0%, #1e1e1e 100%);
.liberty-content:has(.screen-header) .screen-header-frame,
    border: 1px solid #080808;
.liberty-content:has(.screen-header) .screen-header-inner,
    box-shadow: 0 0 0 1px #2a2a2a;
.liberty-content:has(.screen-header) .screen-header-media,
    pointer-events: none;
.liberty-content:has(.screen-header) .screen-header-vignette,
     z-index: 10;
.liberty-content:has(.screen-header) .screen-header-scanline,
.liberty-content:has(.screen-header) .screen-header-mask,
.liberty-content:has(.screen-header) .screen-header-glass,
.liberty-content:has(.screen-header) .screen-header-subtitle {
     display: none !important;
}
}


/* 전체 표면 */
.doc-panel::after {
.screen-header {
     content: "";
    position: relative !important;
     position: absolute;
    width: calc(100% + 32px) !important;
     top: 4px;
     height: var(--screen-header-height, 360px) !important;
     right: 4px;
     margin: -16px -16px 0 -16px !important;
     width: 5px;
     padding: 8px 8px 4px 8px !important;
     height: 5px;
     box-sizing: border-box !important;
     border-radius: 50%;
    overflow: hidden !important;
     background:
    background: #171717 !important;
        radial-gradient(circle at 35% 30%, rgba(255,255,255,0.25) 0%, transparent 40%),
    border: 0 !important;
         linear-gradient(145deg, #444 0%, #1e1e1e 100%);
    border-bottom: 0 !important;
     border: 1px solid #080808;
    isolation: isolate !important;
     box-shadow: 0 0 0 1px #2a2a2a;
}
 
/* 안으로 파인 절단면 */
.screen-header-recess {
    position: relative !important;
     width: 100% !important;
     height: 100% !important;
     margin: 0 !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
     background: #171717 !important;
    border: 1px solid rgba(255,255,255,0.035) !important;
    border-radius: 6px !important;
    box-shadow:
        inset 0 18px 30px rgba(0,0,0,0.82),
        inset 0 -9px 16px rgba(255,255,255,0.026),
        inset 18px 0 30px rgba(0,0,0,0.66),
         inset -18px 0 30px rgba(0,0,0,0.66),
        0 1px 0 rgba(255,255,255,0.030),
        0 -1px 0 rgba(0,0,0,0.70) !important;
}
 
/* 절단면 표면 질감 */
.screen-header-recess::before {
    content: "";
     position: absolute;
     inset: 0;
    z-index: 1;
     pointer-events: none;
     pointer-events: none;
     opacity: 0.10;
     z-index: 10;
    background:
        repeating-linear-gradient(
            135deg,
            rgba(255,255,255,0.030) 0px,
            rgba(255,255,255,0.030) 1px,
            transparent 1px,
            transparent 5px
        );
    mix-blend-mode: screen;
}
}


/* 디스플레이 주변으로 떨어지는 깊은 그림자 */
.doc-panel-title {
.screen-header-recess::after {
    position: relative;
     content: "";
    z-index: 3;
     position: absolute;
     box-sizing: border-box;
     inset: 14px;
     padding: 6px 10px 5px 10px;
     z-index: 12;
     font-family: 'Galmuri11', sans-serif !important;
     pointer-events: none;
     font-size: 10px;
     border-radius: 0;
     font-weight: 700;
     box-shadow:
     text-align: center;
        0 -20px 32px rgba(0,0,0,0.86),
     line-height: 1.2;
        0 12px 18px rgba(255,255,255,0.024),
    letter-spacing: 0.10em;
        -20px 0 32px rgba(0,0,0,0.78),
    color: #888;
        20px 0 32px rgba(0,0,0,0.78),
    background: linear-gradient(to bottom, #161616 0%, #121212 100%);
        inset 0 0 0 1px rgba(255,255,255,0.018) !important;
    border-bottom: 1px solid #0d0d0d;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
    text-transform: uppercase;
}
}


/* 기존 CRT 배너 프레임을 디스플레이로 재사용 */
.doc-panel-heading {
.screen-header .screen-header-crt {
    padding: 10px 18px;
     position: relative !important;
    font-size: 11px;
     z-index: 2 !important;
    font-weight: 700;
     width: 100% !important;
    color: #7a7a7a;
     height: 100% !important;
    letter-spacing: 0.06em;
     aspect-ratio: auto !important;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
     margin: 0 !important;
     position: relative;
     z-index: 3;
}
 
.doc-panel table {
     width: 100%;
     border-collapse: collapse;
     margin: 0;
}
 
.doc-panel table th,
.doc-panel table td {
    background: transparent !important;
     border: none !important;
     padding: 0 !important;
     padding: 0 !important;
     box-sizing: border-box !important;
     vertical-align: middle !important;
    overflow: hidden !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
}


.screen-header .screen-header-crt::before,
.doc-panel table th[style],
.screen-header .screen-header-crt::after {
.doc-panel table td[style] {
     content: none !important;
    background: revert !important;
    border: revert !important;
     padding: revert !important;
}
}


/* 기존 CRT 내부 홈 유지 */
/* =========================================
.screen-header .crt-page-monitor-inner {
  doc-display
     position: relative !important;
  ========================================= */
     width: 100% !important;
 
     height: 100% !important;
.doc-display {
     padding: 5px !important;
     position: relative;
     margin: 0 !important;
     z-index: 3;
     box-sizing: border-box !important;
     box-sizing: border-box;
     border-radius: 0 !important;
     padding: 4px 14px;
     background:
     margin-bottom: 0;
        linear-gradient(
     min-height: 90px;
            145deg,
     line-height: 1.8;
            #050505 0%,
     color: #d8d8d8;
            #0d0d0d 46%,
    background: #111111;
            #050505 100%
     border-top: 1px solid #0a0a0a;
        ) !important;
     border: 1px solid #050505 !important;
     box-shadow:
     box-shadow:
         inset 0 10px 20px rgba(0,0,0,0.97),
         inset 0 2px 6px rgba(0,0,0,0.55),
        inset 0 -2px 3px rgba(255,255,255,0.030),
         inset 0 0 1px rgba(0,0,0,0.80);
         inset 8px 0 18px rgba(0,0,0,0.90),
        inset -8px 0 18px rgba(0,0,0,0.90) !important;
}
}


/* 실제 CRT 화면 */
/* =========================================
.screen-header .crt-page-monitor-screen {
  doc-info
     position: relative !important;
  ========================================= */
     width: 100% !important;
 
     height: 100% !important;
.doc-info-row {
     overflow: hidden !important;
     position: relative;
    border-radius: 0 !important;
     z-index: 3;
     background: #050505 !important;
     display: grid;
     border: 1px solid #050505 !important;
     grid-template-columns: 68px minmax(0, 1fr);
     box-shadow:
     gap: 8px;
        inset 0 0 0 1px #111,
     align-items: center;
        inset 0 0 24px rgba(0,0,0,0.94),
     margin: 7px 10px 0 10px;
        inset 0 0 64px rgba(0,0,0,0.80),
        inset 0 0 118px rgba(0,0,0,0.50),
        0 0 0 1px rgba(255,255,255,0.030) !important;
}
}


/* 기존 CRT 이미지 레이어 유지 */
.doc-info-key {
.screen-header .crt-page-monitor-image,
    font-size: 10px;
.screen-header .crt-page-monitor-image-base,
    font-weight: 700;
.screen-header .crt-page-monitor-image-bloom,
     color: #7a7a7a;
.screen-header .crt-page-monitor-slice {
     letter-spacing: 0.06em;
     position: absolute !important;
     text-shadow: 0 1px 0 rgba(0,0,0,0.70);
     inset: 0 !important;
     border-radius: 0 !important;
}
}


.screen-header .crt-page-monitor-image-base a,
.doc-info-value {
.screen-header .crt-page-monitor-image-base span,
    position: relative;
.screen-header .crt-page-monitor-image-base .mw-file-description,
    overflow: hidden;
.screen-header .crt-page-monitor-image-base .mw-default-size,
    text-align: right;
.screen-header .crt-page-monitor-image-base .mw-image-border,
    border-radius: 2px;
.screen-header .crt-page-monitor-image-bloom a,
    background: #0e0e0e;
.screen-header .crt-page-monitor-image-bloom span,
    color: #d8d8d8;
.screen-header .crt-page-monitor-image-bloom .mw-file-description,
    padding: 4px 9px;
.screen-header .crt-page-monitor-image-bloom .mw-default-size,
    font-size: 11px;
.screen-header .crt-page-monitor-image-bloom .mw-image-border,
    font-weight: 700;
.screen-header .crt-page-monitor-slice a,
    box-sizing: border-box;
.screen-header .crt-page-monitor-slice span,
    border-top: 1px solid #0a0a0a;
.screen-header .crt-page-monitor-slice .mw-file-description,
     border-bottom: 1px solid #252525;
.screen-header .crt-page-monitor-slice .mw-default-size,
     border-left: 1px solid #111;
.screen-header .crt-page-monitor-slice .mw-image-border {
     border-right: 1px solid #111;
    position: absolute !important;
     box-shadow:
     inset: 0 !important;
        inset 0 2px 4px rgba(0,0,0,0.60),
     display: block !important;
        inset 1px 0 0 rgba(255,255,255,0.015);
     width: 100% !important;
     height: 100% !important;
}
}


.screen-header .crt-page-monitor-image-base img,
.doc-info-value::after {
.screen-header .crt-page-monitor-image-base .mw-file-element,
    content: "";
.screen-header .crt-page-monitor-image-bloom img,
     position: absolute;
.screen-header .crt-page-monitor-image-bloom .mw-file-element,
     inset: 0;
.screen-header .crt-page-monitor-slice img,
     z-index: 2;
.screen-header .crt-page-monitor-slice .mw-file-element,
     pointer-events: none;
.screen-header .crt-page-monitor-slice-img {
     opacity: 0.15;
     position: absolute !important;
     background: repeating-linear-gradient(
     inset: 0 !important;
        to bottom,
     display: block !important;
        rgba(255,255,255,0.055) 0px,
     width: 100% !important;
        rgba(255,255,255,0.055) 1px,
     height: 100% !important;
        transparent 2px,
     max-width: none !important;
        transparent 4px
     max-height: none !important;
     );
     object-fit: cover !important;
     mix-blend-mode: screen;
    object-position: var(--screen-image-position, center center) !important;
}
     border: 0 !important;
 
     border-radius: 0 !important;
.doc-info-block {
     padding: 0 8px 6px 8px;
     background: #1a1a1a;
}
}


/* 기존 CRT 효과 유지 + 효과 범위 확장 */
.doc-info-block-label {
.screen-header .crt-page-monitor-screen::before {
     display: block;
     content: "" !important;
     padding: 6px 2px 4px 2px;
     position: absolute !important;
     font-size: 10px;
     inset: -4px !important;
     font-weight: 700;
     z-index: 20 !important;
     letter-spacing: 0.08em;
     pointer-events: none !important;
     text-transform: uppercase;
     border-radius: 0 !important;
     color: #9a9a9a;
     background:
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
        radial-gradient(
}
            ellipse at 50% 50%,
 
            transparent 0%,
/* =========================================
            transparent 62%,
  doc-nav
            rgba(0,0,0,0.18) 78%,
  ========================================= */
            rgba(0,0,0,0.48) 100%
 
        ),
.doc-nav {
        linear-gradient(
    height: 100%;
            to bottom,
    display: flex;
            rgba(0,0,0,0.20) 0%,
    flex-direction: column;
            transparent 14%,
}
            transparent 82%,
 
            rgba(0,0,0,0.28) 100%
.doc-nav-item {
        ),
    position: relative;
        linear-gradient(
    z-index: 3;
            to right,
    box-sizing: border-box;
            rgba(0,0,0,0.20) 0%,
    width: calc(100% - 16px);
            transparent 8%,
    margin: 5px 8px 0 8px;
            transparent 92%,
    padding: 7px 24px 7px 10px;
            rgba(0,0,0,0.20) 100%
    font-size: 11px;
        ),
    font-weight: 700;
        linear-gradient(
    line-height: 1.35;
            105deg,
    color: #666;
            transparent 0%,
    background: linear-gradient(to bottom, #232323 0%, #1a1a1a 50%, #161616 100%);
            rgba(255,255,255,0.030) 18%,
    border-top: 1px solid #2e2e2e;
            transparent 38%,
    border-bottom: 1px solid #0a0a0a;
            transparent 100%
    border-left: 1px solid #222;
        ) !important;
    border-right: 1px solid #111;
    border-radius: 2px;
     box-shadow:
     box-shadow:
         inset 0 0 0 1px rgba(255,255,255,0.018),
         inset 0 1px 0 rgba(255,255,255,0.025),
         inset 0 0 24px rgba(255,255,255,0.015),
         0 1px 0 rgba(255,255,255,0.012);
        inset 0 0 74px rgba(0,0,0,0.64),
    cursor: pointer;
        inset 0 22px 38px rgba(0,0,0,0.60),
    display: block;
        inset 0 -20px 36px rgba(0,0,0,0.44),
    text-decoration: none;
        inset 18px 0 36px rgba(0,0,0,0.56),
    text-shadow: 0 1px 0 rgba(0,0,0,0.70);
        inset -18px 0 36px rgba(0,0,0,0.56) !important;
}
}


/* 기존 scanline 유지 + 범위 확장 */
.doc-nav-item::after {
.screen-header .crt-page-monitor-screen::after {
     content: "";
     content: "" !important;
     position: absolute;
     position: absolute !important;
     right: 8px;
     inset: -80px -4px !important;
     top: 50%;
     z-index: 21 !important;
     transform: translateY(-50%);
     pointer-events: none !important;
     color: #333;
    opacity: 0.22 !important;
     font-size: 13px;
    border-radius: 0 !important;
     background:
        repeating-linear-gradient(
            to bottom,
            rgba(255,255,255,0.08) 0px,
            rgba(255,255,255,0.08) 1px,
            transparent 2px,
            transparent 5px
        ) !important;
     mix-blend-mode: screen !important;
    animation: crt-scanlines-up 7s linear infinite !important;
}
}


/* glitch / tear 유지 + 범위 확장 */
.doc-nav-item.active {
.screen-header .crt-page-monitor-glitch,
    color: #e8e8e8;
.screen-header .crt-page-monitor-tear {
    background: linear-gradient(to bottom, #5a2040 0%, #3d1a2f 52%, #2e1222 100%);
     inset: -4px !important;
    border-top-color: #7a3055;
     border-radius: 0 !important;
    border-bottom-color: #1a0810;
     border-left-color: #6a2848;
     box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 0 6px rgba(212,90,162,0.10);
}
}


.screen-header .crt-page-monitor-glitch {
.doc-nav-item.active::after {
     z-index: 22 !important;
     color: #d45aa2;
}
}


.screen-header .crt-page-monitor-tear {
/* =========================================
    z-index: 23 !important;
  doc-status-row
}
  ========================================= */


/* 제목: 디스플레이 좌측 하단 모서리에 접합 */
.doc-status-row {
.screen-header-title {
     position: relative;
     position: absolute !important;
     z-index: 3;
     left: 5px !important;
     display: flex;
     bottom: 5px !important;
     align-items: center;
     z-index: 40 !important;
    gap: 7px;
     margin: 0 !important;
     margin: 5px 8px 0 8px;
     padding: 0 !important;
     padding: 5px 9px;
     max-width: calc(100% - 10px) !important;
     box-sizing: border-box;
     box-sizing: border-box !important;
    font-size: 10px;
     background: transparent !important;
     font-weight: 700;
     border: 0 !important;
    color: #555;
     box-shadow: none !important;
    background: #111;
    border-top: 1px solid #0a0a0a;
    border-bottom: 1px solid #222;
    border-left: 1px solid #111;
     border-right: 1px solid #111;
     border-radius: 2px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.50);
     letter-spacing: 0.06em;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
}
}
.screen-header-title-main {
    margin: 0 !important;
    padding: 0 0 8px 10px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-family: 'BoldRound', sans-serif !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    line-height: 0.95 !important;
    letter-spacing: 0.06em !important;
    text-shadow:
        3px 3px 0 rgba(0,0,0,0.98),
        0 0 6px rgba(0,0,0,0.98),
        0 0 14px rgba(0,0,0,0.95),
        0 0 26px rgba(0,0,0,0.92),
        -1px 0 0 rgba(80,160,255,0.24),
        1px 0 0 rgba(255,55,90,0.22) !important;
    white-space: nowrap !important;
}
/* subtitle 완전 제거 */
.screen-header-subtitle {
    display: none !important;
}
/* ScreenHeader 바로 아래 내용 영역만 경계 제거 */
.screen-header + .screen-body {
    border-top: 0 !important;
    margin-top: 0 !important;
}


/* =========================================
/* =========================================
   Document View System — doc-*
   doc-link
  기본 문서 시스템
   ========================================= */
   ========================================= */


/* ── screen-body ── */
.doc-link {
.screen-body {
     position: relative;
     position: relative;
     width: calc(100% + 32px);
     z-index: 3;
    margin: 0 -16px 0 -16px;
    padding: 4px 8px 4px 8px;
     box-sizing: border-box;
     box-sizing: border-box;
     background: #171717;
    margin: 5px 10px 0 10px;
     box-shadow:
    padding: 6px 10px 6px 14px;
        inset 1px 0 0 #494949,
    font-size: 11px;
        inset 0 -1px 0 #555,
    font-weight: 700;
        inset 0 2px 8px rgba(0,0,0,0.60);
    color: #888;
     border-top: 0;
     background: linear-gradient(to bottom, #1a1a1a 0%, #151515 100%);
     overflow: visible;
    border-top: 1px solid #242424;
     border-bottom: 1px solid #080808;
    border-left: 1px solid #1e1e1e;
    border-right: 1px solid #111;
    border-radius: 2px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.018);
     display: block;
    text-decoration: none;
    cursor: pointer;
     text-shadow: 0 1px 0 rgba(0,0,0,0.70);
}
}


/* ── doc-body ── */
.doc-link::before {
.doc-body {
    content: "";
     position: relative;
     position: absolute;
     z-index: 3;
     left: 5px;
     box-sizing: border-box;
     top: 20%;
     width: 100%;
     bottom: 20%;
     padding: 0;
     width: 2px;
     background: transparent;
     background: #2e2e2e;
    border-radius: 1px;
}
}


/* =========================================
.doc-link:hover {
   doc-header — 상단 식별 레일
    color: #c0c0c0;
    background: linear-gradient(to bottom, #222 0%, #1a1a1a 100%);
    border-top-color: #333;
}
 
.doc-link:hover::before {
    background: #854369;
}
 
/* =========================================
   doc-tab-bar
   ========================================= */
   ========================================= */


.doc-header {
.doc-tab-bar {
     position: relative;
     position: relative;
     display: grid;
     z-index: 3;
     grid-template-columns: 24px 1fr auto 24px;
     display: flex;
     align-items: center;
     align-items: center;
     height: 28px;
     gap: 4px;
    margin-bottom: 7px;
     padding: 5px 6px;
     padding: 0 8px;
     background: linear-gradient(to bottom, #141414 0%, #111 100%);
    box-sizing: border-box;
     border-top: 1px solid #0a0a0a;
    /* 금속 레일: 위가 밝고 아래가 어둡게 — 양각 */
     box-shadow: inset 0 1px 0 rgba(0,0,0,0.60);
     background:
        linear-gradient(
            to bottom,
            #282828 0%,
            #1a1a1a 40%,
            #161616 100%
        );
     border-top: 1px solid #3a3a3a;
    border-bottom: 1px solid #0a0a0a;
     border-left: 1px solid #222;
    border-right: 1px solid #222;
    border-radius: 2px;
}
}


/* 레일 표면 사선 질감 */
.doc-tab-key {
.doc-header::before {
     display: flex;
     content: "";
     align-items: center;
     position: absolute;
     justify-content: center;
     inset: 0;
     flex: 0 0 auto;
     pointer-events: none;
     gap: 3px;
     opacity: 0.06;
     padding: 0 4px;
     background: repeating-linear-gradient(
     user-select: none;
        135deg,
     white-space: nowrap;
        rgba(255,255,255,0.08) 0px,
        rgba(255,255,255,0.08) 1px,
        transparent 1px,
        transparent 4px
     );
     border-radius: inherit;
}
}


.doc-header-id {
.doc-tab-key kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
     font-size: 10px;
     font-size: 10px;
     font-weight: 700;
     font-weight: 700;
     letter-spacing: 0.18em;
     font-family: inherit;
     color: #c0c0c0;
     color: #e2e2e2;
     text-shadow: 0 1px 0 rgba(0,0,0,0.80);
     background: linear-gradient(to bottom, #2a2a2a 0%, #1e1e1e 100%);
     position: relative;
     border-top: 1px solid #3a3a3a;
     z-index: 1;
     border-bottom: 1px solid #080808;
}
     border-left: 1px solid #2e2e2e;
 
     border-right: 1px solid #111;
/* ── 나사 ── */
     border-radius: 2px;
.doc-screw {
    position: relative;
     z-index: 1;
    width: 10px;
    height: 10px;
     border-radius: 50%;
    background:
        radial-gradient(circle at 36% 32%, rgba(255,255,255,0.35) 0%, transparent 28%),
        linear-gradient(145deg, #505050 0%, #282828 55%, #0e0e0e 100%);
     border: 1px solid #090909;
     box-shadow:
     box-shadow:
         inset 0 1px 0 rgba(255,255,255,0.15),
         inset 0 1px 0 rgba(255,255,255,0.06),
         inset 0 -1px 0 rgba(0,0,0,0.60),
         0 1px 0 rgba(255,255,255,0.02);
        0 0 0 1px #333;
     text-shadow: 0 1px 0 rgba(0,0,0,0.80);
     justify-self: center;
}
}


/* 나사 홈 (가로선) */
.doc-tab-key .doc-tab-arrow {
.doc-screw::after {
     font-size: 10px;
     content: "";
     color: #333;
     position: absolute;
     line-height: 1;
    top: 50%;
    left: 15%;
    right: 15%;
     height: 1px;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.55);
    border-radius: 1px;
}
}


/* ── 상태 램프 묶음 ── */
.doc-tab {
.doc-status {
     flex: 1;
     display: flex;
    box-sizing: border-box;
     align-items: center;
    padding: 6px 4px;
     gap: 5px;
    font-size: 10px;
     position: relative;
    font-weight: 700;
     z-index: 1;
    letter-spacing: 0.06em;
    color: #e2e2e2;
    background: linear-gradient(to bottom, #1e1e1e 0%, #181818 100%);
    border-top: 1px solid #2a2a2a;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #222;
    border-right: 1px solid #111;
    border-radius: 2px;
    cursor: pointer;
     text-align: center;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
    text-transform: uppercase;
    user-select: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
 
.doc-tab:hover {
     color: #ffffff;
     background: linear-gradient(to bottom, #242424 0%, #1a1a1a 100%);
     border-top-color: #333;
}
}


.doc-status-lamp {
.doc-tab.active {
     display: inline-block;
     color: #ffffff;
    width: 8px;
     background: linear-gradient(to bottom, #2e1222 0%, #3d1a2f 52%, #5a2040 100%);
    height: 8px;
     border-top-color: #7a3055;
    border-radius: 50%;
    border-bottom-color: #1a0810;
    background: #111;
     border-left-color: #6a2848;
    border: 1px solid #060606;
     box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 0 0 1px #252525;
}
 
.doc-status-lamp.on {
     background: radial-gradient(circle at 38% 32%, #d9ff9d 0%, #7ec43e 45%, #253d18 100%);
     box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.28),
        0 0 0 1px #1a3010,
        0 0 5px rgba(100,200,50,0.45);
}
 
.doc-status-lamp.warn {
     background: radial-gradient(circle at 38% 32%, #ffe8b0 0%, #d89a42 45%, #4d2a0d 100%);
     box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.28),
        0 0 0 1px #3a1f06,
        0 0 5px rgba(220,140,40,0.45);
}
}


/* =========================================
/* =========================================
   doc-layout — 3단 본문 그리드
   doc-footer
   ========================================= */
   ========================================= */


.doc-layout {
.doc-footer {
    position: relative;
     display: grid;
     display: grid;
     grid-template-columns: 200px minmax(0, 1fr) 320px;
     grid-template-columns: 1fr 110px 44px 110px 200px;
     gap: 7px;
    gap: 12px;
     align-items: stretch;
    align-items: center;
     min-height: 480px;
    height: 44px;
}
    margin-top: 7px;
    padding: 0 10px;
    box-sizing: border-box;
    background: linear-gradient(to bottom, #282828 0%, #1a1a1a 40%, #161616 100%);
    box-shadow:
        inset 1px 0 0 #494949,
        inset 0 -1px 0 #555,
        inset 0 2px 6px rgba(0,0,0,0.55);
     border-top: 1px solid #3a3a3a;
    border-bottom: 1px solid #0a0a0a;
    border-left: 1px solid #222;
     border-right: 1px solid #222;
     border-radius: 2px;
}


.doc-layout-left,
.doc-footer::before {
.doc-layout-center,
    content: "";
.doc-layout-right {
    position: absolute;
     min-width: 0;
    inset: 0;
    pointer-events: none;
    opacity: 0.05;
    background: repeating-linear-gradient(
        135deg,
        rgba(255,255,255,0.08) 0px,
        rgba(255,255,255,0.08) 1px,
        transparent 1px,
        transparent 4px
     );
}
}


.doc-layout-center,
.doc-footer-sliders {
.doc-layout-right {
     display: flex;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 7px;
     gap: 10px;
}
}


.doc-layout-lower {
.doc-slider {
     display: grid;
     position: relative;
     grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: 80px;
     gap: 7px;
     height: 6px;
     flex: 1;
    background: #0a0a0a;
    border-top: 1px solid #080808;
    border-bottom: 1px solid #222;
     border-radius: 99px;
     box-shadow: inset 0 1px 3px rgba(0,0,0,0.70);
}
}


/* =========================================
.doc-slider.short {
  doc-panel — 패널 공통
     width: 54px;
  표면에 장착된 금속 모듈
  ========================================= */
 
.doc-panel {
    position: relative;
    box-sizing: border-box;
     width: 100%;
    min-width: 0;
    /* 패널 본체: 표면보다 살짝 밝음 */
    background: #1a1a1a;
    /* 위: 밝은 하이라이트 / 아래: 어두운 그림자 — 양각 느낌 */
    border-top: 1px solid #303030;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #222;
    border-right: 1px solid #111;
    border-radius: 2px;
    overflow: hidden;
}
}


/* 패널 모서리 나사 — 좌상단/우상단 */
.doc-slider::after {
.doc-panel::before {
     content: "";
     content: "";
     position: absolute;
     position: absolute;
     top: 4px;
     top: -6px;
     left: 4px;
     left: 48%;
     width: 5px;
     width: 10px;
     height: 5px;
     height: 18px;
     border-radius: 50%;
     border-radius: 2px;
     background:
     background: linear-gradient(to bottom, #c8c0b2 0%, #8a8278 100%);
        radial-gradient(circle at 35% 30%, rgba(255,255,255,0.25) 0%, transparent 40%),
     border-top: 1px solid #d8d0c2;
        linear-gradient(145deg, #444 0%, #1e1e1e 100%);
    border-bottom: 1px solid #2a2622;
     border: 1px solid #080808;
     border-left: 1px solid #aaa49c;
     box-shadow: 0 0 0 1px #2a2a2a;
     border-right: 1px solid #5a544e;
     pointer-events: none;
     box-shadow:
     z-index: 10;
        inset 0 1px 0 rgba(255,255,255,0.30),
        0 1px 3px rgba(0,0,0,0.40);
}
}


.doc-panel::after {
.doc-date {
    content: "";
    position: absolute;
    top: 4px;
    right: 4px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 30%, rgba(255,255,255,0.25) 0%, transparent 40%),
        linear-gradient(145deg, #444 0%, #1e1e1e 100%);
    border: 1px solid #080808;
    box-shadow: 0 0 0 1px #2a2a2a;
    pointer-events: none;
    z-index: 10;
}
 
/* ── doc-panel-title: 패널 헤더 바 ── */
.doc-panel-title {
    position: relative;
    z-index: 3;
     box-sizing: border-box;
     box-sizing: border-box;
     padding: 6px 10px 5px 10px;
     height: 26px;
     font-family: 'Galmuri11', sans-serif !important;
     display: flex;
    align-items: center;
    justify-content: center;
     font-size: 10px;
     font-size: 10px;
     font-weight: 700;
     font-weight: 700;
     text-align: center;
     letter-spacing: 0.12em;
     line-height: 1.2;
     color: #d45aa2;
     letter-spacing: 0.10em;
     background: #0a0a0a;
     color: #888;
     border-top: 1px solid #080808;
     background: linear-gradient(to bottom, #161616 0%, #121212 100%);
     border-bottom: 1px solid #2a1a22;
     border-bottom: 1px solid #0d0d0d;
    border-left: 1px solid #0e0e0e;
     text-shadow: 0 1px 0 rgba(0,0,0,0.80);
     border-right: 1px solid #0e0e0e;
     text-transform: uppercase;
    border-radius: 2px;
     box-shadow: inset 0 2px 5px rgba(0,0,0,0.70);
     text-shadow: 0 0 8px rgba(212,90,162,0.40);
}
}


/* =========================================
.doc-knob {
  doc-display — 본문 텍스트
     justify-self: center;
  ========================================= */
     width: 32px;
 
     height: 32px;
.doc-display {
     border-radius: 50%;
     position: relative;
     background:
    z-index: 3;
        radial-gradient(circle at 36% 28%, rgba(255,255,255,0.30) 0%, transparent 24%),
     box-sizing: border-box;
        linear-gradient(145deg, #c8bfb0 0%, #8a8278 48%, #464039 100%);
     padding: 4px 14px;
     border: 1px solid #2a2520;
     margin-bottom: 0;
     min-height: 90px;
    line-height: 1.8;
    color: #d8d8d8;
    /* 디스플레이는 패널보다 어둡게 — 음각 화면 */
    background: #111111;
     border-top: 1px solid #0a0a0a;
     box-shadow:
     box-shadow:
         inset 0 2px 6px rgba(0,0,0,0.55),
         inset 0 1px 0 rgba(255,255,255,0.30),
         inset 0 0 1px rgba(0,0,0,0.80);
        inset 0 -2px 0 rgba(0,0,0,0.22),
         0 2px 5px rgba(0,0,0,0.50);
}
}


/* =========================================
.doc-keys {
  doc-info — 키/값 정보
  ========================================= */
 
.doc-info-row {
    position: relative;
    z-index: 3;
     display: grid;
     display: grid;
     grid-template-columns: 68px minmax(0, 1fr);
     grid-template-columns: repeat(5, 1fr);
     gap: 8px;
     gap: 5px;
    align-items: center;
    margin: 7px 10px 0 10px;
}
}


.doc-info-key {
.doc-keys span {
     font-size: 10px;
     height: 22px;
     font-weight: 700;
    border-radius: 2px;
     color: #7a7a7a;
     background: linear-gradient(to bottom, #d8d4ca 0%, #a09890 55%, #6e6660 100%);
     letter-spacing: 0.06em;
    border-top: 1px solid #e0dcd2;
     text-shadow: 0 1px 0 rgba(0,0,0,0.70);
     border-bottom: 1px solid #1e1c18;
     border-left: 1px solid #b8b0a8;
    border-right: 1px solid #4a4440;
     box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.40),
        0 1px 2px rgba(0,0,0,0.30);
}
}


/* doc-info-value: infobox-glass-value 동일 패턴 */
.doc-keys span.red {
.doc-info-value {
     background: linear-gradient(to bottom, #cc6058 0%, #922e28 55%, #521410 100%);
     position: relative;
     border-top-color: #d87070;
    overflow: hidden;
     border-bottom-color: #1e0808;
    text-align: right;
    border-radius: 2px;
    background: #0e0e0e;
    color: #d8d8d8;
     padding: 4px 9px;
    font-size: 11px;
    font-weight: 700;
    box-sizing: border-box;
    border-top: 1px solid #0a0a0a;
     border-bottom: 1px solid #252525;
    border-left: 1px solid #111;
    border-right: 1px solid #111;
    box-shadow:
        inset 0 2px 4px rgba(0,0,0,0.60),
        inset 1px 0 0 rgba(255,255,255,0.015);
}
}


.doc-info-value::after {
.doc-keys span.amber {
    content: "";
     background: linear-gradient(to bottom, #e4bc6c 0%, #b87c28 55%, #6c3e08 100%);
    position: absolute;
     border-top-color: #ecd080;
    inset: 0;
     border-bottom-color: #201008;
    z-index: 2;
}
    pointer-events: none;
    opacity: 0.15;
     background: repeating-linear-gradient(
        to bottom,
        rgba(255,255,255,0.055) 0px,
        rgba(255,255,255,0.055) 1px,
        transparent 2px,
        transparent 4px
     );
     mix-blend-mode: screen;
}


/* =========================================
/* =========================================
   doc-nav — 섹션 탐색
   Responsive
   ========================================= */
   ========================================= */


.doc-nav {
@media screen and (max-width: 1280px) {
     height: 100%;
    .doc-layout {
     display: flex;
        grid-template-columns: 210px minmax(0, 1fr);
     flex-direction: column;
     }
 
    .doc-layout-right {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 7px;
    }
 
     .doc-footer {
        grid-template-columns: 1fr 110px 44px 110px;
     }
 
    .doc-keys {
        display: none;
    }
}
}


.doc-nav-item {
@media screen and (max-width: 980px) {
    position: relative;
     .doc-layout,
    z-index: 3;
     .doc-layout-lower,
    box-sizing: border-box;
     .doc-layout-right {
    width: calc(100% - 16px);
         grid-template-columns: 1fr;
    margin: 5px 8px 0 8px;
     }
    padding: 7px 24px 7px 10px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    color: #666;
    /* 버튼: 약간 양각 */
    background: linear-gradient(to bottom, #232323 0%, #1a1a1a 50%, #161616 100%);
    border-top: 1px solid #2e2e2e;
    border-bottom: 1px solid #0a0a0a;
    border-left: 1px solid #222;
    border-right: 1px solid #111;
    border-radius: 2px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.025),
        0 1px 0 rgba(255,255,255,0.012);
    cursor: pointer;
    display: block;
    text-decoration: none;
    text-shadow: 0 1px 0 rgba(0,0,0,0.70);
}
 
.doc-nav-item::after {
    content: "›";
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: #333;
    font-size: 13px;
}
 
.doc-nav-item.active {
    color: #e8e8e8;
    background: linear-gradient(to bottom, #5a2040 0%, #3d1a2f 52%, #2e1222 100%);
    border-top-color: #7a3055;
    border-bottom-color: #1a0810;
    border-left-color: #6a2848;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 0 6px rgba(212,90,162,0.10);
}
 
.doc-nav-item.active::after {
    color: #d45aa2;
}
 
/* ── doc-status-row ── */
.doc-status-row {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 5px 8px 0 8px;
    padding: 5px 9px;
    box-sizing: border-box;
    font-size: 10px;
    font-weight: 700;
    color: #555;
    background: #111;
    border-top: 1px solid #0a0a0a;
    border-bottom: 1px solid #222;
    border-left: 1px solid #111;
    border-right: 1px solid #111;
    border-radius: 2px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.50);
    letter-spacing: 0.06em;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
}
 
/* =========================================
  doc-link — 문서 링크 요소
  ========================================= */
 
.doc-link {
    position: relative;
    z-index: 3;
    box-sizing: border-box;
    margin: 5px 10px 0 10px;
    padding: 6px 10px 6px 14px;
    font-size: 11px;
    font-weight: 700;
    color: #888;
    background: linear-gradient(to bottom, #1a1a1a 0%, #151515 100%);
    border-top: 1px solid #242424;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #1e1e1e;
    border-right: 1px solid #111;
    border-radius: 2px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.018);
    display: block;
    text-decoration: none;
    cursor: pointer;
    text-shadow: 0 1px 0 rgba(0,0,0,0.70);
}
 
/* 좌측 인디케이터 선 */
.doc-link::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 20%;
    bottom: 20%;
    width: 2px;
    background: #2e2e2e;
    border-radius: 1px;
}
 
.doc-link:hover {
    color: #c0c0c0;
    background: linear-gradient(to bottom, #222 0%, #1a1a1a 100%);
    border-top-color: #333;
}
 
.doc-link:hover::before {
    background: #854369;
}
 
/* =========================================
  doc-footer — 하단 레일
  ========================================= */
 
.doc-footer {
    display: grid;
    grid-template-columns: 1fr 110px 44px 110px 200px;
    gap: 12px;
    align-items: center;
    height: 44px;
    margin-top: 7px;
    padding: 0 10px;
    box-sizing: border-box;
    background: linear-gradient(to bottom, #282828 0%, #1a1a1a 40%, #161616 100%);
    box-shadow:
        inset 1px 0 0 #494949,
        inset 0 -1px 0 #555,
        inset 0 2px 6px rgba(0,0,0,0.55);
    border-top: 1px solid #3a3a3a;
    border-bottom: 1px solid #0a0a0a;
    border-left: 1px solid #222;
    border-right: 1px solid #222;
    border-radius: 2px;
}
 
/* footer 표면 질감 */
.doc-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.05;
    background: repeating-linear-gradient(
        135deg,
        rgba(255,255,255,0.08) 0px,
        rgba(255,255,255,0.08) 1px,
        transparent 1px,
        transparent 4px
    );
}
 
.doc-footer-sliders {
    display: flex;
    align-items: center;
    gap: 10px;
}
 
.doc-slider {
    position: relative;
    width: 80px;
    height: 6px;
    background: #0a0a0a;
    border-top: 1px solid #080808;
    border-bottom: 1px solid #222;
    border-radius: 99px;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.70);
}
 
.doc-slider.short { width: 54px; }
 
.doc-slider::after {
    content: "";
    position: absolute;
    top: -6px;
    left: 48%;
    width: 10px;
    height: 18px;
    border-radius: 2px;
    background: linear-gradient(to bottom, #c8c0b2 0%, #8a8278 100%);
    border-top: 1px solid #d8d0c2;
    border-bottom: 1px solid #2a2622;
    border-left: 1px solid #aaa49c;
    border-right: 1px solid #5a544e;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.30),
        0 1px 3px rgba(0,0,0,0.40);
}
 
/* doc-date: 날짜 readout */
.doc-date {
    box-sizing: border-box;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #d45aa2;
    background: #0a0a0a;
    border-top: 1px solid #080808;
    border-bottom: 1px solid #2a1a22;
    border-left: 1px solid #0e0e0e;
    border-right: 1px solid #0e0e0e;
    border-radius: 2px;
    box-shadow: inset 0 2px 5px rgba(0,0,0,0.70);
    text-shadow: 0 0 8px rgba(212,90,162,0.40);
}
 
/* doc-knob */
.doc-knob {
    justify-self: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 36% 28%, rgba(255,255,255,0.30) 0%, transparent 24%),
        linear-gradient(145deg, #c8bfb0 0%, #8a8278 48%, #464039 100%);
    border: 1px solid #2a2520;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.30),
        inset 0 -2px 0 rgba(0,0,0,0.22),
        0 2px 5px rgba(0,0,0,0.50);
}
 
/* doc-keys */
.doc-keys {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 5px;
}
 
.doc-keys span {
    height: 22px;
    border-radius: 2px;
    background: linear-gradient(to bottom, #d8d4ca 0%, #a09890 55%, #6e6660 100%);
    border-top: 1px solid #e0dcd2;
    border-bottom: 1px solid #1e1c18;
    border-left: 1px solid #b8b0a8;
    border-right: 1px solid #4a4440;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.40),
        0 1px 2px rgba(0,0,0,0.30);
}
 
.doc-keys span.red {
    background: linear-gradient(to bottom, #cc6058 0%, #922e28 55%, #521410 100%);
    border-top-color: #d87070;
    border-bottom-color: #1e0808;
}
 
.doc-keys span.amber {
    background: linear-gradient(to bottom, #e4bc6c 0%, #b87c28 55%, #6c3e08 100%);
    border-top-color: #ecd080;
    border-bottom-color: #201008;
}
 
/* ── 반응형 ── */
@media screen and (max-width: 1280px) {
    .doc-layout {
        grid-template-columns: 210px minmax(0, 1fr);
    }
    .doc-layout-right {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 7px;
    }
    .doc-footer {
        grid-template-columns: 1fr 110px 44px 110px;
    }
    .doc-keys { display: none; }
}
 
@media screen and (max-width: 980px) {
     .doc-layout,
     .doc-layout-lower,
     .doc-layout-right {
         grid-template-columns: 1fr;
     }
    .doc-footer {
        grid-template-columns: 1fr;
        height: auto;
        padding: 8px 10px;
    }
    .doc-footer-sliders { justify-content: center; }
    .doc-date, .doc-knob { justify-self: center; }
}
 
/* ── doc-tab-bar: 패널 하단 탭 ── */
.doc-tab-bar {
    position: relative;
    z-index: 3;
    display: flex;
    gap: 3px;
    padding: 6px 8px;
    background: linear-gradient(to bottom, #141414 0%, #111 100%);
    border-top: 1px solid #0a0a0a;
    box-shadow: inset 0 1px 0 rgba(0,0,0,0.60);
}
 
.doc-tab {
    box-sizing: border-box;
    padding: 5px 14px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #555;
    background: linear-gradient(to bottom, #1e1e1e 0%, #181818 100%);
    border-top: 1px solid #2a2a2a;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #222;
    border-right: 1px solid #111;
    border-radius: 2px;
    cursor: pointer;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
    text-transform: uppercase;
    user-select: none;
}
 
.doc-tab:hover {
    color: #888;
    background: linear-gradient(to bottom, #242424 0%, #1a1a1a 100%);
    border-top-color: #333;
}
 
.doc-tab.active {
    color: #e2e2e2;
    background: linear-gradient(to bottom, #2e1222 0%, #3d1a2f 52%, #5a2040 100%);
    border-top-color: #7a3055;
    border-bottom-color: #1a0810;
    border-left-color: #6a2848;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}
 
/* 좌측 패널 제목 텍스트 */
.doc-panel-heading {
    padding: 10px 18px;
    font-size: 11px;
    font-weight: 700;
    color: #7a7a7a;
    letter-spacing: 0.06em;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
    position: relative;
    z-index: 3;
}
 
/* ── doc-tab-bar v2: 균등 분할 + Q/E 가이드 ── */
.doc-tab-bar {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: stretch;
    gap: 3px;
    padding: 5px 6px;
    background: linear-gradient(to bottom, #141414 0%, #111 100%);
    border-top: 1px solid #0a0a0a;
    box-shadow: inset 0 1px 0 rgba(0,0,0,0.60);
}
 
.doc-tab-key {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 4px;
    padding: 0 5px;
    font-size: 9px;
    font-weight: 700;
    color: #333;
    user-select: none;
    white-space: nowrap;
}
 
.doc-tab-key kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    font-size: 9px;
    font-weight: 700;
    font-family: inherit;
    color: #555;
    background: linear-gradient(to bottom, #2a2a2a 0%, #1e1e1e 100%);
    border-top: 1px solid #3a3a3a;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #2e2e2e;
    border-right: 1px solid #111;
    border-radius: 2px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
}
 
.doc-tab {
    flex: 1;
    box-sizing: border-box;
    padding: 5px 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #555;
    background: linear-gradient(to bottom, #1e1e1e 0%, #181818 100%);
    border-top: 1px solid #2a2a2a;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #222;
    border-right: 1px solid #111;
    border-radius: 2px;
    cursor: pointer;
    text-align: center;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
    text-transform: uppercase;
    user-select: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
 
.doc-tab:hover {
    color: #888;
    background: linear-gradient(to bottom, #242424 0%, #1a1a1a 100%);
    border-top-color: #333;
}
 
.doc-tab.active {
    color: #e2e2e2;
    background: linear-gradient(to bottom, #2e1222 0%, #3d1a2f 52%, #5a2040 100%);
    border-top-color: #7a3055;
    border-bottom-color: #1a0810;
    border-left-color: #6a2848;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}
 
/* ── doc-tab-bar v3: 화살표 키 가이드 + 정렬 개선 ── */
.doc-tab-bar {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px 6px;
    background: linear-gradient(to bottom, #141414 0%, #111 100%);
    border-top: 1px solid #0a0a0a;
    box-shadow: inset 0 1px 0 rgba(0,0,0,0.60);
}
 
.doc-tab-key {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 3px;
    padding: 0 4px;
    user-select: none;
    white-space: nowrap;
}
 
.doc-tab-key kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    font-size: 10px;
    font-weight: 700;
    font-family: inherit;
    color: #e2e2e2;
    background: linear-gradient(to bottom, #2a2a2a 0%, #1e1e1e 100%);
    border-top: 1px solid #3a3a3a;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #2e2e2e;
    border-right: 1px solid #111;
    border-radius: 2px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 1px 0 rgba(255,255,255,0.02);
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
}
 
.doc-tab-key .doc-tab-arrow {
    font-size: 10px;
    color: #333;
    line-height: 1;
}
 
.doc-tab {
    flex: 1;
    box-sizing: border-box;
    padding: 6px 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #e2e2e2;
    background: linear-gradient(to bottom, #1e1e1e 0%, #181818 100%);
    border-top: 1px solid #2a2a2a;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #222;
    border-right: 1px solid #111;
    border-radius: 2px;
    cursor: pointer;
    text-align: center;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
    text-transform: uppercase;
    user-select: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
 
.doc-tab:hover {
    color: #ffffff;
    background: linear-gradient(to bottom, #242424 0%, #1a1a1a 100%);
    border-top-color: #333;
}
 
.doc-tab.active {
    color: #ffffff;
    background: linear-gradient(to bottom, #2e1222 0%, #3d1a2f 52%, #5a2040 100%);
    border-top-color: #7a3055;
    border-bottom-color: #1a0810;
    border-left-color: #6a2848;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}
 
/* ── doc-panel 내부 wikitable 리셋 ── */
.doc-panel table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}


/* ── doc-panel 테이블 리셋 v2 ── */
    .doc-footer {
.doc-panel table th,
        grid-template-columns: 1fr;
.doc-panel table td {
        height: auto;
    background: transparent !important;
        padding: 8px 10px;
    border: none !important;
     }
    padding: 0 !important;
     vertical-align: middle !important;
}


/* 인라인 style 배경 복원 허용 */
    .doc-footer-sliders {
.doc-panel table th[style],
        justify-content: center;
.doc-panel table td[style] {
     }
    background: revert !important;
    border: revert !important;
     padding: revert !important;
}


/* ── doc-info-block: 카테고리 + 값 묶음 ── */
    .doc-date,
.doc-info-block {
     .doc-knob {
     padding: 0 8px 6px 8px;
        justify-self: center;
    background: #1a1a1a;
     }
}
 
.doc-info-block-label {
    display: block;
    padding: 6px 2px 4px 2px;
    font-size: 10px;
     font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9a9a9a;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
}
}

2026년 5월 11일 (월) 05:55 기준 최신판

@import url('/index.php?title=MediaWiki:Template.Infobox.css&action=raw&ctype=text/css');

/* =========================================
   Proitem Animation
   ========================================= */

.wip-stripe-layer {
    position: absolute;
    top: 0;
    left: -280px;
    width: calc(100% + 560px);
    height: 100%;
    opacity: 0.08;
    background: repeating-linear-gradient(
        45deg,
        #969696,
        #969696 10px,
        transparent 10px,
        transparent 20px
    );
    z-index: 0;
}

.wip-active .wip-stripe-layer {
    animation: wip-stripe-move 8s linear infinite;
}

.wip-standby .wip-stripe-layer {
    animation: none;
}

@keyframes wip-stripe-move {
    from { transform: translateX(0); }
    to { transform: translateX(280px); }
}

/* =========================================
   Collapsible
   ========================================= */

[id^="collapsible"] {
    overflow: hidden;
    transition: max-height .25s ease;
    max-height: 0;
}

/* =========================================
   Color
   ========================================= */

.color-text {
    color: var(--text-color);
}

.color-text a,
.color-text a:visited,
.color-text a:hover,
.color-text a:active {
    color: var(--text-color) !important;
    text-decoration-color: var(--text-color) !important;
}

/* =========================================
   CRT Glitch Panel
   ========================================= */

.crt-glitch-panel {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-radius: 5px;
    box-shadow:
        inset 0 0 18px rgba(255,255,255,0.04),
        inset 0 0 42px rgba(133,67,105,0.10),
        0 0 18px rgba(133,67,105,0.20);
}

.crt-glitch-panel .vanishing-grid-bg {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    background:
        radial-gradient(circle at 50% 45%, rgba(212,90,162,0.18) 0%, transparent 32%),
        linear-gradient(to bottom, #111 0%, #090909 58%, #030303 100%) !important;
}

.crt-glitch-panel > * {
    position: relative;
    z-index: 2;
}

.crt-glow-content {
    position: relative;
    z-index: 2;
    text-shadow:
        -1px 0 0 rgba(80,160,255,0.75),
        1px 0 0 rgba(255,55,90,0.65),
        2px 0 0 rgba(255,210,70,0.45),
        0 0 2px rgba(255,255,255,0.35),
        0 0 6px rgba(212,90,162,0.22),
        0 0 12px rgba(133,67,105,0.18);
    filter: drop-shadow(0 0 5px rgba(212,90,162,0.18));
}

.crt-glow-content::before {
    content: "";
    position: absolute;
    inset: -24px;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(255,255,255,0.08) 0%,
            rgba(212,90,162,0.10) 18%,
            rgba(133,67,105,0.08) 34%,
            transparent 68%
        );
    filter: blur(18px);
    opacity: 0.75;
}

.crt-glitch-panel .fake-h1,
.crt-glitch-panel h1,
.crt-glitch-panel h2,
.crt-glitch-panel strong {
    text-shadow:
        -1px 0 0 rgba(80,160,255,0.95),
        1px 0 0 rgba(255,55,90,0.85),
        2px 0 0 rgba(255,210,70,0.55),
        0 0 3px rgba(255,255,255,0.65),
        0 0 10px rgba(255,255,255,0.28),
        0 0 18px rgba(212,90,162,0.35),
        0 0 32px rgba(133,67,105,0.24);
}

.crt-glitch-panel img {
    filter:
        drop-shadow(-1px 0 0 rgba(80,160,255,0.65))
        drop-shadow(1px 0 0 rgba(255,55,90,0.55))
        drop-shadow(2px 0 0 rgba(255,210,70,0.35))
        drop-shadow(0 0 6px rgba(212,90,162,0.18));
}

.crt-glitch-panel::before {
    content: "";
    position: absolute;
    inset: -80px 0;
    z-index: 3;
    pointer-events: none;
    opacity: 0.22;
    background:
        repeating-linear-gradient(
            to bottom,
            rgba(255,255,255,0.08) 0px,
            rgba(255,255,255,0.08) 1px,
            transparent 2px,
            transparent 5px
        );
    mix-blend-mode: screen;
    animation: crt-scanlines-up 7s linear infinite;
}

.crt-glitch-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(255,255,255,0.18) 48%,
            rgba(212,90,162,0.28) 50%,
            rgba(90,120,255,0.16) 52%,
            transparent 56%
        );
    mix-blend-mode: screen;
    animation: crt-glitch-band-up 6.5s steps(1, end) infinite;
}

/* =========================================
   Horizontal CRT Warp
   ========================================= */

.crt-horizontal-warp {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.crt-horizontal-warp .crt-glow-content {
    animation: crt-base-drift 9s steps(1, end) infinite;
    background-image:
        repeating-linear-gradient(
            to bottom,
            rgba(120,180,255,0.00) 0px,
            rgba(120,180,255,0.00) 3px,
            rgba(120,180,255,0.05) 4px,
            rgba(255,80,170,0.035) 5px,
            rgba(120,180,255,0.00) 7px
        );
    background-blend-mode: screen;
}

.crt-horizontal-warp .crt-glow-content::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 6;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(120,180,255,0.18) 10%,
            rgba(255,255,255,0.18) 48%,
            rgba(212,90,162,0.20) 78%,
            transparent 100%
        );
    mix-blend-mode: screen;
    animation: crt-wide-horizontal-tear 3.8s steps(1, end) infinite;
}

/* =========================================
   CRT Animations
   ========================================= */

@keyframes crt-scanlines-up {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-80px);
    }
}

@keyframes crt-glitch-band-up {
    0%, 12%, 27%, 43%, 58%, 76%, 100% {
        opacity: 0;
        transform: translateY(100%);
    }

    13% {
        opacity: 0.75;
        transform: translateY(70%);
    }

    14% {
        opacity: 0.15;
        transform: translateY(62%) skewX(-2deg);
    }

    28% {
        opacity: 0.55;
        transform: translateY(35%);
    }

    29% {
        opacity: 0.18;
        transform: translateY(28%) skewX(2deg);
    }

    44% {
        opacity: 0.65;
        transform: translateY(10%);
    }

    45% {
        opacity: 0.12;
        transform: translateY(4%) skewX(-1deg);
    }

    59% {
        opacity: 0.5;
        transform: translateY(-20%);
    }

    60% {
        opacity: 0.16;
        transform: translateY(-26%) skewX(2deg);
    }

    77% {
        opacity: 0.55;
        transform: translateY(-55%);
    }

    78% {
        opacity: 0;
        transform: translateY(-70%);
    }
}

@keyframes crt-base-drift {
    0%, 88%, 100% {
        transform: translateX(0);
        filter: drop-shadow(0 0 5px rgba(212,90,162,0.18));
    }

    89% {
        transform: translateX(-2px) skewX(-0.4deg);
        filter:
            contrast(1.08)
            brightness(1.05)
            drop-shadow(0 0 7px rgba(212,90,162,0.24));
    }

    90% {
        transform: translateX(3px) skewX(0.5deg);
    }

    91% {
        transform: translateX(-1px);
    }

    92% {
        transform: translateX(0);
        filter: drop-shadow(0 0 5px rgba(212,90,162,0.18));
    }
}

@keyframes crt-wide-horizontal-tear {
    0%, 8%, 17%, 29%, 43%, 61%, 78%, 100% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 0 0);
    }

    9% {
        opacity: 0.45;
        transform: translateX(-18px) skewX(-3deg);
        clip-path: inset(18% 0 70% 0);
    }

    10% {
        opacity: 0.28;
        transform: translateX(24px) skewX(4deg);
        clip-path: inset(21% 0 64% 0);
    }

    18% {
        opacity: 0.38;
        transform: translateX(32px) skewX(5deg);
        clip-path: inset(42% 0 47% 0);
    }

    19% {
        opacity: 0.16;
        transform: translateX(-28px) skewX(-4deg);
        clip-path: inset(46% 0 43% 0);
    }

    30% {
        opacity: 0.48;
        transform: translateX(-36px) skewX(-6deg);
        clip-path: inset(58% 0 30% 0);
    }

    31% {
        opacity: 0.18;
        transform: translateX(20px) skewX(3deg);
        clip-path: inset(61% 0 27% 0);
    }

    44% {
        opacity: 0.36;
        transform: translateX(18px) skewX(3deg);
        clip-path: inset(8% 0 84% 0);
    }

    45% {
        opacity: 0.12;
        transform: translateX(-14px) skewX(-2deg);
        clip-path: inset(11% 0 80% 0);
    }

    62% {
        opacity: 0.44;
        transform: translateX(-42px) skewX(-7deg);
        clip-path: inset(73% 0 16% 0);
    }

    63% {
        opacity: 0.18;
        transform: translateX(30px) skewX(4deg);
        clip-path: inset(76% 0 12% 0);
    }

    79% {
        opacity: 0.42;
        transform: translateX(26px) skewX(4deg);
        clip-path: inset(31% 0 58% 0);
    }

    80% {
        opacity: 0.14;
        transform: translateX(-20px) skewX(-3deg);
        clip-path: inset(34% 0 54% 0);
    }
}

/* =========================================
   Retro Horizon Grid Background
   ========================================= */

.retro-grid-bg {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    background:
        linear-gradient(
            to bottom,
            rgba(13, 6, 19, 0.98) 0%,
            rgba(25, 9, 33, 0.82) 44%,
            rgba(53, 19, 56, 0.50) 60%,
            rgba(4, 4, 7, 0.96) 61%,
            rgba(2, 2, 4, 1) 100%
        ) !important;
}

.retro-grid-bg .crt-glow-content {
    position: relative;
    z-index: 5;
}

.retro-grid-bg::before {
    content: "";
    position: absolute;
    left: -10%;
    right: -10%;
    top: 56%;
    height: 16%;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(
            ellipse at 50% 50%,
            rgba(230,210,225,0.28) 0%,
            rgba(204,94,168,0.30) 20%,
            rgba(184,56,142,0.20) 44%,
            transparent 76%
        );
    filter: blur(9px);
    opacity: 0.68;
}

.retro-grid-bg::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 61%;
    width: 150%;
    height: 115%;
    z-index: 2;
    pointer-events: none;
    background-image:
        linear-gradient(
            to right,
            rgba(204,64,156,0.72) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(204,64,156,0.70) 1px,
            transparent 1px
        );
    background-size:
        48px 100%,
        100% 26px;
    transform-origin: 50% 0%;
    transform:
        translateX(-50%)
        perspective(430px)
        rotateX(66deg);
    opacity: 0.78;
    filter:
        drop-shadow(0 0 3px rgba(204,64,156,0.58))
        drop-shadow(0 0 10px rgba(204,64,156,0.30));
    animation: retro-grid-flow 1.8s linear infinite;
    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            black 4%,
            black 82%,
            transparent 100%
        );
    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            black 4%,
            black 82%,
            transparent 100%
        );
}

.retro-grid-bg .crt-glow-content::before {
    content: "";
    position: absolute;
    inset: -42px;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(
            ellipse at 50% 56%,
            rgba(220,220,225,0.05) 0%,
            rgba(204,64,156,0.07) 22%,
            rgba(96,152,204,0.05) 42%,
            transparent 70%
        );
    filter: blur(20px);
    opacity: 0.52;
}

@keyframes retro-grid-flow {
    from {
        background-position:
            0 0,
            0 0;
    }

    to {
        background-position:
            0 0,
            0 -26px;
    }
}

/* =========================================
   CRT Monitor Frame
   ========================================= */

.crt-monitor-frame {
    position: relative;
    box-sizing: border-box;
    padding: 34px 46px 38px 46px;
    border-radius: 22px;
    background:
        linear-gradient(145deg, #303030 0%, #181818 22%, #080808 58%, #202020 100%);
    border: 2px solid #2f2f2f;
    box-shadow:
        inset 0 2px 0 rgba(255,255,255,0.18),
        inset 0 -3px 0 rgba(0,0,0,0.85),
        inset 3px 0 0 rgba(255,255,255,0.06),
        inset -3px 0 0 rgba(0,0,0,0.75),
        0 0 0 3px #050505,
        0 0 0 5px #242424,
        0 12px 20px rgba(0,0,0,0.62),
        0 24px 42px rgba(0,0,0,0.52),
        0 42px 70px rgba(0,0,0,0.34);
}

.crt-monitor-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 22px;
    pointer-events: none;
    opacity: 0.16;
    background:
        repeating-linear-gradient(
            135deg,
            rgba(255,255,255,0.035) 0px,
            rgba(255,255,255,0.035) 1px,
            transparent 1px,
            transparent 5px
        ),
        radial-gradient(
            ellipse at 28% 12%,
            rgba(255,255,255,0.12) 0%,
            transparent 45%
        );
    mix-blend-mode: screen;
}

.crt-monitor-frame::after {
    content: none;
}

.crt-monitor-inner {
    position: relative;
    box-sizing: border-box;
    padding: 18px;
    border-radius: 16px;
    background:
        linear-gradient(145deg, #050505 0%, #111 44%, #070707 100%);
    border: 1px solid #050505;
    box-shadow:
        inset 0 5px 14px rgba(0,0,0,0.95),
        inset 0 -2px 4px rgba(255,255,255,0.06),
        inset 4px 0 10px rgba(0,0,0,0.85),
        inset -4px 0 10px rgba(0,0,0,0.85),
        0 1px 0 rgba(255,255,255,0.12);
}

.crt-monitor-screen {
    position: relative;
    overflow: hidden;
    border-radius: 9px / 18px;
    background: #050505;
    border: 2px solid #050505;
    box-shadow:
        inset 0 0 0 2px #151515,
        inset 0 0 22px rgba(0,0,0,0.95),
        inset 0 0 48px rgba(0,0,0,0.75),
        0 0 0 1px rgba(255,255,255,0.08),
        0 0 18px rgba(133,67,105,0.18);
}

.crt-monitor-screen::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 20;
    pointer-events: none;
    border-radius: 9px / 18px;
    background:
        radial-gradient(
            ellipse at 50% 50%,
            transparent 0%,
            transparent 58%,
            rgba(0,0,0,0.22) 82%,
            rgba(0,0,0,0.58) 100%
        ),
        linear-gradient(
            105deg,
            transparent 0%,
            rgba(255,255,255,0.05) 18%,
            transparent 38%,
            transparent 100%
        );
    box-shadow:
        inset 0 0 28px rgba(255,255,255,0.04),
        inset 0 0 60px rgba(0,0,0,0.65);
}

.crt-monitor-screen .crt-glitch-panel,
.crt-monitor-screen .retro-grid-bg {
    border-radius: 8px / 16px;
}

.crt-monitor-screen .crt-glitch-panel {
    box-shadow: none;
}

#clbi-main-crt-hero-wrap {
    width: 100%;
    margin: 0 auto 14px auto;
}

#clbi-main-crt-hero {
    width: 100%;
}

/* =========================================
   Compact CRT Media Frame
   ========================================= */

.compact-crt-media {
    position: relative;
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    margin: 6px auto;
    padding: 10px 14px;
    border-radius: 10px;
    background:
        linear-gradient(
            145deg,
            #242424 0%,
            #141414 34%,
            #070707 70%,
            #171717 100%
        );
    border: 1px solid #2b2b2b;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.12),
        inset 0 -2px 0 rgba(0,0,0,0.82),
        inset 2px 0 0 rgba(255,255,255,0.035),
        inset -2px 0 0 rgba(0,0,0,0.62),
        0 0 0 2px #050505,
        0 0 0 3px #242424,
        0 4px 12px rgba(0,0,0,0.68);
    overflow: hidden;
}

.compact-crt-media .mw-default-size,
.compact-crt-media .mw-file-element,
.compact-crt-media img {
    position: relative;
    z-index: 1;
}

.compact-crt-media img {
    max-width: 100%;
    height: auto;
    filter:
        drop-shadow(0 1px 3px rgba(0,0,0,0.72))
        drop-shadow(0 0 4px rgba(255,255,255,0.06));
    animation: compact-crt-image-jitter 1.25s steps(1, end) infinite;
}

.compact-crt-media::before {
    content: "";
    position: absolute;
    inset: 6px;
    z-index: 3;
    border-radius: 7px;
    pointer-events: none;
    background:
        radial-gradient(
            ellipse at 50% 50%,
            transparent 0%,
            transparent 54%,
            rgba(0,0,0,0.20) 78%,
            rgba(0,0,0,0.58) 100%
        ),
        linear-gradient(
            105deg,
            transparent 0%,
            rgba(255,255,255,0.040) 18%,
            transparent 38%,
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            rgba(255,255,255,0.030) 0%,
            transparent 34%,
            rgba(0,0,0,0.26) 100%
        );
    box-shadow:
        inset 0 0 18px rgba(255,255,255,0.028),
        inset 0 0 38px rgba(0,0,0,0.66);
}

.compact-crt-media::after {
    content: "";
    position: absolute;
    inset: 6px;
    z-index: 4;
    border-radius: 7px;
    pointer-events: none;
    opacity: 0.34;
    background:
        repeating-linear-gradient(
            to bottom,
            rgba(255,255,255,0.070) 0px,
            rgba(255,255,255,0.070) 1px,
            transparent 2px,
            transparent 4px
        );
    mix-blend-mode: screen;
}

.compact-crt-static {
    position: absolute;
    inset: 6px;
    z-index: 5;
    border-radius: 7px;
    pointer-events: none;
    opacity: 0.30;
    background:
        repeating-linear-gradient(
            to bottom,
            transparent 0px,
            transparent 4px,
            rgba(255,255,255,0.10) 5px,
            transparent 6px,
            transparent 10px
        ),
        linear-gradient(
            to bottom,
            transparent 0%,
            transparent 43%,
            rgba(255,255,255,0.11) 49%,
            rgba(180,180,180,0.08) 50%,
            rgba(90,90,90,0.08) 51%,
            transparent 56%,
            transparent 100%
        );
    mix-blend-mode: screen;
    animation:
        compact-crt-static-roll 3.8s linear infinite,
        compact-crt-static-flicker 1.7s steps(1, end) infinite;
}

.compact-crt-media:hover::after {
    opacity: 0.40;
}

.compact-crt-media:hover .compact-crt-static {
    opacity: 0.36;
}

.compact-crt-media:hover img {
    filter:
        drop-shadow(0 1px 3px rgba(0,0,0,0.78))
        drop-shadow(0 0 5px rgba(255,255,255,0.08));
}

@keyframes compact-crt-static-roll {
    from {
        background-position:
            0 0,
            0 110%;
    }

    to {
        background-position:
            0 -32px,
            0 -30%;
    }
}

@keyframes compact-crt-static-flicker {
    0%, 100% {
        transform: translateX(0);
        opacity: 0.26;
    }

    11% {
        transform: translateX(-1px);
        opacity: 0.36;
    }

    12% {
        transform: translateX(1px);
        opacity: 0.22;
    }

    36% {
        transform: translateX(0);
        opacity: 0.30;
    }

    37% {
        transform: translateX(1px);
        opacity: 0.38;
    }

    38% {
        transform: translateX(-1px);
        opacity: 0.24;
    }

    64% {
        transform: translateX(0);
        opacity: 0.32;
    }

    65% {
        transform: translateX(-1px);
        opacity: 0.40;
    }

    66% {
        transform: translateX(0);
        opacity: 0.26;
    }
}

@keyframes compact-crt-image-jitter {
    0%, 82%, 100% {
        transform: translateX(0);
    }

    83% {
        transform: translateX(-1px);
    }

    84% {
        transform: translateX(1px);
    }

    85% {
        transform: translateX(0);
    }

    92% {
        transform: translateX(1px);
    }

    93% {
        transform: translateX(-1px);
    }

    94% {
        transform: translateX(0);
    }
}

.compact-crt-media.compact-crt-portrait {
    padding: 4px 5px;
    border-radius: 8px;
}

.compact-crt-media.compact-crt-portrait::before {
    inset: 3px;
    border-radius: 5px;
}

.compact-crt-media.compact-crt-portrait::after {
    inset: 3px;
    border-radius: 5px;
}

.compact-crt-media.compact-crt-portrait .compact-crt-static {
    inset: 3px;
    border-radius: 5px;
}

.compact-crt-media.compact-crt-portrait img,
.compact-crt-media.compact-crt-portrait .mw-file-element {
    display: block;
}

/* =========================================
   Related Template Title
   ========================================= */

.related-template-title {
    position: relative;
    overflow: hidden;
    width: 100%;
    border-radius: 5px;
    background: #111111;
    color: #fff;
    box-shadow:
        inset 1px 0 0 #494949,
        inset 0 -1px 0 #555;
}

.related-template-title::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    border-radius: inherit;
    background:
        linear-gradient(
            to bottom,
            rgba(255,255,255,0.070) 0%,
            rgba(255,255,255,0.026) 18%,
            transparent 45%,
            rgba(0,0,0,0.18) 100%
        ),
        linear-gradient(
            105deg,
            transparent 0%,
            rgba(255,255,255,0.045) 18%,
            transparent 36%,
            transparent 100%
        );
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.026),
        inset 0 0 14px rgba(0,0,0,0.30);
}

.related-template-title::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: inherit;
    opacity: 0.20;
    background:
        repeating-linear-gradient(
            to bottom,
            rgba(255,255,255,0.055) 0px,
            rgba(255,255,255,0.055) 1px,
            transparent 2px,
            transparent 4px
        );
    mix-blend-mode: screen;
}

.related-template-title > * {
    position: relative;
    z-index: 3;
}

/* =========================================
   Page Top CRT Banner
   Template use:
   {{Banner|[[파일:example.png{{!}}1000px{{!}}link=]]|80px|20px}}
   2번 인자: 양수면 좌측 이동
   3번 인자: 양수면 아래 이동
   ========================================= */

.crt-page-monitor-frame {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    aspect-ratio: 2560 / 580;
    margin: 0 auto 16px auto;
    padding: 14px 20px 16px 20px;
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            #151515 0%,
            #0b0b0b 28%,
            #050505 58%,
            #181818 100%
        );
    border: 2px solid #242424;
    box-shadow:
        inset 0 3px 8px rgba(0,0,0,0.78),
        inset 0 -2px 0 rgba(255,255,255,0.030),
        inset 4px 0 10px rgba(0,0,0,0.72),
        inset -3px 0 0 rgba(0,0,0,0.78),
        0 0 0 3px #050505,
        0 0 0 5px #242424;
    overflow: hidden;
}

.crt-page-monitor-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 18px;
    pointer-events: none;
    opacity: 0.08;
    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,0.38) 0%,
            transparent 20%,
            transparent 100%
        ),
        linear-gradient(
            to right,
            rgba(0,0,0,0.34) 0%,
            transparent 18%,
            transparent 100%
        );
    mix-blend-mode: normal;
}

.crt-page-monitor-frame::after {
    content: none;
}

.crt-page-monitor-inner {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 6px;
    border-radius: 13px;
    background:
        linear-gradient(
            145deg,
            #020202 0%,
            #080808 45%,
            #030303 100%
        );
    border: 1px solid #020202;
    box-shadow:
        inset 0 11px 24px rgba(0,0,0,0.98),
        inset 0 -2px 3px rgba(255,255,255,0.028),
        inset 8px 0 20px rgba(0,0,0,0.94),
        inset -8px 0 20px rgba(0,0,0,0.94),
        0 0 0 1px rgba(255,255,255,0.030);
}

.crt-page-monitor-screen {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 8px / 15px;
    background: #050505;
    border: 1px solid #060606;
    box-shadow:
        inset 0 0 18px rgba(0,0,0,0.88),
        inset 0 0 42px rgba(0,0,0,0.70),
        0 0 0 1px rgba(255,255,255,0.026);
}

.crt-page-monitor-image,
.crt-page-monitor-image-base,
.crt-page-monitor-image-bloom,
.crt-page-monitor-slice {
    position: absolute;
    inset: 0;
    line-height: 0;
    overflow: hidden;
}

.crt-page-monitor-image {
    z-index: 1;
}

.crt-page-monitor-image-base {
    z-index: 3;
}

.crt-page-monitor-image-bloom {
    z-index: 4;
    pointer-events: none;
    opacity: 0.38;
    mix-blend-mode: normal;
    filter:
        blur(9px)
        brightness(0.92)
        contrast(1.02)
        saturate(1.04);
}

.crt-page-monitor-image-base a,
.crt-page-monitor-image-base span,
.crt-page-monitor-image-base .mw-file-description,
.crt-page-monitor-image-base .mw-default-size,
.crt-page-monitor-image-base .mw-image-border,
.crt-page-monitor-image-bloom a,
.crt-page-monitor-image-bloom span,
.crt-page-monitor-image-bloom .mw-file-description,
.crt-page-monitor-image-bloom .mw-default-size,
.crt-page-monitor-image-bloom .mw-image-border,
.crt-page-monitor-slice a,
.crt-page-monitor-slice span,
.crt-page-monitor-slice .mw-file-description,
.crt-page-monitor-slice .mw-default-size,
.crt-page-monitor-slice .mw-image-border {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.crt-page-monitor-image-base img,
.crt-page-monitor-image-base .mw-file-element,
.crt-page-monitor-image-bloom img,
.crt-page-monitor-image-bloom .mw-file-element,
.crt-page-monitor-slice img,
.crt-page-monitor-slice .mw-file-element,
.crt-page-monitor-slice-img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center;
    border: 0 !important;
    transform:
        translate(
            calc(0px - var(--crt-img-left, 0px)),
            var(--crt-img-down, 0px)
        )
        scale(var(--crt-img-scale, 1.04));
    transform-origin: center center;
}

.crt-page-monitor-image-base img,
.crt-page-monitor-image-base .mw-file-element {
    filter:
        brightness(0.84)
        contrast(1.08)
        saturate(0.90);
}

.crt-page-monitor-image-bloom img,
.crt-page-monitor-image-bloom .mw-file-element {
    transform:
        translate(
            calc(0px - var(--crt-img-left, 0px)),
            var(--crt-img-down, 0px)
        )
        scale(calc(var(--crt-img-scale, 1.04) + 0.02));
}

.crt-page-monitor-slice img,
.crt-page-monitor-slice .mw-file-element,
.crt-page-monitor-slice-img {
    filter:
        brightness(0.96)
        contrast(1.18)
        saturate(0.82);
}

.crt-page-monitor-image::after {
    content: "";
    position: absolute;
    inset: -3%;
    z-index: 6;
    pointer-events: none;
    opacity: 0.16;
    background:
        radial-gradient(
            ellipse at 50% 45%,
            rgba(220,235,230,0.12) 0%,
            rgba(170,190,185,0.05) 34%,
            rgba(70,85,82,0.03) 62%,
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            rgba(255,255,255,0.04) 0%,
            rgba(255,255,255,0.014) 28%,
            transparent 70%,
            rgba(0,0,0,0.08) 100%
        );
    mix-blend-mode: normal;
}

.crt-page-monitor-slice {
    z-index: 5;
    opacity: 0;
    pointer-events: none;
    mix-blend-mode: screen;
    will-change: transform, opacity, clip-path, filter;
}

.crt-page-monitor-slice-a {
    animation: crt-slice-tear-a 4.7s steps(1, end) infinite;
}

.crt-page-monitor-slice-b {
    animation: crt-slice-tear-b 6.1s steps(1, end) infinite;
}

.crt-page-monitor-slice-c {
    animation: crt-slice-tear-c 7.4s steps(1, end) infinite;
}

.crt-page-monitor-screen::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 20;
    pointer-events: none;
    border-radius: 8px / 15px;
    background:
        radial-gradient(
            ellipse at 50% 50%,
            transparent 0%,
            transparent 62%,
            rgba(0,0,0,0.16) 78%,
            rgba(0,0,0,0.42) 100%
        ),
        linear-gradient(
            to bottom,
            rgba(0,0,0,0.18) 0%,
            transparent 14%,
            transparent 82%,
            rgba(0,0,0,0.24) 100%
        ),
        linear-gradient(
            to right,
            rgba(0,0,0,0.18) 0%,
            transparent 8%,
            transparent 92%,
            rgba(0,0,0,0.18) 100%
        ),
        linear-gradient(
            105deg,
            transparent 0%,
            rgba(255,255,255,0.030) 18%,
            transparent 38%,
            transparent 100%
        );
    box-shadow:
        inset 0 0 20px rgba(255,255,255,0.018),
        inset 0 0 54px rgba(0,0,0,0.54);
}

.crt-page-monitor-screen::after {
    content: "";
    position: absolute;
    inset: -80px 0;
    z-index: 21;
    pointer-events: none;
    opacity: 0.20;
    background:
        repeating-linear-gradient(
            to bottom,
            rgba(255,255,255,0.08) 0px,
            rgba(255,255,255,0.08) 1px,
            transparent 2px,
            transparent 5px
        );
    mix-blend-mode: screen;
    animation: crt-scanlines-up 7s linear infinite;
}

.crt-page-monitor-glitch {
    position: absolute;
    inset: 0;
    z-index: 22;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(255,255,255,0.12) 48%,
            rgba(212,90,162,0.14) 50%,
            rgba(90,120,255,0.08) 52%,
            transparent 56%
        );
    mix-blend-mode: screen;
    animation: crt-soft-glitch-band 8.2s steps(1, end) infinite;
}

.crt-page-monitor-tear {
    position: absolute;
    inset: 0;
    z-index: 23;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(120,180,255,0.07) 10%,
            rgba(255,255,255,0.11) 48%,
            rgba(212,90,162,0.08) 78%,
            transparent 100%
        );
    mix-blend-mode: screen;
    animation: crt-soft-horizontal-tear 5.6s steps(1, end) infinite;
}

@keyframes crt-slice-tear-a {
    0%, 11%, 100% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }

    12% {
        opacity: 0.38;
        transform: translateX(-18px);
        clip-path: inset(17% 0 78% 0);
    }

    13% {
        opacity: 0.22;
        transform: translateX(11px);
        clip-path: inset(18% 0 77% 0);
        filter: hue-rotate(-8deg);
    }

    14% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }

    63% {
        opacity: 0.30;
        transform: translateX(9px);
        clip-path: inset(24% 0 70% 0);
    }

    64% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }
}

@keyframes crt-slice-tear-b {
    0%, 37%, 100% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }

    38% {
        opacity: 0.42;
        transform: translateX(24px);
        clip-path: inset(43% 0 50% 0);
    }

    39% {
        opacity: 0.26;
        transform: translateX(-14px);
        clip-path: inset(45% 0 48% 0);
        filter: hue-rotate(10deg) brightness(1.08);
    }

    40% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }

    78% {
        opacity: 0.34;
        transform: translateX(-20px);
        clip-path: inset(51% 0 43% 0);
    }

    79% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }
}

@keyframes crt-slice-tear-c {
    0%, 21%, 100% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }

    22% {
        opacity: 0.28;
        transform: translateX(-30px);
        clip-path: inset(67% 0 25% 0);
    }

    23% {
        opacity: 0.18;
        transform: translateX(16px);
        clip-path: inset(68% 0 23% 0);
        filter: contrast(1.25) brightness(1.06);
    }

    24% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }

    91% {
        opacity: 0.36;
        transform: translateX(18px);
        clip-path: inset(73% 0 18% 0);
    }

    92% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 100% 0);
    }
}

@keyframes crt-soft-glitch-band {
    0%, 52%, 100% {
        opacity: 0;
        transform: translateY(80%);
    }

    53% {
        opacity: 0.42;
        transform: translateY(36%);
    }

    54% {
        opacity: 0.16;
        transform: translateY(20%) skewX(-1deg);
    }

    55% {
        opacity: 0;
        transform: translateY(-20%);
    }
}

@keyframes crt-soft-horizontal-tear {
    0%, 68%, 100% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 0 0);
    }

    69% {
        opacity: 0.32;
        transform: translateX(-16px);
        clip-path: inset(34% 0 58% 0);
    }

    70% {
        opacity: 0.18;
        transform: translateX(12px);
        clip-path: inset(37% 0 55% 0);
    }

    71% {
        opacity: 0;
        transform: translateX(0);
        clip-path: inset(0 0 0 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .crt-page-monitor-slice-a,
    .crt-page-monitor-slice-b,
    .crt-page-monitor-slice-c,
    .crt-page-monitor-screen::after,
    .crt-page-monitor-glitch,
    .crt-page-monitor-tear {
        animation: none !important;
    }

    .crt-page-monitor-slice,
    .crt-page-monitor-glitch,
    .crt-page-monitor-tear {
        opacity: 0 !important;
    }
}

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

.timeline-event {
    position: relative;
    display: block;
    width: 100%;
    box-sizing: border-box;
    line-height: inherit;
    text-align: center;
}

.timeline-title {
    position: relative;
    z-index: 2;
    display: inline-block;
    text-align: center;
}

.timeline-event.he-linked::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 2px;
    right: 2px;
    height: 3px;
    border-radius: 999px;
    pointer-events: none;
    background:
        linear-gradient(
            to right,
            transparent 0%,
            color-mix(in srgb, var(--he-color) 18%, transparent) 8%,
            color-mix(in srgb, var(--he-color) 92%, transparent) 14%,
            color-mix(in srgb, var(--he-color) 92%, transparent) 86%,
            color-mix(in srgb, var(--he-color) 18%, transparent) 92%,
            transparent 100%
        );
    box-shadow:
        0 0 7px color-mix(in srgb, var(--he-color) 28%, transparent);
}

.timeline-event.he-root {
    overflow: visible;
}

.timeline-event.he-root::before {
    content: "";
    position: absolute;
    left: 6%;
    right: 6%;
    top: 50%;
    height: 16px;
    transform: translateY(-50%);
    border-radius: 999px;
    pointer-events: none;
    background:
        linear-gradient(
            to bottom,
            rgba(255,255,255,0.05) 0%,
            rgba(0,0,0,0.24) 100%
        ),
        linear-gradient(
            to right,
            transparent 0%,
            color-mix(in srgb, var(--he-color) 10%, transparent) 8%,
            color-mix(in srgb, var(--he-color) 24%, transparent) 18%,
            color-mix(in srgb, var(--he-color) 36%, transparent) 50%,
            color-mix(in srgb, var(--he-color) 24%, transparent) 82%,
            color-mix(in srgb, var(--he-color) 10%, transparent) 92%,
            transparent 100%
        );
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.05),
        inset 0 -1px 0 rgba(0,0,0,0.42),
        0 0 8px color-mix(in srgb, var(--he-color) 16%, transparent);
    -webkit-mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            black 10%,
            black 90%,
            transparent 100%
        );
    mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            black 10%,
            black 90%,
            transparent 100%
        );
}

.timeline-event.he-root::after {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    top: 50%;
    height: 22px;
    transform: translateY(-50%);
    pointer-events: none;
    background:
        linear-gradient(
            to right,
            transparent 0%,
            color-mix(in srgb, var(--he-color) 48%, transparent) 16%,
            color-mix(in srgb, var(--he-color) 48%, transparent) 84%,
            transparent 100%
        ) top center / 100% 1px no-repeat,
        linear-gradient(
            to right,
            transparent 0%,
            color-mix(in srgb, var(--he-color) 24%, transparent) 16%,
            color-mix(in srgb, var(--he-color) 24%, transparent) 84%,
            transparent 100%
        ) bottom center / 100% 1px no-repeat;
}

.timeline-event.he-root .timeline-title {
    text-shadow:
        0 0 4px color-mix(in srgb, var(--he-color) 34%, transparent),
        0 0 9px color-mix(in srgb, var(--he-color) 16%, transparent);
}

/* =========================================
   Tree List
   ========================================= */

.tree-container {
    margin: 0;
    padding: 0;
}

.tree-node {
    position: relative;
    padding-left: 20px;
    margin: 0;
    text-indent: 0;
    line-height: 1.55;
}

.tree-node::before {
    content: "";
    position: absolute;
    top: 0;
    left: 7px;
    width: 1.2px;
    height: 100%;
    background: #7F7F7F;
}

.tree-node::after {
    content: "";
    position: absolute;
    top: 12px;
    left: 7px;
    width: 8px;
    height: 0;
    border-top: 1.2px solid #7F7F7F;
}

.tree-node:last-of-type::before {
    height: 12px;
}

/* =========================================
   Meeting Composition Panel
   ========================================= */

.meeting-panel {
    position: relative;
    isolation: isolate;
    z-index: 0;
    width: calc(100% + 4px);
    left: -2px;
    margin: 0 auto 15px auto;
    border: 2px solid #1a1a1a;
    border-radius: 5px;
    background:
        radial-gradient(
            ellipse at 50% 35%,
            rgba(255,255,255,0.025) 0%,
            transparent 46%
        ),
        linear-gradient(
            to bottom,
            #1A1A1A 0%,
            #181818 52%,
            #151515 100%
        );
    color: #FFF;
    box-shadow:
        0 4px 12px #000;
    text-align: center;
    font-size: 11px;
    box-sizing: border-box;
    overflow: visible;
}

.meeting-panel::before {
    content: "";
    position: absolute;
    inset: -5px;
    z-index: -2;
    border-radius: 8px;
    background: #854369;
    pointer-events: none;
}

.meeting-panel::after {
    content: "";
    position: absolute;
    inset: -3px;
    z-index: -1;
    border-radius: 7px;
    background: #1A1A1A;
    pointer-events: none;
}

.meeting-panel-body {
    width: 100%;
    color: #E4E4E4;
    padding: 4.5px 9px 9px 9px;
    box-sizing: border-box;
    border-radius: 3px;
    background: transparent;
    overflow: hidden;
}

.meeting-title-wrap {
    width: 100%;
    max-width: 760px;
    margin: 5px auto 8px auto;
}

.meeting-title-wrap .infobox-glass-title {
    top: 0;
    margin-top: 0;
    padding: 5px;
    line-height: 1.2;
}

.meeting-title-table {
    width: auto;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    border: 2px solid transparent;
    border-collapse: collapse;
    table-layout: auto;
}

.meeting-title-table td,
.meeting-title-table th {
    background: none !important;
    border: none !important;
    vertical-align: middle !important;
}

.meeting-title-table .meeting-title-image-left {
    width: auto;
    text-align: right !important;
    padding: 0 6px 0 0 !important;
    line-height: 0;
    white-space: nowrap;
}

.meeting-title-table .meeting-title-image-right {
    width: auto;
    text-align: left !important;
    padding: 0 0 0 6px !important;
    line-height: 0;
    white-space: nowrap;
}

.meeting-title-table .meeting-title-cell {
    width: auto;
    line-height: 1.15 !important;
    background: none !important;
    text-align: center !important;
    white-space: nowrap;
    padding: 0 !important;
}

.meeting-title-image-left img,
.meeting-title-image-right img,
.meeting-title-image-left .mw-file-element,
.meeting-title-image-right .mw-file-element {
    display: block;
    border: 0 !important;
    vertical-align: middle;
    filter:
        drop-shadow(0 1px 2px rgba(0,0,0,0.75))
        drop-shadow(0 0 3px rgba(255,255,255,0.08));
}

.meeting-title-name {
    display: block;
    line-height: 1.15;
    text-align: center;
}

.meeting-title-meta {
    display: block;
    margin-top: 1px;
    color: #7F7F7F;
    font-size: 10px;
    font-weight: normal;
    line-height: 1.15;
    text-align: center;
}

.meeting-seatmap {
    position: relative;
    margin: 0 auto;
    padding: 5px 0 4px 0;
    background: transparent;
    border-radius: 0;
    overflow: visible;
}

.meeting-seatmap::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 84px;
    bottom: 145px;
    width: 2px;
    transform: translateX(-50%);
    background:
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(65,65,65,0.72) 18%,
            #414141 50%,
            rgba(65,65,65,0.72) 82%,
            transparent 100%
        );
    box-shadow: 0 0 6px rgba(65,65,65,0.16);
    pointer-events: none;
}

.meeting-table-zone::before {
    content: "";
    position: absolute;
    left: 7%;
    right: 7%;
    top: 50%;
    height: 2px;
    transform: translateY(-50%);
    background:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(65,65,65,0.72) 14%,
            #414141 50%,
            rgba(65,65,65,0.72) 86%,
            transparent 100%
        );
    box-shadow: 0 0 6px rgba(65,65,65,0.14);
    pointer-events: none;
}

.meeting-axis-label {
    position: relative;
    z-index: 4;
    display: inline-block;
    min-width: 42px;
    margin: 2px auto 4px auto;
    padding: 2px 9px;
    border-radius: 5px;
    background: #0c0c0c;
    color: #E4E4E4;
    font-weight: bold;
    line-height: 1.35;
    box-shadow:
        inset 0 -1px 0 #525252,
        0 0 0 3px #1A1A1A;
}

.meeting-chair-line {
    position: relative;
    z-index: 3;
    display: flex;
    justify-content: center;
    margin: 0 0 6px 0;
    background: transparent;
}

.meeting-table-zone {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
    align-items: center;
    width: 100%;
    max-width: 980px;
    min-height: 210px;
    margin: 0 auto;
    background: transparent;
}

.meeting-side {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    min-width: 0;
    background: transparent;
}

.meeting-side-left {
    padding-right: 4px;
}

.meeting-side-right {
    padding-left: 4px;
}

.meeting-center-spine {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    min-height: 210px;
    z-index: 4;
    background: transparent;
}

.meeting-center-spine .meeting-axis-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    min-width: 0;
    min-height: 42px;
    margin: 0;
    padding: 8px 3px;
}

.meeting-advisory-zone {
    position: relative;
    z-index: 3;
    margin-top: 6px;
    background: transparent;
}

.meeting-advisory-zone > .meeting-axis-label {
    margin-bottom: 6px;
}

.meeting-advisory-grid {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    background: transparent;
}

.meeting-advisory-grid::before {
    content: "";
    position: absolute;
    left: 7%;
    right: 7%;
    top: 94px;
    height: 2px;
    background:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(65,65,65,0.72) 14%,
            #414141 50%,
            rgba(65,65,65,0.72) 86%,
            transparent 100%
        );
    box-shadow: 0 0 6px rgba(65,65,65,0.14);
    pointer-events: none;
}

.meeting-person-card {
    position: relative;
    z-index: 3;
    background: transparent;
    color: #fff;
    text-align: center;
    vertical-align: top;
    padding: 0;
    box-sizing: border-box;
}

.meeting-chair-card {
    width: 180px;
}

.meeting-side .meeting-person-card {
    width: 50%;
    min-width: 0;
}

.meeting-advisory-card {
    width: 33.333%;
    min-width: 0;
}

.meeting-person-inner {
    display: flex;
    justify-content: center;
    padding: 0;
    background: transparent;
}

.meeting-person-stack {
    width: 90%;
    margin-top: 3px;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.meeting-side .meeting-person-stack {
    width: 94%;
}

.meeting-advisory-card .meeting-person-stack {
    width: 92%;
}

.meeting-person-stack .compact-crt-media {
    margin-left: auto;
    margin-right: auto;
    flex: 0 0 auto;
}

.meeting-person-stack .office-card-name-cell {
    width: 170px;
    max-width: 100%;
    margin-top: 6px;
    margin-left: auto;
    margin-right: auto;
    flex: 0 0 auto;
}

.meeting-chair-card .office-card-name-cell {
    width: 170px;
}

.meeting-advisory-card .office-card-name-cell {
    width: 170px;
}

.meeting-office {
    display: block;
    margin-top: 2px;
    color: #7F7F7F;
    font-size: 10px;
    line-height: 1.3;
    font-weight: normal;
}

/* =====================================================================
   ScreenHeader + Screen Bezel Module
   
   Template.css에서 교체할 범위:
     [/* ScreenHeader */] 주석부터
     [/* Document View System — doc-* */] 주석 바로 위까지
   전체를 지우고  파일 내용으로 교체하세요.
   ===================================================================== */

/* =========================================
   ScreenHeader — 컨테이너 & 레이아웃 제어
   ========================================= */

.liberty-content:has(.screen-header) .liberty-content-header .title {
    display: none !important;
}

/* screen-header 문서 — 컨테이너를 베젤로 */
.Liberty .content-wrapper .liberty-content:has(.screen-header) .liberty-content-main {
    position: relative !important;
    box-sizing: border-box !important;
    border: 2px solid #854369 !important;
    border-radius: 5px !important;
    background: linear-gradient(
        160deg,
        #2e2e2e 0%,
        #1e1e1e 30%,
        #121212 65%,
        #1a1a1a 100%
    ) !important;
    box-shadow:
        inset 0 3px 0 rgba(255,255,255,0.10),
        inset 0 -4px 0 rgba(0,0,0,0.85),
        inset 4px 0 0 rgba(255,255,255,0.04),
        inset -4px 0 0 rgba(0,0,0,0.70) !important;
    overflow: hidden !important;
}

/* 상단 빛반사 */
.Liberty .content-wrapper .liberty-content:has(.screen-header) .liberty-content-main::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 40%;
    border-radius: 5px 5px 0 0;
    background: linear-gradient(to bottom, rgba(255,255,255,0.06) 0%, transparent 100%);
    pointer-events: none;
    z-index: 0;
}

.liberty-content:has(.screen-header) .screen-title-plate,
.liberty-content:has(.screen-header) .screen-header-frame,
.liberty-content:has(.screen-header) .screen-header-inner,
.liberty-content:has(.screen-header) .screen-header-media,
.liberty-content:has(.screen-header) .screen-header-vignette,
.liberty-content:has(.screen-header) .screen-header-scanline,
.liberty-content:has(.screen-header) .screen-header-mask,
.liberty-content:has(.screen-header) .screen-header-glass,
.liberty-content:has(.screen-header) .screen-header-subtitle {
    display: none !important;
}

/* =========================================
   screen-header
   베젤 좌우 padding(24px)을 정확히 상쇄
   width: calc(100% + 48px), margin: 0 -24px
   ========================================= */

.screen-header {
    position: relative !important;
    width: 100% !important;
    height: var(--screen-header-height, 360px) !important;
    margin: 0 !important;
    padding: 8px 8px 4px 8px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: #050505 !important;
    border: 0 !important;
    border-bottom: 0 !important;
    isolation: isolate !important;
}

.screen-header-recess {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: #050505 !important;
    border: 1px solid rgba(255,255,255,0.035) !important;
    border-radius: 6px !important;
    box-shadow:
        inset 0 18px 30px rgba(0,0,0,0.82),
        inset 0 -9px 16px rgba(255,255,255,0.026),
        inset 18px 0 30px rgba(0,0,0,0.66),
        inset -18px 0 30px rgba(0,0,0,0.66),
        0 1px 0 rgba(255,255,255,0.030),
        0 -1px 0 rgba(0,0,0,0.70) !important;
}

.screen-header-recess::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0.10;
    background: repeating-linear-gradient(
        135deg,
        rgba(255,255,255,0.030) 0px,
        rgba(255,255,255,0.030) 1px,
        transparent 1px,
        transparent 5px
    );
    mix-blend-mode: screen;
}

.screen-header-recess::after {
    content: "";
    position: absolute;
    inset: 14px;
    z-index: 12;
    pointer-events: none;
    border-radius: 0;
    box-shadow:
        0 -20px 32px rgba(0,0,0,0.86),
        0 12px 18px rgba(255,255,255,0.024),
        -20px 0 32px rgba(0,0,0,0.78),
        20px 0 32px rgba(0,0,0,0.78),
        inset 0 0 0 1px rgba(255,255,255,0.018) !important;
}

.screen-header .screen-header-crt {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.screen-header .screen-header-crt::before,
.screen-header .screen-header-crt::after {
    content: none !important;
}

.screen-header .crt-page-monitor-inner {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    padding: 5px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
    background: linear-gradient(
        145deg,
        #050505 0%,
        #0d0d0d 46%,
        #050505 100%
    ) !important;
    border: 1px solid #050505 !important;
    box-shadow:
        inset 0 10px 20px rgba(0,0,0,0.97),
        inset 0 -2px 3px rgba(255,255,255,0.030),
        inset 8px 0 18px rgba(0,0,0,0.90),
        inset -8px 0 18px rgba(0,0,0,0.90) !important;
}

.screen-header .crt-page-monitor-screen {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #050505 !important;
    border: 1px solid #050505 !important;
    box-shadow:
        inset 0 0 0 1px #111,
        inset 0 0 24px rgba(0,0,0,0.94),
        inset 0 0 64px rgba(0,0,0,0.80),
        inset 0 0 118px rgba(0,0,0,0.50),
        0 0 0 1px rgba(255,255,255,0.030) !important;
}

.screen-header .crt-page-monitor-image,
.screen-header .crt-page-monitor-image-base,
.screen-header .crt-page-monitor-image-bloom,
.screen-header .crt-page-monitor-slice {
    position: absolute !important;
    inset: 0 !important;
    border-radius: 0 !important;
}

.screen-header .crt-page-monitor-image-base a,
.screen-header .crt-page-monitor-image-base span,
.screen-header .crt-page-monitor-image-base .mw-file-description,
.screen-header .crt-page-monitor-image-base .mw-default-size,
.screen-header .crt-page-monitor-image-base .mw-image-border,
.screen-header .crt-page-monitor-image-bloom a,
.screen-header .crt-page-monitor-image-bloom span,
.screen-header .crt-page-monitor-image-bloom .mw-file-description,
.screen-header .crt-page-monitor-image-bloom .mw-default-size,
.screen-header .crt-page-monitor-image-bloom .mw-image-border,
.screen-header .crt-page-monitor-slice a,
.screen-header .crt-page-monitor-slice span,
.screen-header .crt-page-monitor-slice .mw-file-description,
.screen-header .crt-page-monitor-slice .mw-default-size,
.screen-header .crt-page-monitor-slice .mw-image-border {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.screen-header .crt-page-monitor-image-base img,
.screen-header .crt-page-monitor-image-base .mw-file-element,
.screen-header .crt-page-monitor-image-bloom img,
.screen-header .crt-page-monitor-image-bloom .mw-file-element,
.screen-header .crt-page-monitor-slice img,
.screen-header .crt-page-monitor-slice .mw-file-element,
.screen-header .crt-page-monitor-slice-img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: var(--screen-image-position, center center) !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.screen-header .crt-page-monitor-screen::before {
    content: "" !important;
    position: absolute !important;
    inset: -4px !important;
    z-index: 20 !important;
    pointer-events: none !important;
    border-radius: 0 !important;
    background:
        radial-gradient(
            ellipse at 50% 50%,
            transparent 0%,
            transparent 62%,
            rgba(0,0,0,0.18) 78%,
            rgba(0,0,0,0.48) 100%
        ),
        linear-gradient(
            to bottom,
            rgba(0,0,0,0.20) 0%,
            transparent 14%,
            transparent 82%,
            rgba(0,0,0,0.28) 100%
        ),
        linear-gradient(
            to right,
            rgba(0,0,0,0.20) 0%,
            transparent 8%,
            transparent 92%,
            rgba(0,0,0,0.20) 100%
        ),
        linear-gradient(
            105deg,
            transparent 0%,
            rgba(255,255,255,0.030) 18%,
            transparent 38%,
            transparent 100%
        ) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.018),
        inset 0 0 24px rgba(255,255,255,0.015),
        inset 0 0 74px rgba(0,0,0,0.64),
        inset 0 22px 38px rgba(0,0,0,0.60),
        inset 0 -20px 36px rgba(0,0,0,0.44),
        inset 18px 0 36px rgba(0,0,0,0.56),
        inset -18px 0 36px rgba(0,0,0,0.56) !important;
}

.screen-header .crt-page-monitor-screen::after {
    content: "" !important;
    position: absolute !important;
    inset: -80px -4px !important;
    z-index: 21 !important;
    pointer-events: none !important;
    opacity: 0.22 !important;
    border-radius: 0 !important;
    background: repeating-linear-gradient(
        to bottom,
        rgba(255,255,255,0.08) 0px,
        rgba(255,255,255,0.08) 1px,
        transparent 2px,
        transparent 5px
    ) !important;
    mix-blend-mode: screen !important;
    animation: crt-scanlines-up 7s linear infinite !important;
}

.screen-header .crt-page-monitor-glitch,
.screen-header .crt-page-monitor-tear {
    inset: -4px !important;
    border-radius: 0 !important;
}

.screen-header .crt-page-monitor-glitch { z-index: 22 !important; }
.screen-header .crt-page-monitor-tear   { z-index: 23 !important; }

.screen-header-title {
    position: absolute !important;
    left: 5px !important;
    bottom: 5px !important;
    z-index: 40 !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: calc(100% - 10px) !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.screen-header-title-main {
    margin: 0 !important;
    padding: 0 0 8px 10px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-family: 'BoldRound', sans-serif !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    line-height: 0.95 !important;
    letter-spacing: 0.06em !important;
    text-shadow:
        3px 3px 0 rgba(0,0,0,0.98),
        0 0 6px rgba(0,0,0,0.98),
        0 0 14px rgba(0,0,0,0.95),
        0 0 26px rgba(0,0,0,0.92),
        -1px 0 0 rgba(80,160,255,0.24),
        1px 0 0 rgba(255,55,90,0.22) !important;
    white-space: nowrap !important;
}

.screen-header-subtitle {
    display: none !important;
}

/* =========================================
   screen-body
   베젤 좌우 padding(24px)을 정확히 상쇄
   하단 -28px은 베젤 하단 padding을 상쇄해서 베젤 닫음
   ========================================= */

.screen-header + .screen-body {
    margin-top: 0 !important;
    border-top: 0 !important;
}

.screen-body {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 4px 8px 4px 8px;
    box-sizing: border-box;
    background: #171717;
    overflow: hidden;
}

/* =========================================
   Document View System — doc-*
   ========================================= */

.doc-body {
    position: relative;
    z-index: 3;
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    background: transparent;
}

/* =========================================
   doc-header
   ========================================= */

.doc-header {
    position: relative;
    display: grid;
    grid-template-columns: 24px 1fr auto 24px;
    align-items: center;
    height: 28px;
    margin-bottom: 7px;
    padding: 0 8px;
    box-sizing: border-box;
    background:
        linear-gradient(
            to bottom,
            #282828 0%,
            #1a1a1a 40%,
            #161616 100%
        );
    border-top: 1px solid #3a3a3a;
    border-bottom: 1px solid #0a0a0a;
    border-left: 1px solid #222;
    border-right: 1px solid #222;
    border-radius: 2px;
}

.doc-header::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.06;
    background: repeating-linear-gradient(
        135deg,
        rgba(255,255,255,0.08) 0px,
        rgba(255,255,255,0.08) 1px,
        transparent 1px,
        transparent 4px
    );
    border-radius: inherit;
}

.doc-header-id {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: #c0c0c0;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
    position: relative;
    z-index: 1;
}

.doc-screw {
    position: relative;
    z-index: 1;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 36% 32%, rgba(255,255,255,0.35) 0%, transparent 28%),
        linear-gradient(145deg, #505050 0%, #282828 55%, #0e0e0e 100%);
    border: 1px solid #090909;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.15),
        inset 0 -1px 0 rgba(0,0,0,0.60),
        0 0 0 1px #333;
    justify-self: center;
}

.doc-screw::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 15%;
    right: 15%;
    height: 1px;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.55);
    border-radius: 1px;
}

.doc-status {
    display: flex;
    align-items: center;
    gap: 5px;
    position: relative;
    z-index: 1;
}

.doc-status-lamp {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #111;
    border: 1px solid #060606;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 0 0 1px #252525;
}

.doc-status-lamp.on {
    background: radial-gradient(circle at 38% 32%, #d9ff9d 0%, #7ec43e 45%, #253d18 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.28),
        0 0 0 1px #1a3010,
        0 0 5px rgba(100,200,50,0.45);
}

.doc-status-lamp.warn {
    background: radial-gradient(circle at 38% 32%, #ffe8b0 0%, #d89a42 45%, #4d2a0d 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.28),
        0 0 0 1px #3a1f06,
        0 0 5px rgba(220,140,40,0.45);
}

/* =========================================
   doc-layout
   ========================================= */

.doc-layout {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr) 320px;
    gap: 7px;
    align-items: stretch;
    min-height: 620px;
}

.doc-layout-left,
.doc-layout-center,
.doc-layout-right {
    min-width: 0;
}

.doc-layout-center,
.doc-layout-right {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.doc-layout-lower {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 7px;
    flex: 1;
}

/* =========================================
   doc-panel
   ========================================= */

.doc-panel {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    background: #1a1a1a;
    border-top: 1px solid #303030;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #222;
    border-right: 1px solid #111;
    border-radius: 2px;
    overflow: hidden;
}

.doc-panel::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 30%, rgba(255,255,255,0.25) 0%, transparent 40%),
        linear-gradient(145deg, #444 0%, #1e1e1e 100%);
    border: 1px solid #080808;
    box-shadow: 0 0 0 1px #2a2a2a;
    pointer-events: none;
    z-index: 10;
}

.doc-panel::after {
    content: "";
    position: absolute;
    top: 4px;
    right: 4px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 30%, rgba(255,255,255,0.25) 0%, transparent 40%),
        linear-gradient(145deg, #444 0%, #1e1e1e 100%);
    border: 1px solid #080808;
    box-shadow: 0 0 0 1px #2a2a2a;
    pointer-events: none;
    z-index: 10;
}

.doc-panel-title {
    position: relative;
    z-index: 3;
    box-sizing: border-box;
    padding: 6px 10px 5px 10px;
    font-family: 'Galmuri11', sans-serif !important;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.10em;
    color: #888;
    background: linear-gradient(to bottom, #161616 0%, #121212 100%);
    border-bottom: 1px solid #0d0d0d;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
    text-transform: uppercase;
}

.doc-panel-heading {
    padding: 10px 18px;
    font-size: 11px;
    font-weight: 700;
    color: #7a7a7a;
    letter-spacing: 0.06em;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
    position: relative;
    z-index: 3;
}

.doc-panel table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.doc-panel table th,
.doc-panel table td {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

.doc-panel table th[style],
.doc-panel table td[style] {
    background: revert !important;
    border: revert !important;
    padding: revert !important;
}

/* =========================================
   doc-display
   ========================================= */

.doc-display {
    position: relative;
    z-index: 3;
    box-sizing: border-box;
    padding: 4px 14px;
    margin-bottom: 0;
    min-height: 90px;
    line-height: 1.8;
    color: #d8d8d8;
    background: #111111;
    border-top: 1px solid #0a0a0a;
    box-shadow:
        inset 0 2px 6px rgba(0,0,0,0.55),
        inset 0 0 1px rgba(0,0,0,0.80);
}

/* =========================================
   doc-info
   ========================================= */

.doc-info-row {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    margin: 7px 10px 0 10px;
}

.doc-info-key {
    font-size: 10px;
    font-weight: 700;
    color: #7a7a7a;
    letter-spacing: 0.06em;
    text-shadow: 0 1px 0 rgba(0,0,0,0.70);
}

.doc-info-value {
    position: relative;
    overflow: hidden;
    text-align: right;
    border-radius: 2px;
    background: #0e0e0e;
    color: #d8d8d8;
    padding: 4px 9px;
    font-size: 11px;
    font-weight: 700;
    box-sizing: border-box;
    border-top: 1px solid #0a0a0a;
    border-bottom: 1px solid #252525;
    border-left: 1px solid #111;
    border-right: 1px solid #111;
    box-shadow:
        inset 0 2px 4px rgba(0,0,0,0.60),
        inset 1px 0 0 rgba(255,255,255,0.015);
}

.doc-info-value::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    opacity: 0.15;
    background: repeating-linear-gradient(
        to bottom,
        rgba(255,255,255,0.055) 0px,
        rgba(255,255,255,0.055) 1px,
        transparent 2px,
        transparent 4px
    );
    mix-blend-mode: screen;
}

.doc-info-block {
    padding: 0 8px 6px 8px;
    background: #1a1a1a;
}

.doc-info-block-label {
    display: block;
    padding: 6px 2px 4px 2px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9a9a9a;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
}

/* =========================================
   doc-nav
   ========================================= */

.doc-nav {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.doc-nav-item {
    position: relative;
    z-index: 3;
    box-sizing: border-box;
    width: calc(100% - 16px);
    margin: 5px 8px 0 8px;
    padding: 7px 24px 7px 10px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    color: #666;
    background: linear-gradient(to bottom, #232323 0%, #1a1a1a 50%, #161616 100%);
    border-top: 1px solid #2e2e2e;
    border-bottom: 1px solid #0a0a0a;
    border-left: 1px solid #222;
    border-right: 1px solid #111;
    border-radius: 2px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.025),
        0 1px 0 rgba(255,255,255,0.012);
    cursor: pointer;
    display: block;
    text-decoration: none;
    text-shadow: 0 1px 0 rgba(0,0,0,0.70);
}

.doc-nav-item::after {
    content: "›";
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: #333;
    font-size: 13px;
}

.doc-nav-item.active {
    color: #e8e8e8;
    background: linear-gradient(to bottom, #5a2040 0%, #3d1a2f 52%, #2e1222 100%);
    border-top-color: #7a3055;
    border-bottom-color: #1a0810;
    border-left-color: #6a2848;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 0 6px rgba(212,90,162,0.10);
}

.doc-nav-item.active::after {
    color: #d45aa2;
}

/* =========================================
   doc-status-row
   ========================================= */

.doc-status-row {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 5px 8px 0 8px;
    padding: 5px 9px;
    box-sizing: border-box;
    font-size: 10px;
    font-weight: 700;
    color: #555;
    background: #111;
    border-top: 1px solid #0a0a0a;
    border-bottom: 1px solid #222;
    border-left: 1px solid #111;
    border-right: 1px solid #111;
    border-radius: 2px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.50);
    letter-spacing: 0.06em;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
}

/* =========================================
   doc-link
   ========================================= */

.doc-link {
    position: relative;
    z-index: 3;
    box-sizing: border-box;
    margin: 5px 10px 0 10px;
    padding: 6px 10px 6px 14px;
    font-size: 11px;
    font-weight: 700;
    color: #888;
    background: linear-gradient(to bottom, #1a1a1a 0%, #151515 100%);
    border-top: 1px solid #242424;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #1e1e1e;
    border-right: 1px solid #111;
    border-radius: 2px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.018);
    display: block;
    text-decoration: none;
    cursor: pointer;
    text-shadow: 0 1px 0 rgba(0,0,0,0.70);
}

.doc-link::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 20%;
    bottom: 20%;
    width: 2px;
    background: #2e2e2e;
    border-radius: 1px;
}

.doc-link:hover {
    color: #c0c0c0;
    background: linear-gradient(to bottom, #222 0%, #1a1a1a 100%);
    border-top-color: #333;
}

.doc-link:hover::before {
    background: #854369;
}

/* =========================================
   doc-tab-bar
   ========================================= */

.doc-tab-bar {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px 6px;
    background: linear-gradient(to bottom, #141414 0%, #111 100%);
    border-top: 1px solid #0a0a0a;
    box-shadow: inset 0 1px 0 rgba(0,0,0,0.60);
}

.doc-tab-key {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 3px;
    padding: 0 4px;
    user-select: none;
    white-space: nowrap;
}

.doc-tab-key kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    font-size: 10px;
    font-weight: 700;
    font-family: inherit;
    color: #e2e2e2;
    background: linear-gradient(to bottom, #2a2a2a 0%, #1e1e1e 100%);
    border-top: 1px solid #3a3a3a;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #2e2e2e;
    border-right: 1px solid #111;
    border-radius: 2px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 1px 0 rgba(255,255,255,0.02);
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
}

.doc-tab-key .doc-tab-arrow {
    font-size: 10px;
    color: #333;
    line-height: 1;
}

.doc-tab {
    flex: 1;
    box-sizing: border-box;
    padding: 6px 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #e2e2e2;
    background: linear-gradient(to bottom, #1e1e1e 0%, #181818 100%);
    border-top: 1px solid #2a2a2a;
    border-bottom: 1px solid #080808;
    border-left: 1px solid #222;
    border-right: 1px solid #111;
    border-radius: 2px;
    cursor: pointer;
    text-align: center;
    text-shadow: 0 1px 0 rgba(0,0,0,0.80);
    text-transform: uppercase;
    user-select: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.doc-tab:hover {
    color: #ffffff;
    background: linear-gradient(to bottom, #242424 0%, #1a1a1a 100%);
    border-top-color: #333;
}

.doc-tab.active {
    color: #ffffff;
    background: linear-gradient(to bottom, #2e1222 0%, #3d1a2f 52%, #5a2040 100%);
    border-top-color: #7a3055;
    border-bottom-color: #1a0810;
    border-left-color: #6a2848;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

/* =========================================
   doc-footer
   ========================================= */

.doc-footer {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 110px 44px 110px 200px;
    gap: 12px;
    align-items: center;
    height: 44px;
    margin-top: 7px;
    padding: 0 10px;
    box-sizing: border-box;
    background: linear-gradient(to bottom, #282828 0%, #1a1a1a 40%, #161616 100%);
    box-shadow:
        inset 1px 0 0 #494949,
        inset 0 -1px 0 #555,
        inset 0 2px 6px rgba(0,0,0,0.55);
    border-top: 1px solid #3a3a3a;
    border-bottom: 1px solid #0a0a0a;
    border-left: 1px solid #222;
    border-right: 1px solid #222;
    border-radius: 2px;
}

.doc-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.05;
    background: repeating-linear-gradient(
        135deg,
        rgba(255,255,255,0.08) 0px,
        rgba(255,255,255,0.08) 1px,
        transparent 1px,
        transparent 4px
    );
}

.doc-footer-sliders {
    display: flex;
    align-items: center;
    gap: 10px;
}

.doc-slider {
    position: relative;
    width: 80px;
    height: 6px;
    background: #0a0a0a;
    border-top: 1px solid #080808;
    border-bottom: 1px solid #222;
    border-radius: 99px;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.70);
}

.doc-slider.short {
    width: 54px;
}

.doc-slider::after {
    content: "";
    position: absolute;
    top: -6px;
    left: 48%;
    width: 10px;
    height: 18px;
    border-radius: 2px;
    background: linear-gradient(to bottom, #c8c0b2 0%, #8a8278 100%);
    border-top: 1px solid #d8d0c2;
    border-bottom: 1px solid #2a2622;
    border-left: 1px solid #aaa49c;
    border-right: 1px solid #5a544e;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.30),
        0 1px 3px rgba(0,0,0,0.40);
}

.doc-date {
    box-sizing: border-box;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #d45aa2;
    background: #0a0a0a;
    border-top: 1px solid #080808;
    border-bottom: 1px solid #2a1a22;
    border-left: 1px solid #0e0e0e;
    border-right: 1px solid #0e0e0e;
    border-radius: 2px;
    box-shadow: inset 0 2px 5px rgba(0,0,0,0.70);
    text-shadow: 0 0 8px rgba(212,90,162,0.40);
}

.doc-knob {
    justify-self: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 36% 28%, rgba(255,255,255,0.30) 0%, transparent 24%),
        linear-gradient(145deg, #c8bfb0 0%, #8a8278 48%, #464039 100%);
    border: 1px solid #2a2520;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.30),
        inset 0 -2px 0 rgba(0,0,0,0.22),
        0 2px 5px rgba(0,0,0,0.50);
}

.doc-keys {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 5px;
}

.doc-keys span {
    height: 22px;
    border-radius: 2px;
    background: linear-gradient(to bottom, #d8d4ca 0%, #a09890 55%, #6e6660 100%);
    border-top: 1px solid #e0dcd2;
    border-bottom: 1px solid #1e1c18;
    border-left: 1px solid #b8b0a8;
    border-right: 1px solid #4a4440;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.40),
        0 1px 2px rgba(0,0,0,0.30);
}

.doc-keys span.red {
    background: linear-gradient(to bottom, #cc6058 0%, #922e28 55%, #521410 100%);
    border-top-color: #d87070;
    border-bottom-color: #1e0808;
}

.doc-keys span.amber {
    background: linear-gradient(to bottom, #e4bc6c 0%, #b87c28 55%, #6c3e08 100%);
    border-top-color: #ecd080;
    border-bottom-color: #201008;
}

/* =========================================
   Responsive
   ========================================= */

@media screen and (max-width: 1280px) {
    .doc-layout {
        grid-template-columns: 210px minmax(0, 1fr);
    }

    .doc-layout-right {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 7px;
    }

    .doc-footer {
        grid-template-columns: 1fr 110px 44px 110px;
    }

    .doc-keys {
        display: none;
    }
}

@media screen and (max-width: 980px) {
    .doc-layout,
    .doc-layout-lower,
    .doc-layout-right {
        grid-template-columns: 1fr;
    }

    .doc-footer {
        grid-template-columns: 1fr;
        height: auto;
        padding: 8px 10px;
    }

    .doc-footer-sliders {
        justify-content: center;
    }

    .doc-date,
    .doc-knob {
        justify-self: center;
    }
}