(Install package: clbiwiki-mainpage-remove-person-gap2-20260711 (1) / css/MainPage.css) |
(Install package: clbiwiki-mainpage-category-diagonal-button-palette-gap2-20260711 / css/MainPage.css) |
||
| 75번째 줄: | 75번째 줄: | ||
----------------------------------------- */ | ----------------------------------------- */ | ||
.main-portal .lab-logo | .main-portal .lab-logo { | ||
background:var(--panel, #1d1d1d); | background:var(--panel, #1d1d1d); | ||
border:1px solid var(--edge, #050505); | border:1px solid var(--edge, #050505); | ||
| 151번째 줄: | 150번째 줄: | ||
padding:0; | padding:0; | ||
overflow:hidden; | overflow:hidden; | ||
background:var(--well, #080808); | |||
border:0; | |||
border-radius:0; | |||
box-shadow:none; | |||
} | } | ||
| 157번째 줄: | 160번째 줄: | ||
width:100%; | width:100%; | ||
height:100%; | height:100%; | ||
overflow:visible; | |||
} | |||
/* | |||
각 버튼은 SVG 안에서 독립된 사선 프레임으로 그린다. | |||
- 외곽 1px: #050505 | |||
- 본체: #1d1d1d | |||
- 상단/우측 inset: #555555 | |||
- 좌측/하단 inset: #101010 | |||
- 버튼 사이 배경: #080808 2px | |||
*/ | |||
.portal-cat-edge { | |||
fill:#050505; | |||
stroke:none; | |||
} | |||
.portal-cat-surface { | |||
fill:#1d1d1d; | |||
stroke:none; | |||
} | |||
.portal-cat-inset { | |||
fill:none; | |||
stroke-width:1; | |||
shape-rendering:geometricPrecision; | |||
} | |||
.portal-cat-inset-top, | |||
.portal-cat-inset-right { | |||
stroke:#555555; | |||
} | |||
.portal-cat-inset-bottom, | |||
.portal-cat-inset-left { | |||
stroke:#101010; | |||
} | } | ||
.portal-cat- | .portal-cat-hit { | ||
fill:transparent; | fill:transparent; | ||
stroke:none; | stroke:none; | ||
pointer | cursor:pointer; | ||
} | } | ||
.portal-cat-anchor:hover .portal-cat- | .portal-cat-anchor:hover .portal-cat-surface, | ||
fill: | .portal-cat-anchor:focus .portal-cat-surface { | ||
fill:#242424; | |||
} | } | ||
.portal-cat-anchor:active .portal-cat- | .portal-cat-anchor:active .portal-cat-surface { | ||
fill: | fill:#101010; | ||
} | |||
.portal-cat-anchor:active .portal-cat-inset-top, | |||
.portal-cat-anchor:active .portal-cat-inset-right { | |||
stroke:#101010; | |||
} | |||
.portal-cat-anchor:active .portal-cat-inset-bottom, | |||
.portal-cat-anchor:active .portal-cat-inset-left { | |||
stroke:#555555; | |||
} | } | ||
| 187번째 줄: | 236번째 줄: | ||
} | } | ||
.portal-cat-anchor:hover .portal-cat-label { | .portal-cat-anchor:hover .portal-cat-label, | ||
.portal-cat-anchor:focus .portal-cat-label { | |||
fill:#ffffff; | fill:#ffffff; | ||
} | } | ||
.main-portal a, | .main-portal a, | ||
.main-portal .portal-cat- | .main-portal .portal-cat-surface, | ||
.main-portal .portal-cat-inset, | |||
.main-portal .portal-cat-label { | .main-portal .portal-cat-label { | ||
transition:none !important; | transition:none !important; | ||
2026년 7월 11일 (토) 14:48 판
/* =========================================
COASTLINE: BLACK ICE - MainPage
로고 + 카테고리 네비 전용 최소 대문
========================================= */
/*
책임 범위
-----------------------------------------
- 대문 본문 .main-portal 내부만 담당한다.
- 사이트 공통 셸은 Layout.css가 담당한다.
- 카테고리 네비의 SVG 구조는 CategoryNav.js가 생성한다.
- 콘솔, 그래프, STATUS, INFORMATION, PROJECTS는 대문에서 제거한다.
*/
.main-portal {
--panel:#1d1d1d;
--well:#080808;
--edge:#050505;
--highlight:#555555;
--shadow:#101010;
--text:#e2e2e2;
--text-strong:#ffffff;
--block-gap:2px;
--frame:8px;
width:100%;
min-height:100%;
margin:0;
padding:0;
display:flex;
flex-direction:column;
color:var(--text);
background:transparent;
font-size:12px;
line-height:18px;
box-sizing:border-box;
}
body.action-view.clbi-main-page .liberty-content-main .mw-parser-output {
display:flex !important;
flex-direction:column !important;
}
body.action-view.clbi-main-page .liberty-content-main .mw-parser-output > .main-portal {
flex:1 0 auto;
min-height:0;
}
.main-portal *,
.main-portal *::before,
.main-portal *::after {
box-sizing:border-box;
}
.main-portal a,
.main-portal a:visited {
color:var(--text) !important;
text-decoration:none !important;
}
.main-portal a:hover,
.main-portal a:focus {
color:var(--text-strong) !important;
text-decoration:none !important;
}
/* 과거 대문 구조가 캐시에 남아 있어도 화면에는 나타나지 않게 한다. */
.main-portal > .console,
.main-portal > .portal-bottom-row,
.main-portal > [data-archive-graph] {
display:none !important;
}
/* -----------------------------------------
공통 돌출 프레임
----------------------------------------- */
.main-portal .lab-logo {
background:var(--panel, #1d1d1d);
border:1px solid var(--edge, #050505);
border-radius:0;
box-shadow:
inset 0 1px 0 var(--highlight, #555555),
inset -1px 0 0 var(--highlight, #555555),
inset 1px 0 0 var(--shadow, #101010),
inset 0 -1px 0 var(--shadow, #101010);
}
.main-portal .lab-logo {
flex:0 0 auto;
margin:0 0 var(--block-gap);
}
.main-portal [data-component="category-nav"] {
flex:0 0 auto;
display:block;
width:100%;
margin:0;
}
/* -----------------------------------------
로고 프레임
----------------------------------------- */
.main-portal .lab-logo {
padding:var(--frame);
overflow:hidden;
}
.main-portal .portal-logo-well {
min-height:86px;
padding:10px 8px;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
background:var(--well);
border:0;
box-shadow:
inset 0 1px 0 var(--shadow),
inset -1px 0 0 var(--shadow),
inset 1px 0 0 var(--highlight),
inset 0 -1px 0 var(--highlight);
line-height:0;
}
.main-portal .portal-logo-well a,
.main-portal .portal-logo-well .mw-file-description {
display:inline-block;
line-height:0;
}
.main-portal .portal-logo-well img,
.main-portal .portal-logo-well .mw-file-element {
display:block;
width:1000px;
max-width:144%;
height:auto;
filter:grayscale(1) contrast(1.04) brightness(1.02);
}
/* -----------------------------------------
카테고리 네비
----------------------------------------- */
.portal-category-nav {
position:relative;
width:100%;
height:24px;
margin:0;
padding:0;
overflow:hidden;
background:var(--well, #080808);
border:0;
border-radius:0;
box-shadow:none;
}
.portal-category-svg {
display:block;
width:100%;
height:100%;
overflow:visible;
}
/*
각 버튼은 SVG 안에서 독립된 사선 프레임으로 그린다.
- 외곽 1px: #050505
- 본체: #1d1d1d
- 상단/우측 inset: #555555
- 좌측/하단 inset: #101010
- 버튼 사이 배경: #080808 2px
*/
.portal-cat-edge {
fill:#050505;
stroke:none;
}
.portal-cat-surface {
fill:#1d1d1d;
stroke:none;
}
.portal-cat-inset {
fill:none;
stroke-width:1;
shape-rendering:geometricPrecision;
}
.portal-cat-inset-top,
.portal-cat-inset-right {
stroke:#555555;
}
.portal-cat-inset-bottom,
.portal-cat-inset-left {
stroke:#101010;
}
.portal-cat-hit {
fill:transparent;
stroke:none;
cursor:pointer;
}
.portal-cat-anchor:hover .portal-cat-surface,
.portal-cat-anchor:focus .portal-cat-surface {
fill:#242424;
}
.portal-cat-anchor:active .portal-cat-surface {
fill:#101010;
}
.portal-cat-anchor:active .portal-cat-inset-top,
.portal-cat-anchor:active .portal-cat-inset-right {
stroke:#101010;
}
.portal-cat-anchor:active .portal-cat-inset-bottom,
.portal-cat-anchor:active .portal-cat-inset-left {
stroke:#555555;
}
.portal-cat-label {
fill:#e2e2e2;
font-family:inherit;
font-size:12px;
font-weight:700;
text-anchor:middle;
dominant-baseline:middle;
pointer-events:none;
paint-order:stroke;
stroke:#050505;
stroke-width:2px;
stroke-linejoin:round;
}
.portal-cat-anchor:hover .portal-cat-label,
.portal-cat-anchor:focus .portal-cat-label {
fill:#ffffff;
}
.main-portal a,
.main-portal .portal-cat-surface,
.main-portal .portal-cat-inset,
.main-portal .portal-cat-label {
transition:none !important;
}
@media screen and (max-width:820px) {
.portal-cat-label {
font-size:11px;
}
}
@media screen and (max-width:620px) {
.main-portal {
--frame:6px;
}
}