@font-face{font-family:NanumMyeongjo;src:url(/fonts/NanumMyeongjo.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:NanumMyeongjo;src:url(/fonts/NanumMyeongjoBold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:NanumMyeongjo;src:url(/fonts/NanumMyeongjoExtraBold.otf) format("opentype");font-weight:800;font-style:normal;font-display:swap}:root{color-scheme:dark;--color-background:#0a0a0a;--color-foreground:#171717;--color-foreground-alt:#262626;--color-border:#404040;--color-border-light:#525252;--color-text-primary:#f5f5f5;--color-text-secondary:#a3a3a3;--transition-fast:0.15s ease-in-out;--transition-base:0.2s ease-in-out;--transition-slow:0.3s cubic-bezier(0.4,0,0.2,1);--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 8px rgba(0,0,0,0.3);--shadow-lg:0 8px 16px rgba(0,0,0,0.3);--shadow-xl:0 12px 24px rgba(0,0,0,0.4);--radius-xs:0.25rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-background);color:var(--color-text-primary);margin:0;padding:0;font-family:NanumMyeongjo,serif;font-size:1rem;line-height:1.6;letter-spacing:.3px;text-rendering:optimizeLegibility}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-foreground)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2;letter-spacing:-.01em;font-weight:600}h1{font-size:clamp(1.875rem,5vw,2.5rem);line-height:1.1}h2{font-size:clamp(1.5rem,4vw,2rem);line-height:1.15}h3{font-size:clamp(1.25rem,3vw,1.5rem);line-height:1.2}h4{font-size:1.125rem;line-height:1.25}h5{font-size:1rem;line-height:1.3}h6{font-size:.875rem;line-height:1.4}p{margin:0;line-height:1.8;letter-spacing:.3px}a{color:inherit;text-decoration:none;transition:color var(--transition-base);outline:none}a:hover{color:var(--color-text-secondary)}a:focus-visible{outline:2px solid var(--color-border);outline-offset:2px;border-radius:var(--radius-sm)}ol,ul{padding:0;list-style:none}li,ol,ul{margin:0}code,pre{font-family:Courier New,monospace;font-size:.875rem;line-height:1.5;letter-spacing:0}code{background-color:var(--color-foreground-alt);color:var(--color-text-primary);padding:.125rem .375rem;border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word}pre{background-color:var(--color-foreground);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;overflow-x:auto;margin:1rem 0}pre code{background-color:transparent;color:var(--color-text-primary);padding:0;border-radius:0}input,select,textarea{font:inherit;color:inherit;background-color:var(--color-foreground);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem 1rem;transition:all var(--transition-base)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-border-light);box-shadow:0 0 0 2px rgba(255,255,255,.1)}input::placeholder,textarea::placeholder{color:var(--color-text-secondary);opacity:.7}button{cursor:pointer;transition:all var(--transition-base)}button:focus-visible{outline:2px solid var(--color-border);outline-offset:2px}table{width:100%;border-collapse:collapse;margin:1.5rem 0}td,th{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border)}th{font-weight:600;letter-spacing:.02em}th,tr:hover{background-color:var(--color-foreground-alt)}blockquote{margin:1.5rem 0;padding-left:1rem;border-left:3px solid var(--color-border-light);color:var(--color-text-secondary);font-style:italic;font-size:1.025rem;line-height:1.8}hr{border:none;height:1px;background-color:var(--color-border);margin:2rem 0}img{max-width:100%;height:auto;display:block;border-radius:var(--radius-md)}::selection{background-color:var(--color-border-light);color:var(--color-background)}::-moz-selection{background-color:var(--color-border-light);color:var(--color-background)}:focus-visible{outline:2px solid var(--color-border);outline-offset:2px}*{transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}*,:after,:before{box-sizing:border-box}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.spin{animation:spin 1s linear infinite}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.fade-in{animation:fadeIn .3s ease-in-out}.slide-in-up{animation:slideInUp .3s ease-in-out}.slide-in-down{animation:slideInDown .3s ease-in-out}.slide-in-left{animation:slideInLeft .3s ease-in-out}.slide-in-right{animation:slideInRight .3s ease-in-out}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:768px){html{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.15rem}body{padding:0 1rem}}@media (max-width:480px){html{font-size:13px}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1rem}}@media (prefers-contrast:more){:root{--color-border:#525252;--color-border-light:#737373}a:focus-visible,button:focus-visible{outline-width:3px}}@media (prefers-color-scheme:dark){body{background-color:var(--color-background);color:var(--color-text-primary)}}@media print{body{background-color:white;color:black}a{color:blue}a[href]:after{content:" (" attr(href) ")"}h1,h2,h3,h4,h5,h6{page-break-after:avoid}blockquote,p{page-break-inside:avoid}}