/* Fonts: LINE Seed KR */
@font-face {
    font-family: 'LineSeed';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_11-01@1.0/LINESeedKR-Th.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}
@font-face {
    font-family: 'LineSeed';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_11-01@1.0/LINESeedKR-Rg.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'LineSeed';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_11-01@1.0/LINESeedKR-Bd.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

body,
.published-container,
.markdown-preview-view,
.markdown-rendered,
.site-body {
    font-family: 'LineSeed', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    --font-text-theme: 'LineSeed', sans-serif;
    --font-interface-theme: 'LineSeed', sans-serif;
    --font-default: 'LineSeed', sans-serif;
    --font-text: 'LineSeed', sans-serif;
    --font-interface: 'LineSeed', sans-serif;
}
code, pre, .markdown-rendered code, .markdown-rendered pre {
    font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace !important;
}

/* GitHub Theme — variables */
body {
    --blockquote-border-thickness: 2px;
    --blockquote-border-color: var(--interactive-accent);
    --bold-weight: 600;
    --border-width: 1px;
    --callout-border-width: 0;
    --callout-padding: 0 1em;
    --callout-radius: 0;
    --callout-blend-mode: var(--highlight-mix-blend-mode);
    --callout-bug: var(--color-red-rgb);
    --callout-default: var(--color-blue-rgb);
    --callout-error: var(--color-red-rgb);
    --callout-example: var(--color-purple-rgb);
    --callout-fail: var(--color-red-rgb);
    --callout-important: var(--color-cyan-rgb);
    --callout-info: var(--color-blue-rgb);
    --callout-question: var(--color-yellow-rgb);
    --callout-success: var(--color-green-rgb);
    --callout-summary: var(--color-cyan-rgb);
    --callout-tip: var(--color-cyan-rgb);
    --callout-todo: var(--color-blue-rgb);
    --callout-warning: var(--color-orange-rgb);
    --callout-quote: 158, 158, 158;
    --checkbox-radius: 4px;
    --checkbox-color: var(--interactive-accent);
    --checkbox-border-color: var(--text-faint);
    --checklist-done-decoration: line-through;
    --checklist-done-color: var(--text-muted);
    --code-white-space: pre-wrap;
    --code-size: 0.875em;
    --code-background: var(--background-primary-alt);
    --code-normal: var(--text-muted);
    --code-comment: var(--text-faint);
    --code-function: var(--color-orange);
    --code-important: var(--color-orange);
    --code-keyword: var(--color-red);
    --code-property: var(--color-blue);
    --code-punctuation: var(--text-muted);
    --code-string: var(--color-cyan);
    --code-tag: var(--color-red);
    --code-value: var(--color-purple);
    --embed-border-left: 2px solid var(--interactive-accent);
    --embed-padding: 0 0 0 24px;
    --file-line-width: 700px;
    --font-smaller: 0.875em;
    --footnote-size: 0.875em;
    --h1-color: var(--h-color-theme);
    --h2-color: var(--h-color-theme);
    --h3-color: var(--h-color-theme);
    --h4-color: var(--h-color-theme);
    --h5-color: var(--h-color-theme);
    --h6-color: var(--h-color-theme);
    --h1-size: 2em;
    --h2-size: 1.6em;
    --h3-size: 1.37em;
    --h4-size: 1.25em;
    --h5-size: 1.12em;
    --h6-size: 1.12em;
    --h1-weight: 700;
    --h2-weight: 600;
    --h3-weight: 600;
    --h4-weight: 600;
    --h5-weight: 600;
    --h6-weight: 600;
    --hr-color: var(--background-modifier-border);
    --hr-thickness: 2px;
    --line-height-normal: 1.5;
    --line-height-tight: 1.3;
    --link-color: var(--text-accent);
    --link-color-hover: var(--text-accent-hover);
    --link-decoration: none;
    --link-decoration-hover: underline;
    --link-external-color: var(--text-accent);
    --link-unresolved-color: var(--text-accent);
    --link-unresolved-opacity: 0.7;
    --list-indent: 2em;
    --list-spacing: 0.075em;
    --list-marker-color: var(--text-normal);
    --radius-s: 4px;
    --radius-m: 8px;
    --radius-l: 12px;
    --size-2-3: 6px;
    --size-4-3: 12px;
    --table-border-width: 1px;
    --table-border-color: var(--background-modifier-border);
    --tag-size: 0.875em;
    --tag-color: var(--text-accent);
    --tag-background: hsla(var(--interactive-accent-hsl), 0.1);
    --tag-border-color: hsla(var(--interactive-accent-hsl), 0.15);
    --tag-radius: 2em;
    --tag-padding-x: 0.65em;
    --tag-padding-y: 0.25em;
    /* Color mappings */
    --background-primary: var(--color-base-00);
    --background-primary-alt: var(--color-base-10);
    --background-secondary: var(--color-base-20);
    --background-modifier-border: var(--color-base-30);
    --text-normal: var(--color-base-100);
    --text-muted: var(--color-base-70);
    --text-faint: var(--color-base-50);
    --text-accent: var(--color-accent);
    --text-accent-hover: var(--color-accent-2);
    --text-on-accent: white;
    --interactive-accent-hsl: var(--color-accent-hsl);
    --interactive-accent: var(--color-accent-1);
    --interactive-accent-hover: var(--color-accent-2);
}

.theme-dark {
    color-scheme: dark;
    --highlight-mix-blend-mode: lighten;
    --color-red-rgb: 248, 81, 73;
    --color-red: #F47067;
    --color-green-rgb: 126, 231, 135;
    --color-green: #7ee787;
    --color-orange: #FFA657;
    --color-yellow: #d29922;
    --color-cyan: #A5D6FF;
    --color-blue: #6CB6FF;
    --color-purple: #D2A8FF;
    --color-pink: #f778ba;

    --color-base-00: #0d1117;
    --color-base-10: #161b22;
    --color-base-20: #161b22;
    --color-base-30: #30363d;
    --color-base-50: #6e7681;
    --color-base-70: #8b949e;
    --color-base-100: #c9d1d9;

    --accent-h: 212;
    --accent-s: 100%;
    --accent-l: 67%;
    --color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l);
    --color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));
    --color-accent-1: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 3.8%));
    --color-accent-2: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 3.8%));

    --text-highlight-bg: rgba(255, 208, 0, 0.4);
    --inline-code-background: #6e768166;
    --h-color-theme: var(--color-green);
}

.theme-light {
    color-scheme: light;
    --highlight-mix-blend-mode: darken;
    --color-red-rgb: 228, 55, 75;
    --color-red: #cf222e;
    --color-green-rgb: 12, 181, 79;
    --color-green: #0cb54f;
    --color-orange: #d96c00;
    --color-yellow: #BD8E37;
    --color-cyan: #2db7b5;
    --color-blue: #086DDD;
    --color-purple: #876be0;
    --color-pink: #C32B74;

    --color-base-00: #ffffff;
    --color-base-10: #f6f8fa;
    --color-base-20: #f6f8fa;
    --color-base-30: #d0d7de;
    --color-base-50: #6e7781;
    --color-base-70: #57606a;
    --color-base-100: #24292f;

    --accent-h: 212;
    --accent-s: 92%;
    --accent-l: 45%;
    --color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l);
    --color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));
    --color-accent-1: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 2.5%));
    --color-accent-2: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 5%));

    --text-highlight-bg: rgba(255, 208, 0, 0.4);
    --inline-code-background: #aeb8c133;
    --h-color-theme: var(--text-normal);
}

/* Tables */
.markdown-rendered td,
.markdown-rendered th {
    padding: var(--size-2-3) var(--size-4-3);
}
.markdown-rendered th {
    text-align: center;
}
.markdown-rendered tbody tr:nth-child(2n) {
    background-color: var(--background-secondary);
}

/* GitHub-style callout */
.callout {
    border-left: 0.25em solid var(--color-base-30);
    background-color: transparent;
    color: var(--text-muted);
}
.callout-content p {
    margin: 0.1em 0;
}

/* Inline code */
.markdown-rendered :not(pre) > code {
    background-color: var(--inline-code-background);
    padding: 0.2em 0.4em;
    border-radius: 6px;
    color: var(--text-normal);
}
