리크 테스트 gui
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

329 lines
6.3 KiB

/*
* A4 용지 기준 PDF 출력을 위한 스타일시트 (pdf_style.css)
*/
@page {
size: A4;
margin: 20mm 15mm 20mm 15mm;
@top-left { content: none !important; }
@top-right { content: none !important; }
@bottom-left { content: none !important; }
@bottom-right { content: none !important; }
@bottom-center {
content: counter(page) !important;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans KR", sans-serif;
font-size: 8.5pt;
color: #7f8c8d;
}
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans KR", sans-serif;
font-size: 10pt;
line-height: 1.6;
color: #333333;
background-color: #ffffff;
-webkit-print-color-adjust: exact !important;
print-color-adjust: exact !important;
}
/* 제목 스타일 */
h1, h2, h3, h4, h5, h6 {
color: #111111;
font-weight: bold;
page-break-after: avoid;
page-break-inside: avoid;
}
h1 {
font-size: 18pt;
border-bottom: 2px solid #007acc;
padding-bottom: 4px;
margin-top: 20px;
margin-bottom: 12px;
}
h2 {
font-size: 13pt;
border-bottom: 1px solid #e1e4e8;
padding-bottom: 3px;
margin-top: 16px;
margin-bottom: 10px;
}
h3 {
font-size: 11pt;
margin-top: 12px;
margin-bottom: 6px;
}
h4 {
font-size: 10pt;
margin-top: 10px;
margin-bottom: 6px;
}
/* 문단 및 리스트 */
p {
margin-top: 0;
margin-bottom: 8px;
text-align: justify;
}
ul, ol {
margin-top: 0;
margin-bottom: 8px;
padding-left: 20px;
}
li {
margin-bottom: 3px;
}
/* 구분선 */
hr {
height: 1px;
padding: 0;
margin: 15px 0;
background-color: #e1e4e8;
border: 0;
}
/* 테이블 스타일 */
table {
width: 100%;
border-collapse: collapse;
margin-top: 0;
margin-bottom: 10px;
page-break-inside: avoid;
}
table th, table td {
padding: 4px 8px;
border: 1px solid #dfe2e5;
font-size: 8.5pt;
word-break: keep-all;
}
table th {
font-weight: 600;
background-color: #f6f8fa;
text-align: left;
}
table tr:nth-child(even) {
background-color: #f9fbfd;
}
table tr {
page-break-inside: avoid; /* 표의 중간 행이 반으로 쪼개지는 것만 방지 */
}
/* 인용구 스타일 */
blockquote {
padding: 6px 12px;
color: #6a737d;
border-left: 0.25em solid #007acc;
background-color: #f6f8fa;
margin: 0 0 10px 0;
page-break-inside: avoid;
}
blockquote p {
margin: 0;
}
/* 코드 블록 (아스키 아트 등 포함) */
pre, code {
font-family: "Consolas", "Monaco", "Andale Mono", "Ubuntu Mono", monospace;
font-size: 8.5pt;
background-color: #f6f8fa;
border-radius: 3px;
}
code {
padding: 0.2em 0.4em;
margin: 0;
border: 1px solid #eaecef;
}
pre {
padding: 12px;
overflow: auto;
line-height: 1.45;
border: 1px solid #e1e4e8;
word-wrap: normal;
white-space: pre; /* 아스키 아트 정렬 유지를 위해 강제 줄바꿈 해제 */
page-break-inside: avoid;
}
pre code {
padding: 0;
margin: 0;
background-color: transparent;
border: none;
font-size: inherit;
white-space: inherit;
}
/* 이미지 스타일 */
img {
max-width: 100%;
max-height: 100mm; /* A4 높이의 약 절반 이하로 제한 */
display: block;
margin: 15px auto;
object-fit: contain;
page-break-inside: avoid;
border: 1px solid #e1e4e8;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
/* 페이지 나누기 요소 */
.page-break {
page-break-before: always !important;
}
/* 내비게이션 숨김 (인쇄 시) */
.nav-link, .nav-links, .back-to-toc, .manual-nav,
a[href$=".md"]:not(.toc-title a) {
display: none !important;
}
/* 링크 스타일 */
a {
color: #007acc;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/* 특별 배지 스타일 */
.badge {
display: inline-block;
padding: 2px 6px;
font-size: 8pt;
font-weight: 600;
line-height: 1;
border-radius: 2px;
background-color: #e1e4e8;
color: #24292e;
margin-right: 4px;
}
/* ==========================================
표지 (Cover Page) 스타일 (Minimal & Clean)
========================================== */
.cover-page {
text-align: center;
padding: 70mm 0 30mm 0;
page-break-after: always !important;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 220mm;
}
.cover-header {
margin-top: 20px;
}
.cover-title {
font-size: 28pt !important;
font-weight: 700 !important;
color: #1a1a1a !important;
margin: 0 0 16px 0 !important;
padding: 0 !important;
border: none !important;
letter-spacing: -0.5px;
line-height: 1.2;
}
.cover-subtitle {
font-size: 16pt;
font-weight: 500;
color: #007acc;
margin: 0;
letter-spacing: 2px;
text-transform: uppercase;
}
.cover-meta {
margin-top: 100px;
font-size: 9.5pt;
color: #666666;
letter-spacing: 0.5px;
border-top: 1px solid #eaeaea;
padding-top: 20px;
width: 60%;
margin-left: auto;
margin-right: auto;
}
/* ==========================================
점선 리더 목차 (Dot Leader TOC) 스타일
========================================== */
.toc-container {
padding: 10px 0;
}
.toc-heading {
font-size: 22pt !important;
font-weight: 800 !important;
color: #0f2942 !important;
border-bottom: none !important;
padding-bottom: 0 !important;
margin-top: 10px !important;
margin-bottom: 24px !important;
}
.toc-list {
display: flex;
flex-direction: column;
gap: 13px;
}
.toc-item {
display: flex;
align-items: baseline;
font-size: 11pt;
line-height: 1.5;
}
.toc-title {
font-weight: 700 !important;
color: #111827;
white-space: nowrap;
padding-right: 6px;
}
.toc-title a {
color: #111827 !important;
font-weight: 700 !important;
text-decoration: none !important;
display: inline !important;
}
.toc-title a:hover {
color: #007acc !important;
}
.toc-leader {
flex-grow: 1;
border-bottom: 1.2px dotted #4b5563;
margin: 0 4px;
position: relative;
top: -4px;
}
.toc-page {
font-weight: 700 !important;
color: #111827;
padding-left: 6px;
white-space: nowrap;
}