참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.
- 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
- 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
- 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
- 오페라: Ctrl-F5를 입력.
/* =========================================
COASTLINE: BLACK ICE - MainPage
로고 + 카테고리 네비 + 선언문 대문
========================================= */
/*
책임 범위
-----------------------------------------
- 대문 본문 .main-portal 내부만 담당한다.
- 사이트 공통 셸은 Layout.css가 담당한다.
- 카테고리 네비의 SVG 구조는 CategoryNav.js가 생성한다.
- 콘솔, 그래프, STATUS, INFORMATION, PROJECTS는 대문에서 제거한다.
- 「진창」 선언문 배치는 이 파일이 담당하며, 폰트 선언은 Theme.css가 담당한다.
*/
.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;
}
}
/* -----------------------------------------
대문 선언문 / 실제 픽셀 웹폰트 단일 구현
----------------------------------------- */
@font-face {
font-family:'YiSunShin Pixel 18';
src:url('/fonts/YiSunShinPixel18.woff2?v=20260712-realfont-clean-001') format('woff2');
font-weight:400;
font-style:normal;
font-display:block;
}
.main-portal .main-manifesto {
flex:1 0 auto;
min-height:0;
width:100%;
margin:0;
padding:10px 0 24px;
display:flex;
align-items:flex-start;
justify-content:center;
overflow:visible;
}
.main-portal .main-manifesto-inner {
position:relative !important;
top:0 !important;
left:0 !important;
width:660px !important;
min-width:660px !important;
max-width:660px !important;
height:auto !important;
min-height:0 !important;
max-height:none !important;
margin:0 auto !important;
padding:0 !important;
overflow:visible !important;
color:#e2e2e2 !important;
background:transparent !important;
transform:none !important;
}
.main-portal .main-manifesto-inner::before,
.main-portal .main-manifesto-inner::after {
content:none !important;
display:none !important;
background:none !important;
}
.main-portal .main-manifesto-title {
position:static !important;
top:auto !important;
left:auto !important;
width:660px !important;
height:57px !important;
min-height:57px !important;
max-height:57px !important;
margin:0 0 14px !important;
padding:0 0 8px !important;
overflow:visible !important;
clip:auto !important;
clip-path:none !important;
color:#e2e2e2 !important;
-webkit-text-fill-color:#e2e2e2 !important;
background:transparent !important;
border:0 !important;
border-bottom:1px solid #626262 !important;
font-family:'YiSunShin Pixel 18' !important;
font-size:36px !important;
font-weight:400 !important;
font-style:normal !important;
font-synthesis:none !important;
font-kerning:none !important;
font-variant-ligatures:none !important;
font-feature-settings:'kern' 0, 'liga' 0 !important;
line-height:48px !important;
letter-spacing:0 !important;
text-align:center !important;
text-shadow:none !important;
transform:none !important;
user-select:text !important;
}
.main-portal .main-manifesto-copy {
position:static !important;
top:auto !important;
left:auto !important;
width:620px !important;
min-width:620px !important;
max-width:620px !important;
height:auto !important;
margin:0 auto !important;
padding:0 !important;
overflow:visible !important;
color:#e2e2e2 !important;
-webkit-text-fill-color:#e2e2e2 !important;
background:transparent !important;
font-family:'YiSunShin Pixel 18' !important;
font-size:18px !important;
font-weight:400 !important;
font-style:normal !important;
font-synthesis:none !important;
font-kerning:none !important;
font-variant-ligatures:none !important;
font-feature-settings:'kern' 0, 'liga' 0 !important;
line-height:28px !important;
letter-spacing:0 !important;
word-break:keep-all !important;
overflow-wrap:break-word !important;
text-align:left !important;
text-shadow:none !important;
transform:none !important;
user-select:text !important;
}
.main-portal .main-manifesto-copy,
.main-portal .main-manifesto-copy * {
font-family:'YiSunShin Pixel 18' !important;
font-size:18px !important;
font-weight:400 !important;
font-style:normal !important;
font-synthesis:none !important;
font-kerning:none !important;
font-variant-ligatures:none !important;
font-feature-settings:'kern' 0, 'liga' 0 !important;
line-height:28px !important;
letter-spacing:0 !important;
color:#e2e2e2 !important;
-webkit-text-fill-color:#e2e2e2 !important;
}
.main-portal .main-manifesto-copy p {
position:static !important;
top:auto !important;
left:auto !important;
width:620px !important;
height:auto !important;
margin:0 0 16px !important;
padding:0 !important;
overflow:visible !important;
clip:auto !important;
clip-path:none !important;
white-space:normal !important;
transform:none !important;
user-select:text !important;
}
.main-portal .main-manifesto-copy p:last-child {
margin-bottom:0 !important;
}
.main-portal .main-manifesto-bitmap,
.main-portal canvas.main-manifesto-bitmap {
display:none !important;
}
@media screen and (max-width:700px) {
.main-portal .main-manifesto {
padding-top:10px;
overflow-x:auto;
justify-content:flex-start;
}
}
/* -----------------------------------------
하단 길라잡이 버튼
-----------------------------------------
상단의 설정–프로젝트–기업 및 공동체 합산 폭을 공유한다.
사선 방향은 상단 묶음과 반대로, 넓은 변이 하단에 놓인다.
*/
.main-portal [data-component="category-guide-nav"] {
flex:0 0 auto;
display:block;
width:100%;
height:24px;
margin:2px 0 0;
padding:0;
position:relative;
z-index:2147483000 !important;
pointer-events:auto;
}
.main-portal .portal-guide-nav {
width:100%;
height:24px;
margin:0;
background:var(--well, #080808);
}
.main-portal .portal-guide-svg {
width:100%;
height:24px;
}
.main-portal .portal-guide-label {
fill:#e2e2e2;
}
/* 본문 데코가 별도 stacking context를 만들더라도 길라잡이 클릭면을 최상단에 유지한다. */
.main-portal .portal-guide-nav,
.main-portal .portal-guide-svg,
.main-portal .portal-guide-anchor {
position:relative;
z-index:2147483000 !important;
}