@import url('../fonts/noto-serif-kr/400.css?v=20260920');
/* Shared palette for the warm reading edition. */
:root {
    color-scheme: light;
    --bg: #f4f0e6;
    --paper: #fffdf7;
    --text: #34382f;
    --muted: #706f63;
    --accent: #354338;
    --border: #d9d3c6;
    --sage: #e6e9dc;
    --serif: 'Noto Serif KR', 'Nanum Myeongjo', 'Batang', 'AppleMyungjo', Georgia, serif;
    --sans: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', sans-serif;
    --motion-fast: 140ms;
    --motion-medium: 240ms;
    --ease-out: cubic-bezier(.22, 1, .36, 1);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { background: var(--bg); color: var(--text); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; cursor: pointer; }
a { color: inherit; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
button:disabled { cursor: default; }
button, .primary-link { transition: background-color var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast) var(--ease-out); touch-action: manipulation; }
button:active:not(:disabled), .primary-link:active { transform: scale(.97); }
button[aria-busy="true"] { opacity: .6; cursor: progress; }
summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.disclosure-content { display: flow-root; min-width: 0; }
.ui-toast { position: fixed; left: 50%; bottom: calc(var(--qt-toolbar-height, 0px) + 14px); transform: translateX(-50%); z-index: 180; max-width: calc(100vw - 40px); width: max-content; padding: 11px 17px; border-radius: 14px; background: #354338f5; color: #fffdf7; box-shadow: 0 8px 28px #29312422; font-size: 13px; line-height: 1.7; text-align: center; pointer-events: none; }
::selection { background: #d4ddc6; color: #253729; }
[hidden] { display: none !important; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.eyebrow { color: var(--muted); font-size: 11px; font-weight: 600; letter-spacing: .16em; line-height: 1.7; }
.brand-link { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-size: 17px; font-weight: 650; letter-spacing: -.04em; }
.brand-mark { width: 32px; height: 32px; padding: 6px; border: 1px solid var(--border); border-radius: 50%; color: var(--accent); }
.primary-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 30px; min-height: 48px; padding: 13px 20px; border: 1px solid var(--accent); background: var(--accent); color: var(--paper); text-decoration: none; border-radius: 7px; font-size: 14px; font-weight: 550; transition: background .2s, transform .2s; }
.primary-link:hover { background: #465747; transform: translateY(-1px); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
