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

편집 요약 없음
편집 요약 없음
3번째 줄: 3번째 줄:
MediaWiki:Test.css
MediaWiki:Test.css
Sandbox-only style test
Sandbox-only style test
Matte gunmetal official archive console
Matte gunmetal archive console + WIP team motif
========================================= */
========================================= */


/*
/*
Scope rule:
Scope:
- This file is globally imported, but every rule is scoped to .clbi-stylelab.
- This file is globally imported.
- Do not style body, page-대문, top navigation, sidebars, or global layout here.
- Every visual rule is scoped to .stylelab.
- No body, top-nav, sidebar, page shell, or global layout selectors.
*/
*/


16번째 줄: 17번째 줄:
----------------------------------------- */
----------------------------------------- */


.clbi-stylelab {
.stylelab {
    --clbi-bg-page: #070707;
--surface-page:#070707;
    --clbi-bg-shell: #0b0b0b;
--surface-shell:#0b0b0b;
    --clbi-bg-frame: #101010;
--surface-frame:#101010;
    --clbi-bg-frame-2: #141414;
--surface-frame-soft:#141414;
    --clbi-bg-title: #1d1d1d;
--surface-title:#1d1d1d;
    --clbi-bg-title-hover: #252525;
--surface-title-hover:#252525;
    --clbi-bg-well: #080808;
--surface-well:#080808;
    --clbi-bg-row: #121212;
--surface-row:#121212;
    --clbi-bg-row-alt: #151515;
--surface-row-alt:#151515;


    --clbi-edge-top: #555555;
--edge-top:#555555;
    --clbi-edge-side: #2b2b2b;
--edge-side:#2b2b2b;
    --clbi-edge-bottom: #050505;
--edge-bottom:#050505;
    --clbi-edge-soft: #202020;
--edge-soft:#202020;
    --clbi-edge-mid: #333333;
--edge-mid:#333333;


    --clbi-text-main: #e2e2e2;
--text-main:#e2e2e2;
    --clbi-text-soft: #c8c8c8;
--text-soft:#c8c8c8;
    --clbi-text-dim: #8a8a8a;
--text-dim:#8a8a8a;
    --clbi-text-faint: #626262;
--text-faint:#626262;


    --clbi-accent: #854369;
--signal-blue:#6f8fa8;
    --clbi-accent-bright: #b65d8f;
--signal-teal:#5a9b92;
--signal-green:#78966c;
--signal-amber:#c4a04a;
--signal-red:#a85c50;
--signal-gray:#9a9a9a;


    --clbi-gap: 8px;
--wip-yellow:#f2c300;
    --clbi-gap-tight: 6px;
--wip-yellow-dim:#b99200;
    --clbi-pad: 8px;
--wip-black:#050505;
    --clbi-title-h: 24px;
    --clbi-row-h: 22px;


    width: 100%;
--gap:8px;
    margin: 0 auto;
--gap-tight:6px;
    padding: var(--clbi-gap);
--pad:8px;
    color: var(--clbi-text-main);
--title-h:24px;
    background:
--row-h:22px;
        linear-gradient(var(--clbi-bg-page), var(--clbi-bg-page)),
 
        #000;
width:100%;
    font-size: 11px;
margin:0 auto;
    line-height: 1.5;
padding:var(--gap);
    box-sizing: border-box;
color:var(--text-main);
background:var(--surface-page);
font-size:11px;
line-height:1.5;
box-sizing:border-box;
}
}


.clbi-stylelab *,
.stylelab *,
.clbi-stylelab *::before,
.stylelab *::before,
.clbi-stylelab *::after {
.stylelab *::after {
    box-sizing: border-box;
box-sizing:border-box;
}
}


.clbi-stylelab a {
.stylelab a {
    color: var(--clbi-text-main) !important;
color:var(--text-main) !important;
    text-decoration: none !important;
text-decoration:none !important;
}
}


.clbi-stylelab a:hover {
.stylelab a:hover {
    color: #ffffff !important;
color:#ffffff !important;
    text-decoration: underline !important;
text-decoration:underline !important;
}
}


81번째 줄: 88번째 줄:
----------------------------------------- */
----------------------------------------- */


.clbi-stylelab .clbi-frame,
.stylelab .frame,
.clbi-stylelab .clbi-logo,
.stylelab .lab-logo,
.clbi-stylelab .clbi-directory,
.stylelab .directory,
.clbi-stylelab .clbi-console,
.stylelab .console,
.clbi-stylelab .clbi-panel,
.stylelab .panel,
.clbi-stylelab .clbi-ticker {
.stylelab .ticker {
    border: 1px solid;
border:1px solid;
    border-color:
border-color:
        var(--clbi-edge-top)
var(--edge-top)
        var(--clbi-edge-side)
var(--edge-side)
        var(--clbi-edge-bottom)
var(--edge-bottom)
        var(--clbi-edge-side);
var(--edge-side);
    background: var(--clbi-bg-frame);
background:var(--surface-frame);
    border-radius: 0;
border-radius:0;
    box-shadow: none;
box-shadow:none;
    outline: none;
outline:none;
    overflow: hidden;
overflow:hidden;
}
}


.clbi-stylelab .clbi-titlebar {
.stylelab .titlebar {
    min-height: var(--clbi-title-h);
position:relative;
    padding: 0 var(--clbi-pad);
min-height:var(--title-h);
    display: flex;
padding:0 var(--pad);
    align-items: center;
display:flex;
    justify-content: space-between;
align-items:center;
    gap: var(--clbi-gap);
justify-content:space-between;
    background: var(--clbi-bg-title);
gap:var(--gap);
    border-bottom: 1px solid var(--clbi-edge-bottom);
background:var(--surface-title);
    color: #f0f0f0;
border-bottom:1px solid var(--edge-bottom);
    font-size: 10px;
color:#f0f0f0;
    font-weight: 700;
font-size:10px;
    line-height: var(--clbi-title-h);
font-weight:700;
    white-space: nowrap;
line-height:var(--title-h);
    overflow: hidden;
white-space:nowrap;
    text-shadow: 1px 1px 0 #000;
overflow:hidden;
text-shadow:1px 1px 0 #000;
}
}


.clbi-stylelab .clbi-titlebar span {
.stylelab .titlebar span {
    overflow: hidden;
overflow:hidden;
    text-overflow: ellipsis;
text-overflow:ellipsis;
}
}


.clbi-stylelab .clbi-well {
.stylelab .well {
    border: 1px solid var(--clbi-edge-soft);
border:1px solid var(--edge-soft);
    background: var(--clbi-bg-well);
background:var(--surface-well);
}
}


/* -----------------------------------------
/* -----------------------------------------
2. Header / logo
2. Logo
----------------------------------------- */
----------------------------------------- */


.clbi-stylelab .clbi-logo {
.stylelab .lab-logo {
    width: 100%;
width:100%;
    margin: 0 0 var(--clbi-gap);
margin:0 0 var(--gap);
    padding: 10px 0 8px;
padding:10px 0 8px;
    text-align: center;
text-align:center;
    line-height: 0;
line-height:0;
}
}


.clbi-stylelab .clbi-logo a,
.stylelab .lab-logo a,
.clbi-stylelab .clbi-logo .mw-file-description {
.stylelab .lab-logo .mw-file-description {
    display: inline-block;
display:inline-block;
    line-height: 0;
line-height:0;
}
}


.clbi-stylelab .clbi-logo img,
.stylelab .lab-logo img,
.clbi-stylelab .clbi-logo .mw-file-element {
.stylelab .lab-logo .mw-file-element {
    width: 720px;
width:720px;
    max-width: 88%;
max-width:88%;
    height: auto;
height:auto;
    filter:
filter:
        grayscale(1)
grayscale(1)
        contrast(1.04)
contrast(1.04)
        brightness(1.02);
brightness(1.02);
}
}


/* -----------------------------------------
/* -----------------------------------------
3. Directory strip
3. Directory strip
This is a test component, not a global navigation replacement.
Test component only. Not a global navigation replacement.
----------------------------------------- */
----------------------------------------- */


.clbi-stylelab .clbi-directory {
.stylelab .directory {
    width: 100%;
width:100%;
    margin: 0 0 var(--clbi-gap) !important;
margin:0 0 var(--gap) !important;
    border-collapse: collapse !important;
border-collapse:collapse !important;
    table-layout: fixed !important;
table-layout:fixed !important;
}
}


.clbi-stylelab .clbi-directory tbody,
.stylelab .directory tbody,
.clbi-stylelab .clbi-directory tr {
.stylelab .directory tr {
    width: 100%;
width:100%;
}
}


.clbi-stylelab .clbi-directory td {
.stylelab .directory td {
    margin: 0 !important;
margin:0 !important;
    padding: 0 !important;
padding:0 !important;
    border: none !important;
border:none !important;
    border-right: 1px solid var(--clbi-edge-bottom) !important;
border-right:1px solid var(--edge-bottom) !important;
    background: var(--clbi-bg-frame-2) !important;
background:var(--surface-frame-soft) !important;
    vertical-align: middle !important;
vertical-align:middle !important;
    text-align: center !important;
text-align:center !important;
}
}


.clbi-stylelab .clbi-directory td:last-child {
.stylelab .directory td:last-child {
    border-right: none !important;
border-right:none !important;
}
}


.clbi-stylelab .clbi-directory a {
.stylelab .directory a {
    display: flex !important;
display:flex !important;
    align-items: center !important;
align-items:center !important;
    justify-content: center !important;
justify-content:center !important;
    width: 100% !important;
width:100% !important;
    min-height: 30px !important;
min-height:30px !important;
    padding: 7px 6px 6px !important;
padding:7px 6px 6px !important;
    color: var(--clbi-text-main) !important;
color:var(--text-main) !important;
    font-size: 10px !important;
font-size:10px !important;
    font-weight: 700 !important;
font-weight:700 !important;
    line-height: 1.2 !important;
line-height:1.2 !important;
    text-align: center !important;
text-align:center !important;
    text-shadow: 1px 1px 0 #000 !important;
text-shadow:1px 1px 0 #000 !important;
}
}


.clbi-stylelab .clbi-directory td:hover,
.stylelab .directory td:hover,
.clbi-stylelab .clbi-directory td:hover a {
.stylelab .directory td:hover a {
    background: var(--clbi-bg-title-hover) !important;
background:var(--surface-title-hover) !important;
    color: #ffffff !important;
color:#ffffff !important;
    text-decoration: none !important;
text-decoration:none !important;
}
}


214번째 줄: 222번째 줄:
----------------------------------------- */
----------------------------------------- */


.clbi-stylelab .clbi-console {
.stylelab .console {
    width: 100%;
width:100%;
    margin: 0 0 var(--clbi-gap);
margin:0 0 var(--gap);
    padding: var(--clbi-gap-tight);
padding:var(--gap-tight);
}
}


.clbi-stylelab .clbi-console-grid {
.stylelab .console-grid {
    display: grid;
display:grid;
    grid-template-columns: minmax(0, 1fr) 260px;
grid-template-columns:minmax(0,1fr) 260px;
    gap: var(--clbi-gap-tight);
gap:var(--gap-tight);
}
}


.clbi-stylelab .clbi-main-screen,
.stylelab .main-screen,
.clbi-stylelab .clbi-side-screen {
.stylelab .side-screen {
    min-width: 0;
min-width:0;
    border: 1px solid var(--clbi-edge-soft);
border:1px solid var(--edge-soft);
    background: var(--clbi-bg-well);
background:var(--surface-well);
}
}


.clbi-stylelab .clbi-main-screen {
.stylelab .main-screen {
    min-height: 260px;
min-height:260px;
    padding: 18px 18px 16px;
padding:18px 18px 16px;
}
}


.clbi-stylelab .clbi-main-screen h2 {
.stylelab .main-screen h2 {
    margin: 0 0 12px !important;
margin:0 0 12px !important;
    padding: 0 0 8px !important;
padding:0 0 8px !important;
    border-bottom: 1px solid var(--clbi-edge-soft) !important;
border-bottom:1px solid var(--edge-soft) !important;
    color: #f4f4f4 !important;
color:#f4f4f4 !important;
    font-size: 22px !important;
font-size:22px !important;
    line-height: 1.25 !important;
line-height:1.25 !important;
    text-align: center !important;
text-align:center !important;
    text-shadow: 1px 1px 0 #000 !important;
text-shadow:1px 1px 0 #000 !important;
}
}


.clbi-stylelab .clbi-main-screen p {
.stylelab .main-screen p {
    max-width: 800px;
max-width:800px;
    margin: 0 auto 10px;
margin:0 auto 10px;
    color: #d8d8d8;
color:#d8d8d8;
    font-size: 12px;
font-size:12px;
    line-height: 1.72;
line-height:1.72;
    text-align: center;
text-align:center;
    text-shadow: 1px 1px 0 #000;
text-shadow:1px 1px 0 #000;
}
}


.clbi-stylelab .clbi-side-screen {
.stylelab .side-screen {
    padding: var(--clbi-pad);
padding:var(--pad);
}
}


/* -----------------------------------------
/* -----------------------------------------
5. Small data tables
5. Data title + data tables
----------------------------------------- */
----------------------------------------- */


.clbi-stylelab .clbi-data-title {
.stylelab .data-title {
    min-height: 22px;
min-height:22px;
    margin: 0 0 6px;
margin:0 0 6px;
    padding: 5px 7px;
padding:5px 7px;
    border: 1px solid;
border:1px solid;
    border-color:
border-color:
        var(--clbi-edge-top)
var(--edge-top)
        var(--clbi-edge-side)
var(--edge-side)
        var(--clbi-edge-bottom)
var(--edge-bottom)
        var(--clbi-edge-side);
var(--edge-side);
    background: var(--clbi-bg-title);
background:var(--surface-title);
    color: #f0f0f0;
color:#f0f0f0;
    font-size: 10px;
font-size:10px;
    font-weight: 700;
font-weight:700;
    line-height: 1.2;
line-height:1.2;
    text-shadow: 1px 1px 0 #000;
text-shadow:1px 1px 0 #000;
}
}


.clbi-stylelab .clbi-data-table {
.stylelab .data-table {
    width: 100%;
width:100%;
    margin: 0;
margin:0;
    border-collapse: collapse;
border-collapse:collapse;
    table-layout: fixed;
table-layout:fixed;
    font-size: 10px;
font-size:10px;
}
}


.clbi-stylelab .clbi-data-table td {
.stylelab .data-table td {
    padding: 5px 6px;
padding:5px 6px;
    border: 1px solid var(--clbi-edge-soft);
border:1px solid var(--edge-soft);
    background: #111;
background:#111;
    color: var(--clbi-text-soft);
color:var(--text-soft);
    vertical-align: middle;
vertical-align:middle;
}
}


.clbi-stylelab .clbi-data-table td:first-child {
.stylelab .data-table td:first-child {
    width: 72px;
width:72px;
    color: var(--clbi-text-dim);
color:var(--text-dim);
    background: #0b0b0b;
background:#0b0b0b;
}
}


311번째 줄: 319번째 줄:
----------------------------------------- */
----------------------------------------- */


.clbi-stylelab .clbi-ticker {
.stylelab .ticker {
    height: 22px;
height:22px;
    margin: 0 0 var(--clbi-gap-tight);
margin:0 0 var(--gap-tight);
    padding: 0 var(--clbi-pad);
padding:0 var(--pad);
    color: #bdbdbd;
color:#bdbdbd;
    background: #171717;
background:#171717;
    font-size: 10px;
font-size:10px;
    line-height: 22px;
line-height:22px;
    white-space: nowrap;
white-space:nowrap;
    overflow: hidden;
overflow:hidden;
    text-overflow: ellipsis;
text-overflow:ellipsis;
    text-shadow: 1px 1px 0 #000;
text-shadow:1px 1px 0 #000;
}
}


329번째 줄: 337번째 줄:
----------------------------------------- */
----------------------------------------- */


.clbi-stylelab .clbi-module-grid {
.stylelab .module-grid {
    display: grid;
display:grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 280px;
grid-template-columns:minmax(0,1fr) minmax(0,1fr) 280px;
    gap: var(--clbi-gap-tight);
gap:var(--gap-tight);
}
 
.stylelab .panel {
min-width:0;
}
 
.stylelab .panel-body {
padding:var(--pad);
background:var(--surface-well);
}
 
.stylelab .record-list {
margin:0 !important;
padding:0 !important;
list-style:none !important;
}
 
.stylelab .record-list li {
display:grid;
grid-template-columns:minmax(0,1fr) auto;
gap:var(--gap);
min-height:var(--row-h);
margin:0;
padding:4px 2px;
border-bottom:1px solid var(--edge-soft);
color:var(--text-soft);
line-height:1.35;
}
}


.clbi-stylelab .clbi-panel {
.stylelab .record-list li:first-child {
    min-width: 0;
border-top:1px solid var(--edge-soft);
}
}


.clbi-stylelab .clbi-panel-body {
.stylelab .record-list li span:first-child {
    padding: var(--clbi-pad);
min-width:0;
    background: var(--clbi-bg-well);
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
}


.clbi-stylelab .clbi-record-list {
.stylelab .meta {
    margin: 0 !important;
color:var(--text-dim);
    padding: 0 !important;
white-space:nowrap;
    list-style: none !important;
font-size:9px;
}
}


.clbi-stylelab .clbi-record-list li {
/* -----------------------------------------
    display: grid;
8. Status tags
    grid-template-columns: minmax(0, 1fr) auto;
Small functional color only.
    gap: var(--clbi-gap);
No structural color use.
    min-height: var(--clbi-row-h);
----------------------------------------- */
    margin: 0;
 
    padding: 4px 2px;
.stylelab .status-tag {
    border-bottom: 1px solid var(--clbi-edge-soft);
display:inline-block;
    color: var(--clbi-text-soft);
min-width:34px;
    line-height: 1.35;
padding:1px 4px;
border:1px solid #303030;
background:#161616;
color:var(--text-soft);
font-size:9px;
text-align:center;
line-height:1.25;
}
}


.clbi-stylelab .clbi-record-list li:first-child {
.stylelab .status-tag.is-progress {
    border-top: 1px solid var(--clbi-edge-soft);
border-color:#6d5b2c;
color:#d3bb72;
background:#19170f;
}
}


.clbi-stylelab .clbi-record-list li span:first-child {
.stylelab .status-tag.is-review {
    min-width: 0;
border-color:#36515d;
    overflow: hidden;
color:#8bb6c6;
    text-overflow: ellipsis;
background:#10171a;
    white-space: nowrap;
}
}


.clbi-stylelab .clbi-meta {
.stylelab .status-tag.is-wait {
    color: var(--clbi-text-dim);
border-color:#484848;
    white-space: nowrap;
color:#a4a4a4;
    font-size: 9px;
background:#151515;
}
}


.clbi-stylelab .clbi-status-tag {
.stylelab .status-tag.is-done {
    display: inline-block;
border-color:#3d5c38;
    min-width: 34px;
color:#9fbe96;
    padding: 1px 4px;
background:#111811;
    border-left: 2px solid var(--clbi-accent);
}
    background: #161616;
 
    color: var(--clbi-text-soft);
.stylelab .status-tag.is-alert {
    font-size: 9px;
border-color:#6a3933;
    text-align: center;
color:#d48679;
background:#1b1110;
}
}


/* -----------------------------------------
/* -----------------------------------------
8. Archive status
9. WIP team motif
Use only where the making team is foregrounded:
project tracker, production log, WIP notice, development status.
----------------------------------------- */
----------------------------------------- */


.clbi-stylelab .clbi-status-grid {
.stylelab .work-panel {
    display: grid;
border-color:
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
#6b611f
    gap: var(--clbi-gap-tight);
var(--edge-side)
    margin: 0 0 var(--clbi-gap-tight);
var(--edge-bottom)
var(--edge-side);
}
}


.clbi-stylelab .clbi-counter {
.stylelab .work-panel .titlebar {
    min-width: 0;
padding-right:6px;
    padding: 7px 6px;
    border: 1px solid var(--clbi-edge-soft);
    background: #070707;
    text-align: center;
}
}


.clbi-stylelab .clbi-counter b {
.stylelab .work-panel .titlebar::after {
    display: block;
content:"";
    color: #f0f0f0;
position:absolute;
    font-family: Consolas, Monaco, monospace !important;
left:0;
    font-size: 18px;
right:0;
    line-height: 1.1;
bottom:0;
    text-shadow: 1px 1px 0 #000;
height:3px;
pointer-events:none;
background:
repeating-linear-gradient(
45deg,
var(--wip-yellow) 0 6px,
var(--wip-yellow) 6px 7px,
var(--wip-black) 7px 13px,
var(--wip-black) 13px 14px
);
opacity:0.95;
}
}


.clbi-stylelab .clbi-counter span {
.stylelab .work-badge {
    display: block;
display:inline-flex;
    margin-top: 3px;
align-items:center;
    color: var(--clbi-text-dim);
justify-content:center;
    font-size: 9px;
height:16px;
min-width:38px;
padding:0 6px;
border:1px solid #7a6600;
background:
repeating-linear-gradient(
45deg,
var(--wip-yellow) 0 5px,
var(--wip-yellow) 5px 6px,
var(--wip-black) 6px 11px,
var(--wip-black) 11px 12px
);
color:#ffffff;
font-size:9px;
font-weight:700;
line-height:16px;
text-shadow:
1px 1px 0 #000,
0 0 2px #000;
}
}


.clbi-stylelab .clbi-guestbook {
.stylelab .work-panel .panel-body {
    padding: 7px;
position:relative;
    border: 1px solid var(--clbi-edge-soft);
padding-left:15px;
    background: var(--clbi-bg-row);
    color: var(--clbi-text-soft);
    font-size: 10px;
    line-height: 1.45;
}
}


.clbi-stylelab .clbi-guestbook b {
.stylelab .work-panel .panel-body::before {
    color: #eeeeee;
content:"";
position:absolute;
left:6px;
top:7px;
bottom:7px;
width:4px;
pointer-events:none;
background:
repeating-linear-gradient(
45deg,
var(--wip-yellow) 0 4px,
var(--wip-yellow) 4px 5px,
var(--wip-black) 5px 9px,
var(--wip-black) 9px 10px
);
opacity:0.95;
}
}


/* -----------------------------------------
/* -----------------------------------------
9. Manual samples
10. Archive status
Neutral data module. No WIP motif.
----------------------------------------- */
----------------------------------------- */


.clbi-stylelab .clbi-sample-row {
.stylelab .status-grid {
    display: grid;
display:grid;
    grid-template-columns: 150px minmax(0, 1fr);
grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap: var(--clbi-gap-tight);
gap:var(--gap-tight);
    padding: 5px 0;
margin:0 0 var(--gap-tight);
    border-bottom: 1px solid var(--clbi-edge-soft);
}
}


.clbi-stylelab .clbi-sample-row:first-child {
.stylelab .counter {
    border-top: 1px solid var(--clbi-edge-soft);
min-width:0;
padding:7px 6px;
border:1px solid var(--edge-soft);
background:#070707;
text-align:center;
}
}


.clbi-stylelab .clbi-sample-label {
.stylelab .counter b {
    color: var(--clbi-text-dim);
display:block;
    font-size: 10px;
color:#f0f0f0;
font-family:Consolas, Monaco, monospace !important;
font-size:18px;
line-height:1.1;
text-shadow:1px 1px 0 #000;
}
}


.clbi-stylelab .clbi-sample-value {
.stylelab .counter span {
    color: var(--clbi-text-soft);
display:block;
    font-size: 10px;
margin-top:3px;
color:var(--text-dim);
font-size:9px;
}
 
.stylelab .guestbook {
padding:7px;
border:1px solid var(--edge-soft);
background:var(--surface-row);
color:var(--text-soft);
font-size:10px;
line-height:1.45;
}
 
.stylelab .guestbook b {
color:#eeeeee;
}
}


/* -----------------------------------------
/* -----------------------------------------
10. Responsive
11. Manual samples
----------------------------------------- */
----------------------------------------- */


@media screen and (max-width: 1180px) {
.stylelab .sample-row {
    .clbi-stylelab .clbi-console-grid {
display:grid;
        grid-template-columns: minmax(0, 1fr);
grid-template-columns:150px minmax(0,1fr);
    }
gap:var(--gap-tight);
padding:5px 0;
border-bottom:1px solid var(--edge-soft);
}


    .clbi-stylelab .clbi-module-grid {
.stylelab .sample-row:first-child {
        grid-template-columns: minmax(0, 1fr);
border-top:1px solid var(--edge-soft);
    }
}


    .clbi-stylelab .clbi-directory {
.stylelab .sample-label {
        table-layout: auto !important;
color:var(--text-dim);
    }
font-size:10px;
}


    .clbi-stylelab .clbi-directory,
.stylelab .sample-value {
    .clbi-stylelab .clbi-directory tbody,
color:var(--text-soft);
    .clbi-stylelab .clbi-directory tr,
font-size:10px;
    .clbi-stylelab .clbi-directory td {
}
        display: block !important;
        width: 100% !important;
    }


    .clbi-stylelab .clbi-directory td {
/* -----------------------------------------
        border-right: none !important;
12. Responsive
        border-bottom: 1px solid var(--clbi-edge-bottom) !important;
----------------------------------------- */
    }
 
@media screen and (max-width:1180px) {
.stylelab .console-grid {
grid-template-columns:minmax(0,1fr);
}


    .clbi-stylelab .clbi-directory td:last-child {
.stylelab .module-grid {
        border-bottom: none !important;
grid-template-columns:minmax(0,1fr);
    }
}
 
.stylelab .directory {
table-layout:auto !important;
}
 
.stylelab .directory,
.stylelab .directory tbody,
.stylelab .directory tr,
.stylelab .directory td {
display:block !important;
width:100% !important;
}
 
.stylelab .directory td {
border-right:none !important;
border-bottom:1px solid var(--edge-bottom) !important;
}
 
.stylelab .directory td:last-child {
border-bottom:none !important;
}
}
}

2026년 5월 17일 (일) 07:29 판

/* =========================================
COASTLINE: BLACK ICE
MediaWiki:Test.css
Sandbox-only style test
Matte gunmetal archive console + WIP team motif
========================================= */

/*
Scope:
- This file is globally imported.
- Every visual rule is scoped to .stylelab.
- No body, top-nav, sidebar, page shell, or global layout selectors.
*/

/* -----------------------------------------
0. Style tokens
----------------------------------------- */

.stylelab {
--surface-page:#070707;
--surface-shell:#0b0b0b;
--surface-frame:#101010;
--surface-frame-soft:#141414;
--surface-title:#1d1d1d;
--surface-title-hover:#252525;
--surface-well:#080808;
--surface-row:#121212;
--surface-row-alt:#151515;

--edge-top:#555555;
--edge-side:#2b2b2b;
--edge-bottom:#050505;
--edge-soft:#202020;
--edge-mid:#333333;

--text-main:#e2e2e2;
--text-soft:#c8c8c8;
--text-dim:#8a8a8a;
--text-faint:#626262;

--signal-blue:#6f8fa8;
--signal-teal:#5a9b92;
--signal-green:#78966c;
--signal-amber:#c4a04a;
--signal-red:#a85c50;
--signal-gray:#9a9a9a;

--wip-yellow:#f2c300;
--wip-yellow-dim:#b99200;
--wip-black:#050505;

--gap:8px;
--gap-tight:6px;
--pad:8px;
--title-h:24px;
--row-h:22px;

width:100%;
margin:0 auto;
padding:var(--gap);
color:var(--text-main);
background:var(--surface-page);
font-size:11px;
line-height:1.5;
box-sizing:border-box;
}

.stylelab *,
.stylelab *::before,
.stylelab *::after {
box-sizing:border-box;
}

.stylelab a {
color:var(--text-main) !important;
text-decoration:none !important;
}

.stylelab a:hover {
color:#ffffff !important;
text-decoration:underline !important;
}

/* -----------------------------------------
1. Frame system
North-light rule:
top bright / sides neutral / bottom dark
----------------------------------------- */

.stylelab .frame,
.stylelab .lab-logo,
.stylelab .directory,
.stylelab .console,
.stylelab .panel,
.stylelab .ticker {
border:1px solid;
border-color:
var(--edge-top)
var(--edge-side)
var(--edge-bottom)
var(--edge-side);
background:var(--surface-frame);
border-radius:0;
box-shadow:none;
outline:none;
overflow:hidden;
}

.stylelab .titlebar {
position:relative;
min-height:var(--title-h);
padding:0 var(--pad);
display:flex;
align-items:center;
justify-content:space-between;
gap:var(--gap);
background:var(--surface-title);
border-bottom:1px solid var(--edge-bottom);
color:#f0f0f0;
font-size:10px;
font-weight:700;
line-height:var(--title-h);
white-space:nowrap;
overflow:hidden;
text-shadow:1px 1px 0 #000;
}

.stylelab .titlebar span {
overflow:hidden;
text-overflow:ellipsis;
}

.stylelab .well {
border:1px solid var(--edge-soft);
background:var(--surface-well);
}

/* -----------------------------------------
2. Logo
----------------------------------------- */

.stylelab .lab-logo {
width:100%;
margin:0 0 var(--gap);
padding:10px 0 8px;
text-align:center;
line-height:0;
}

.stylelab .lab-logo a,
.stylelab .lab-logo .mw-file-description {
display:inline-block;
line-height:0;
}

.stylelab .lab-logo img,
.stylelab .lab-logo .mw-file-element {
width:720px;
max-width:88%;
height:auto;
filter:
grayscale(1)
contrast(1.04)
brightness(1.02);
}

/* -----------------------------------------
3. Directory strip
Test component only. Not a global navigation replacement.
----------------------------------------- */

.stylelab .directory {
width:100%;
margin:0 0 var(--gap) !important;
border-collapse:collapse !important;
table-layout:fixed !important;
}

.stylelab .directory tbody,
.stylelab .directory tr {
width:100%;
}

.stylelab .directory td {
margin:0 !important;
padding:0 !important;
border:none !important;
border-right:1px solid var(--edge-bottom) !important;
background:var(--surface-frame-soft) !important;
vertical-align:middle !important;
text-align:center !important;
}

.stylelab .directory td:last-child {
border-right:none !important;
}

.stylelab .directory a {
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:100% !important;
min-height:30px !important;
padding:7px 6px 6px !important;
color:var(--text-main) !important;
font-size:10px !important;
font-weight:700 !important;
line-height:1.2 !important;
text-align:center !important;
text-shadow:1px 1px 0 #000 !important;
}

.stylelab .directory td:hover,
.stylelab .directory td:hover a {
background:var(--surface-title-hover) !important;
color:#ffffff !important;
text-decoration:none !important;
}

/* -----------------------------------------
4. Main console
----------------------------------------- */

.stylelab .console {
width:100%;
margin:0 0 var(--gap);
padding:var(--gap-tight);
}

.stylelab .console-grid {
display:grid;
grid-template-columns:minmax(0,1fr) 260px;
gap:var(--gap-tight);
}

.stylelab .main-screen,
.stylelab .side-screen {
min-width:0;
border:1px solid var(--edge-soft);
background:var(--surface-well);
}

.stylelab .main-screen {
min-height:260px;
padding:18px 18px 16px;
}

.stylelab .main-screen h2 {
margin:0 0 12px !important;
padding:0 0 8px !important;
border-bottom:1px solid var(--edge-soft) !important;
color:#f4f4f4 !important;
font-size:22px !important;
line-height:1.25 !important;
text-align:center !important;
text-shadow:1px 1px 0 #000 !important;
}

.stylelab .main-screen p {
max-width:800px;
margin:0 auto 10px;
color:#d8d8d8;
font-size:12px;
line-height:1.72;
text-align:center;
text-shadow:1px 1px 0 #000;
}

.stylelab .side-screen {
padding:var(--pad);
}

/* -----------------------------------------
5. Data title + data tables
----------------------------------------- */

.stylelab .data-title {
min-height:22px;
margin:0 0 6px;
padding:5px 7px;
border:1px solid;
border-color:
var(--edge-top)
var(--edge-side)
var(--edge-bottom)
var(--edge-side);
background:var(--surface-title);
color:#f0f0f0;
font-size:10px;
font-weight:700;
line-height:1.2;
text-shadow:1px 1px 0 #000;
}

.stylelab .data-table {
width:100%;
margin:0;
border-collapse:collapse;
table-layout:fixed;
font-size:10px;
}

.stylelab .data-table td {
padding:5px 6px;
border:1px solid var(--edge-soft);
background:#111;
color:var(--text-soft);
vertical-align:middle;
}

.stylelab .data-table td:first-child {
width:72px;
color:var(--text-dim);
background:#0b0b0b;
}

/* -----------------------------------------
6. Ticker
----------------------------------------- */

.stylelab .ticker {
height:22px;
margin:0 0 var(--gap-tight);
padding:0 var(--pad);
color:#bdbdbd;
background:#171717;
font-size:10px;
line-height:22px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
text-shadow:1px 1px 0 #000;
}

/* -----------------------------------------
7. Lower modules
----------------------------------------- */

.stylelab .module-grid {
display:grid;
grid-template-columns:minmax(0,1fr) minmax(0,1fr) 280px;
gap:var(--gap-tight);
}

.stylelab .panel {
min-width:0;
}

.stylelab .panel-body {
padding:var(--pad);
background:var(--surface-well);
}

.stylelab .record-list {
margin:0 !important;
padding:0 !important;
list-style:none !important;
}

.stylelab .record-list li {
display:grid;
grid-template-columns:minmax(0,1fr) auto;
gap:var(--gap);
min-height:var(--row-h);
margin:0;
padding:4px 2px;
border-bottom:1px solid var(--edge-soft);
color:var(--text-soft);
line-height:1.35;
}

.stylelab .record-list li:first-child {
border-top:1px solid var(--edge-soft);
}

.stylelab .record-list li span:first-child {
min-width:0;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.stylelab .meta {
color:var(--text-dim);
white-space:nowrap;
font-size:9px;
}

/* -----------------------------------------
8. Status tags
Small functional color only.
No structural color use.
----------------------------------------- */

.stylelab .status-tag {
display:inline-block;
min-width:34px;
padding:1px 4px;
border:1px solid #303030;
background:#161616;
color:var(--text-soft);
font-size:9px;
text-align:center;
line-height:1.25;
}

.stylelab .status-tag.is-progress {
border-color:#6d5b2c;
color:#d3bb72;
background:#19170f;
}

.stylelab .status-tag.is-review {
border-color:#36515d;
color:#8bb6c6;
background:#10171a;
}

.stylelab .status-tag.is-wait {
border-color:#484848;
color:#a4a4a4;
background:#151515;
}

.stylelab .status-tag.is-done {
border-color:#3d5c38;
color:#9fbe96;
background:#111811;
}

.stylelab .status-tag.is-alert {
border-color:#6a3933;
color:#d48679;
background:#1b1110;
}

/* -----------------------------------------
9. WIP team motif
Use only where the making team is foregrounded:
project tracker, production log, WIP notice, development status.
----------------------------------------- */

.stylelab .work-panel {
border-color:
#6b611f
var(--edge-side)
var(--edge-bottom)
var(--edge-side);
}

.stylelab .work-panel .titlebar {
padding-right:6px;
}

.stylelab .work-panel .titlebar::after {
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:3px;
pointer-events:none;
background:
repeating-linear-gradient(
45deg,
var(--wip-yellow) 0 6px,
var(--wip-yellow) 6px 7px,
var(--wip-black) 7px 13px,
var(--wip-black) 13px 14px
);
opacity:0.95;
}

.stylelab .work-badge {
display:inline-flex;
align-items:center;
justify-content:center;
height:16px;
min-width:38px;
padding:0 6px;
border:1px solid #7a6600;
background:
repeating-linear-gradient(
45deg,
var(--wip-yellow) 0 5px,
var(--wip-yellow) 5px 6px,
var(--wip-black) 6px 11px,
var(--wip-black) 11px 12px
);
color:#ffffff;
font-size:9px;
font-weight:700;
line-height:16px;
text-shadow:
1px 1px 0 #000,
0 0 2px #000;
}

.stylelab .work-panel .panel-body {
position:relative;
padding-left:15px;
}

.stylelab .work-panel .panel-body::before {
content:"";
position:absolute;
left:6px;
top:7px;
bottom:7px;
width:4px;
pointer-events:none;
background:
repeating-linear-gradient(
45deg,
var(--wip-yellow) 0 4px,
var(--wip-yellow) 4px 5px,
var(--wip-black) 5px 9px,
var(--wip-black) 9px 10px
);
opacity:0.95;
}

/* -----------------------------------------
10. Archive status
Neutral data module. No WIP motif.
----------------------------------------- */

.stylelab .status-grid {
display:grid;
grid-template-columns:minmax(0,1fr) minmax(0,1fr);
gap:var(--gap-tight);
margin:0 0 var(--gap-tight);
}

.stylelab .counter {
min-width:0;
padding:7px 6px;
border:1px solid var(--edge-soft);
background:#070707;
text-align:center;
}

.stylelab .counter b {
display:block;
color:#f0f0f0;
font-family:Consolas, Monaco, monospace !important;
font-size:18px;
line-height:1.1;
text-shadow:1px 1px 0 #000;
}

.stylelab .counter span {
display:block;
margin-top:3px;
color:var(--text-dim);
font-size:9px;
}

.stylelab .guestbook {
padding:7px;
border:1px solid var(--edge-soft);
background:var(--surface-row);
color:var(--text-soft);
font-size:10px;
line-height:1.45;
}

.stylelab .guestbook b {
color:#eeeeee;
}

/* -----------------------------------------
11. Manual samples
----------------------------------------- */

.stylelab .sample-row {
display:grid;
grid-template-columns:150px minmax(0,1fr);
gap:var(--gap-tight);
padding:5px 0;
border-bottom:1px solid var(--edge-soft);
}

.stylelab .sample-row:first-child {
border-top:1px solid var(--edge-soft);
}

.stylelab .sample-label {
color:var(--text-dim);
font-size:10px;
}

.stylelab .sample-value {
color:var(--text-soft);
font-size:10px;
}

/* -----------------------------------------
12. Responsive
----------------------------------------- */

@media screen and (max-width:1180px) {
.stylelab .console-grid {
grid-template-columns:minmax(0,1fr);
}

.stylelab .module-grid {
grid-template-columns:minmax(0,1fr);
}

.stylelab .directory {
table-layout:auto !important;
}

.stylelab .directory,
.stylelab .directory tbody,
.stylelab .directory tr,
.stylelab .directory td {
display:block !important;
width:100% !important;
}

.stylelab .directory td {
border-right:none !important;
border-bottom:1px solid var(--edge-bottom) !important;
}

.stylelab .directory td:last-child {
border-bottom:none !important;
}
}