@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=PT+Serif:ital,wght@0,400;0,700;1,400&display=swap');

.marker-red {
    background-color: red;
    color: white;
}

.marker-green {
    background-color: green;
    color: white;
}

.ck-editor__editable {
    max-width: 100% !important;
    height: 600px;
    box-sizing: border-box;
    overflow-y: scroll !important;
    padding-left: 20px !important;
}

.ck-content {
    padding-left: 20px !important;
}

.ck-content ul {
    list-style-type: disc !important;
    margin-left: 1.5em;
    padding-left: 0;
}

.ck-content ol {
    list-style-type: decimal !important;
    margin-left: 1.5em;
    padding-left: 0;
}

.ck-content ul.todo-list {
    list-style: none;  /* 기본 점 제거 */
    padding-left: 0;   /* 좌측 여백 초기화 */
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
}

.ck-content ul.todo-list li {
    display: flex;           /* 플렉스 사용해서 가로 정렬 */
    align-items: center;     /* 수직 중앙 정렬 */
    gap: 8px;                /* 체크박스와 텍스트 사이 간격 */
    margin-bottom: 0.3em;
    padding-left: 2em;         /* 좌측 여백 초기화 */
}

.ck-content ul.todo-list li input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    flex-shrink: 0; /* 체크박스 크기 고정 */
}

.ck-content ul.ck-list_bulleted {
    list-style: disc inside;
    padding-left: 20px;
    margin: 0 0 1em 0;
    font-size: 14px;
    line-height: 1.5;
}

.ck-content table th,
.ck-content table td {
    padding: 4px 8px;
    height: auto !important;
    min-height: 0 !important;
    line-height: normal !important;
    vertical-align: middle !important;
    overflow: visible !important;
}

.ck-source-editing-area {
    height: 600px !important;
    overflow-y: hidden !important;
}

.ck-source-editing-area textarea {
    height: 600px !important;
    overflow-y: scroll !important;
    resize: none !important;
    box-sizing: border-box !important;
}

.ck-toolbar {
    flex-wrap: wrap !important;
}

.ck.ck-content {
    font-family: 'PT Serif', serif;
    font-size: 16px;
    line-height: 1.6;
    padding: 2em;
}

.ck-content .ck-horizontal-line {
    margin-bottom: 1em;
}

.ck.ck-content hr {
    width: 100px;
    border-top: 1px solid #aaa;
    height: 1px;
    margin: 1em auto;
}

.ck.ck-content h3.category {
    font-family: 'Bebas Neue';
    font-size: 20px;
    font-weight: bold;
    color: #d1d1d1;
    letter-spacing: 10px;
    margin: 0;
    padding: 0;
}

.ck.ck-content h2.document-title {
    font-family: 'Bebas Neue';
    font-size: 50px;
    font-weight: bold;
    margin: 0;
    padding: 0;
    border: 0;
}

.ck.ck-content h3.document-subtitle {
    font-size: 20px;
    color: #e91e63;
    margin: 0 0 1em;
    font-weight: normal;
    padding: 0;
}

.ck.ck-content p.info-box {
    --background-size: 30px;
    --background-color: #e91e63;
    padding: 1.2em 2em;
    border: 1px solid var(--background-color);
    background: linear-gradient(135deg, var(--background-color) 0%, var(--background-color) var(--background-size), transparent var(--background-size)), linear-gradient(135deg, transparent calc(100% - var(--background-size)), var(--background-color) calc(100% - var(--background-size)), var(--background-color));
    border-radius: 10px;
    margin: 1.5em 2em;
    box-shadow: 5px 5px 0 #ffe6ef;
}

.ck.ck-content blockquote.side-quote {
    font-family: 'Bebas Neue';
    font-style: normal;
    float: right;
    width: 35%;
    position: relative;
    border: 0;
    overflow: visible;
    z-index: 1;
    margin-left: 1em;
}

.ck.ck-content blockquote.side-quote::before {
    content: "“";
    position: absolute;
    top: -37px;
    left: -10px;
    display: block;
    font-size: 200px;
    color: #e7e7e7;
    z-index: -1;
    line-height: 1;
}

.ck.ck-content blockquote.side-quote p {
    font-size: 2em;
    line-height: 1;
}

.ck.ck-content blockquote.side-quote p:last-child:not(:first-child) {
    font-size: 1.3em;
    text-align: right;
    color: #555;
}

.ck.ck-content span.marker {
    background: yellow;
}

.ck.ck-content span.spoiler {
    background: #000;
    color: #000;
}

.ck.ck-content span.spoiler:hover {
    background: #000;
    color: #fff;
}

.ck.ck-content pre.fancy-code {
    border: 0;
    margin-left: 2em;
    margin-right: 2em;
    border-radius: 10px;
}

.ck.ck-content pre.fancy-code::before {
    content: "";
    display: block;
    height: 13px;
    background: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NCAxMyI+CiAgPGNpcmNsZSBjeD0iNi41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiNGMzZCNUMiLz4KICA8Y2lyY2xlIGN4PSIyNi41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiNGOUJFNEQiLz4KICA8Y2lyY2xlIGN4PSI0Ny41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiM1NkM0NTMiLz4KPC9zdmc+Cg==);
    margin-bottom: 8px;
    background-repeat: no-repeat;
}

.ck.ck-content pre.fancy-code-dark {
    background: #272822;
    color: #fff;
    box-shadow: 5px 5px 0 #0000001f;
}

.ck.ck-content pre.fancy-code-bright {
    background: #dddfe0;
    color: #000;
    box-shadow: 5px 5px 0 #b3b3b3;
}

.ck-dropdown .ck-list {
    max-height: 150px !important;
    overflow-y: auto !important;
}

.ck.ck-content hr {
    width: 100%;
    border: none;
    border-top: 3px solid #c7c7c7;
    margin: 1em 0;
}

.ck-media__wrapper {
    max-width: 640px;
    margin: 0 auto;
}

.ck-media__wrapper > div {
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
}

.ck-media__wrapper iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.ck-content {
    overflow-x: auto;   /* 가로 스크롤 가능 */
}

.ck-content table {
    width: auto !important;      /* 100% 강제 축소 제거 */
    min-width: 680px;            /* 최소 폭 지정 (원하는 값으로 조정) */
    max-width: none !important;  /* CKEditor 기본 제한 해제 */
    table-layout: auto;          /* 내용에 따라 크기 */
}