@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";
:root{--colors-canvas:#faf9f5;--colors-surface-soft:#f5f0e8;--colors-surface-card:#efe9de;--colors-surface-cream-strong:#e8e0d2;--colors-surface-dark:#181715;--colors-surface-dark-elevated:#252320;--colors-surface-dark-soft:#1f1e1b;--colors-hairline:#e6dfd8;--colors-hairline-soft:#ebe6df;--colors-primary:#cc785c;--colors-primary-active:#a9583e;--colors-primary-disabled:#e6dfd8;--colors-accent-teal:#5db8a6;--colors-accent-amber:#e8a55a;--colors-ink:#141413;--colors-body-strong:#252523;--colors-body:#3d3d3a;--colors-muted:#6c6a64;--colors-muted-soft:#8e8b82;--colors-on-primary:#fff;--colors-on-dark:#faf9f5;--colors-on-dark-soft:#a09d96;--colors-success:#5db872;--colors-warning:#d4a017;--colors-error:#c64545;--font-serif:"Cormorant Garamond", Garamond, "Times New Roman", serif;--font-sans:"Pretendard", -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--rounded-xs:4px;--rounded-sm:6px;--rounded-md:8px;--rounded-lg:12px;--rounded-xl:16px;--rounded-pill:9999px;--spacing-xxs:4px;--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--spacing-section:96px;--transition-fast:.15s ease;--transition-normal:.25s ease;--hero-orb:#f4dbd080;--marquee-opacity:.3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--colors-canvas:#161512;--colors-surface-soft:#1d1b18;--colors-surface-card:#252320;--colors-surface-cream-strong:#2e2b26;--colors-surface-dark:#100f0d;--colors-surface-dark-elevated:#252320;--colors-surface-dark-soft:#1a1916;--colors-hairline:#312e29;--colors-hairline-soft:#262420;--colors-primary:#d98a6d;--colors-primary-active:#e6a288;--colors-primary-disabled:#3a352f;--colors-ink:#faf9f5;--colors-body-strong:#e8e5de;--colors-body:#cfccc4;--colors-muted:#a09d96;--colors-muted-soft:#807d75;--colors-on-dark:#faf9f5;--colors-on-dark-soft:#a09d96;--hero-orb:#cc785c24;--marquee-opacity:.22;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit}html{scroll-behavior:smooth}:focus-visible{outline:2px solid var(--colors-primary);outline-offset:2px}::selection{background:color-mix(in srgb, var(--colors-primary) 25%, transparent);color:var(--colors-ink)}body{background-color:var(--colors-canvas);color:var(--colors-body);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}h1,h2,h3,h4,.serif-display{font-family:var(--font-sans);color:var(--colors-ink);letter-spacing:-.02em;word-break:keep-all;overflow-wrap:break-word;font-weight:600;line-height:1.15}h1{font-size:48px}@media (max-width:768px){h1{font-size:32px}}h2{font-size:36px}h3{font-size:28px}p{color:var(--colors-body);word-break:keep-all;overflow-wrap:break-word;font-size:16px}a{color:inherit;text-decoration:none}.container{max-width:1200px;padding:0 var(--spacing-lg);width:100%;margin:0 auto}.section-spacing{padding:var(--spacing-section) 0}.btn{border-radius:var(--rounded-md);cursor:pointer;height:40px;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border:none;justify-content:center;align-items:center;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--colors-primary);color:var(--colors-on-primary)}.btn-primary:hover:not(:disabled){background-color:var(--colors-primary-active)}.btn-primary:active:not(:disabled){background-color:color-mix(in srgb, var(--colors-primary-active) 85%, var(--colors-ink))}.btn-primary:disabled{background-color:var(--colors-primary-disabled);color:var(--colors-muted-soft);cursor:not-allowed}.btn-secondary{background-color:var(--colors-canvas);color:var(--colors-ink);border:1px solid var(--colors-hairline)}.btn-secondary:hover:not(:disabled){background-color:var(--colors-surface-soft)}.btn-secondary:active:not(:disabled){background-color:var(--colors-surface-cream-strong)}.btn-secondary-on-dark{background-color:var(--colors-surface-dark-elevated);color:var(--colors-on-dark);border:1px solid var(--colors-surface-dark-soft)}.btn-secondary-on-dark:hover{background-color:var(--colors-surface-dark-soft)}.btn-text{height:auto;color:var(--colors-muted);background:0 0;padding:0}.btn-text:hover{color:var(--colors-ink)}.text-link{color:var(--colors-primary);text-underline-offset:3px;transition:text-decoration-color var(--transition-fast);font-weight:500;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.text-link:hover{text-decoration-color:currentColor}.icon-btn{border-radius:var(--rounded-md);border:1px solid var(--colors-hairline);width:34px;height:34px;color:var(--colors-muted);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--colors-ink);background-color:var(--colors-surface-soft)}.icon-btn:active{background-color:var(--colors-surface-cream-strong)}.card-cream{background-color:var(--colors-surface-card);border:1px solid var(--colors-hairline);border-radius:var(--rounded-lg);padding:var(--spacing-xl)}.card-dark{background-color:var(--colors-surface-dark);border-radius:var(--rounded-lg);padding:var(--spacing-xl);color:var(--colors-on-dark)}.card-coral{background-color:var(--colors-primary);color:var(--colors-on-primary);border-radius:var(--rounded-lg);padding:var(--spacing-xxl)}.badge{border-radius:var(--rounded-pill);align-items:center;padding:4px 12px;font-size:13px;font-weight:500;display:inline-flex}.badge-cream{background-color:var(--colors-surface-soft);color:var(--colors-ink);border:1px solid var(--colors-hairline)}.badge-coral{background-color:var(--colors-primary);color:var(--colors-on-primary);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.form-group{margin-bottom:var(--spacing-md)}.form-label{color:var(--colors-body-strong);margin-bottom:var(--spacing-xs);font-size:14px;font-weight:500;display:block}.input-text{border-radius:var(--rounded-md);border:1px solid var(--colors-hairline);background-color:var(--colors-canvas);width:100%;height:40px;color:var(--colors-ink);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:10px 14px;font-family:inherit;font-size:16px}.input-text:focus{border-color:var(--colors-primary);box-shadow:0 0 0 3px #cc785c26}.rich-content{color:var(--colors-body);word-break:keep-all;overflow-wrap:break-word;font-size:15px;line-height:1.75}.rich-content p{font-size:inherit;margin:0 0 .6em}.rich-content h2,.rich-content h3{margin:1.2em 0 .5em;line-height:1.3}.rich-content h2{font-size:20px}.rich-content h3{font-size:17px}.rich-content ul,.rich-content ol{margin:0 0 .6em;padding-left:1.5em}.rich-content li{margin-bottom:.2em}.rich-content blockquote{border-left:3px solid var(--colors-primary);color:var(--colors-muted);margin:.8em 0;padding:2px 0 2px 14px}.rich-content pre{background-color:var(--colors-surface-dark);color:var(--colors-on-dark);border-radius:var(--rounded-md);font-family:var(--font-mono);white-space:pre;margin:.8em 0;padding:14px 16px;font-size:13px;line-height:1.6;overflow-x:auto}.rich-content code{font-family:var(--font-mono);background-color:var(--colors-surface-cream-strong);border-radius:var(--rounded-xs);padding:1px 5px;font-size:.9em}.rich-content pre code{font-size:inherit;background:0 0;padding:0}.rich-content a{color:var(--colors-primary);text-underline-offset:3px;text-decoration:underline}.rich-content hr{border:none;border-top:1px solid var(--colors-hairline);margin:1.2em 0}.rte-wrapper{border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);background-color:var(--colors-canvas)}.rte-wrapper:focus-within{border-color:var(--colors-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--colors-primary) 15%, transparent)}.rte-toolbar{border-bottom:1px solid var(--colors-hairline-soft);background-color:var(--colors-surface-soft);z-index:30;border-top-left-radius:var(--rounded-md);border-top-right-radius:var(--rounded-md);flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;display:flex;position:sticky;top:64px}.rte-toolbar-actions{align-items:center;gap:6px;margin-left:auto;padding-left:8px;display:flex}.rte-btn{border-radius:var(--rounded-sm);width:30px;height:30px;color:var(--colors-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.rte-btn:hover:not(:disabled){background-color:var(--colors-surface-cream-strong);color:var(--colors-ink)}.rte-btn.active{background-color:color-mix(in srgb, var(--colors-primary) 14%, transparent);color:var(--colors-primary)}.rte-btn:disabled{opacity:.4;cursor:default}.rte-divider{background-color:var(--colors-hairline);width:1px;height:18px;margin:0 4px}.rte-area{cursor:text;outline:none;min-height:260px;padding:12px 14px}.rte-area.rich-content{font-size:14px;line-height:1.6}.rte-area.rich-content p{margin-bottom:.45em}.rte-area.rich-content h2{margin:1.1em 0 .4em;font-size:18px}.rte-area.rich-content h3{margin:1em 0 .35em;font-size:16px}.rte-area.rich-content h4{margin:.9em 0 .3em;font-size:14.5px}.rte-area.rich-content ul,.rte-area.rich-content ol{margin-bottom:.45em;padding-left:1.3em}.rte-area.rich-content blockquote{margin:.6em 0}.rte-area.rich-content pre{margin:.6em 0;padding:10px 12px;font-size:12.5px;line-height:1.55}.rte-area.rich-content table{margin:.7em 0;font-size:13px}.rte-area.rich-content th,.rte-area.rich-content td{padding:5px 9px}.rte-area.rich-content img,.rte-area.rich-content .rte-img{margin:.4em 0}.rte-area p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--colors-muted-soft);float:left;pointer-events:none;height:0}.rte-popover{border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);background-color:var(--colors-canvas);flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin-top:6px;padding:8px;display:flex}.rte-popover label{color:var(--colors-muted);white-space:nowrap;flex:220px;align-items:center;gap:6px;font-size:12px;display:flex}.rte-popover input{border:1px solid var(--colors-hairline);border-radius:var(--rounded-sm);background-color:var(--colors-canvas);min-width:0;height:30px;color:var(--colors-ink);outline:none;flex:1;padding:0 8px;font-family:inherit;font-size:13px}.rte-popover input:focus{border-color:var(--colors-primary)}.rte-popover .btn{height:30px;padding:0 12px;font-size:12.5px}.rte-img{max-width:100%;margin:.6em 0;position:relative}.rte-img img{border-radius:var(--rounded-md);border:1px solid var(--colors-hairline);width:100%;height:auto;margin:0;display:block}.rte-img.selected img{outline:2px solid var(--colors-primary);outline-offset:1px}.rte-img-handle{border-radius:var(--rounded-pill);background-color:var(--colors-primary);border:2px solid var(--colors-canvas);cursor:ew-resize;touch-action:none;width:10px;height:28px;position:absolute;top:50%;transform:translateY(-50%)}.rte-img-handle.left{left:-5px}.rte-img-handle.right{right:-5px}.rte-img-presets{border-radius:var(--rounded-sm);background-color:color-mix(in srgb, var(--colors-ink) 78%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);gap:2px;padding:3px;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.rte-img-presets button{color:var(--colors-canvas);border-radius:var(--rounded-sm);cursor:pointer;background:0 0;border:none;padding:3px 7px;font-family:inherit;font-size:11px;font-weight:600}.rte-img-presets button:hover{background-color:color-mix(in srgb, var(--colors-canvas) 20%, transparent)}.rte-img-presets button.active{background-color:var(--colors-primary)}.book-content{font-size:16px;line-height:1.85}.book-content h2{margin:1.6em 0 .6em;font-size:23px}.book-content h3{margin:1.4em 0 .5em;font-size:19px}.book-content h4{margin:1.2em 0 .4em;font-size:16.5px}.book-content img{border-radius:var(--rounded-md);border:1px solid var(--colors-hairline);max-width:100%;height:auto;margin:.6em 0}.book-content table{border-collapse:collapse;width:100%;margin:1em 0;font-size:14px}.book-content th,.book-content td{border:1px solid var(--colors-hairline);text-align:left;padding:8px 12px}.book-content th{background-color:var(--colors-surface-soft);color:var(--colors-body-strong);font-weight:600}.book-layout{grid-template-columns:264px minmax(0,1fr);align-items:start;gap:48px;padding-top:40px;display:grid}.book-toc-toggle{border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);background-color:var(--colors-surface-soft);width:100%;color:var(--colors-ink);cursor:pointer;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;font-weight:500;display:none}.book-toc-nav{max-height:calc(100vh - 120px);padding-right:8px;position:sticky;top:88px;overflow-y:auto}.book-toc-booktitle{color:var(--colors-ink);border-bottom:1px solid var(--colors-hairline);word-break:keep-all;margin-bottom:12px;padding-bottom:12px;font-size:15px;font-weight:600;display:block}.book-toc-booktitle:hover{color:var(--colors-primary)}.book-toc-part{margin-bottom:16px}.book-toc-part-title{letter-spacing:.06em;text-transform:uppercase;color:var(--colors-primary);word-break:keep-all;margin:14px 0 6px;font-size:11.5px;font-weight:600}.book-toc-chapter-title{color:var(--colors-body-strong);word-break:keep-all;margin:10px 0 4px;font-size:13px;font-weight:600}.book-toc-nav ul{margin:0;padding:0;list-style:none}.book-toc-section{color:var(--colors-muted);border-radius:var(--rounded-sm);transition:background-color var(--transition-fast), color var(--transition-fast);word-break:keep-all;padding:5px 8px;font-size:13px;display:block}.book-toc-section:hover{color:var(--colors-ink);background-color:var(--colors-surface-soft)}.book-toc-section.active{color:var(--colors-primary);background-color:color-mix(in srgb, var(--colors-primary) 10%, transparent);font-weight:600}.book-pager{border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);transition:background-color var(--transition-fast), border-color var(--transition-fast);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.book-pager:hover{background-color:var(--colors-surface-soft);border-color:var(--colors-primary)}.book-pager-label{color:var(--colors-muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.book-pager-title{color:var(--colors-ink);word-break:keep-all;font-size:14px;font-weight:500}@media (max-width:900px){.book-layout{grid-template-columns:1fr;gap:16px;padding-top:20px}.book-toc-toggle{display:flex}.book-toc-nav{border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);background-color:var(--colors-canvas);max-height:none;margin-top:8px;padding:14px;display:none;position:static}.book-toc-nav.open{display:block}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--colors-hairline);border-radius:var(--rounded-pill)}::-webkit-scrollbar-thumb:hover{background:var(--colors-muted-soft)}.card-dark ::-webkit-scrollbar-thumb{background:var(--colors-surface-dark-soft)}.card-dark ::-webkit-scrollbar-thumb:hover{background:var(--colors-muted)}.main-header{background-color:var(--colors-canvas);border-bottom:1px solid var(--colors-hairline);z-index:50;align-items:center;height:64px;display:flex;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;gap:var(--spacing-lg);display:flex}.header-logo{flex-shrink:0;align-items:center;gap:10px;display:flex}.header-logo-text{color:var(--colors-ink);letter-spacing:-.025em;font-size:18px;font-weight:650}.main-nav-desktop{justify-content:flex-end;align-items:center;gap:16px;min-width:0;display:flex}.nav-group{align-items:center;display:inline-flex;position:relative}.nav-trigger{cursor:default;background:0 0;border:none;padding:0;font-family:inherit}.nav-trigger:after{content:"";border-bottom:1px solid;border-right:1px solid;width:5px;height:5px;margin-left:7px;display:inline-block;transform:translateY(-2px)rotate(45deg)}.nav-menu{border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);background-color:color-mix(in srgb, var(--colors-canvas) 96%, transparent);min-width:150px;box-shadow:0 18px 44px color-mix(in srgb, var(--colors-ink) 10%, transparent);opacity:0;pointer-events:none;transition:opacity var(--transition-fast), transform var(--transition-fast);padding:8px;position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,-4px)}.nav-group:hover .nav-menu,.nav-group:focus-within .nav-menu{opacity:1;pointer-events:auto;transform:translate(-50%)}.nav-menu-link{border-radius:var(--rounded-sm);color:var(--colors-muted);white-space:nowrap;padding:9px 10px;font-size:13px;font-weight:550;display:block}.nav-menu-link:hover{background-color:var(--colors-surface-soft);color:var(--colors-ink)}.main-nav-mobile{background-color:var(--colors-canvas);border-bottom:1px solid var(--colors-hairline);padding:var(--spacing-md) var(--spacing-lg);z-index:49;flex-direction:column;gap:16px;display:none;position:absolute;top:64px;left:0;right:0;box-shadow:0 8px 16px #1414130a}.main-nav-mobile.open{display:flex}.menu-toggle-btn{cursor:pointer;color:var(--colors-ink);background:0 0;border:none;padding:8px;display:none}.nav-link{color:var(--colors-muted);transition:color var(--transition-fast);white-space:nowrap;font-size:13px;font-weight:550}.nav-link:hover{color:var(--colors-ink)}.header-mobile-actions{display:none}@media (max-width:768px){.menu-toggle-btn{display:block}.main-nav-desktop{display:none}.header-mobile-actions{align-items:center;margin-left:auto;margin-right:4px;display:flex}}@media (max-width:480px){.header-logo-text{font-size:16px}}.roadmap-link-btn{background-color:var(--colors-canvas);color:var(--colors-ink);border:1px solid var(--colors-hairline);border-radius:var(--rounded-md);transition:background-color var(--transition-fast)}.roadmap-link-btn:hover{background-color:var(--colors-surface-soft)}.roadmap-link-btn:active{background-color:var(--colors-surface-cream-strong)}
