@import "https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;600;700;900&family=Noto+Sans+KR:wght@300;400;500;700&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:15px}img{max-width:100%;display:block}button{cursor:pointer}a{color:inherit;text-decoration:none}input,textarea,select{font-family:inherit}:root,[data-theme=dark]{--c-bg:#0a0a09;--c-ink:#0a0a09;--c-paper:#f0eee8;--c-cream:#161614;--c-card:#111110;--c-border:#2a2a27;--c-muted:#666660;--c-gold:#c8982a;--c-gold-lt:#e8bf5a;--c-gold-dim:#c8982a18;--c-red:#c0392b;--c-red-dim:#c0392b18;--c-green:#27ae60;--c-green-dim:#27ae6018;--c-blue:#4a9ecc;--c-blue-dim:#4a9ecc18;--c-sidebar:#0d0d0b;--c-white:#f0eee8;--c-black:#0a0a09;--c-gray-1:#111110;--c-gray-2:#1a1a18;--c-gray-3:#2a2a27;--c-gray-4:#444440;--c-gray-5:#666660;--c-gray-6:#888882;--c-gray-7:#aaa;--f-serif:"Noto Serif KR", Georgia, serif;--f-sans:"Noto Sans KR", -apple-system, sans-serif;--f-mono:"Space Mono", "Courier New", monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--max-width:1400px;--pad-x:40px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 40px #00000080;--t-fast:all .15s ease;--t-normal:all .25s ease;--t-slow:all .4s cubic-bezier(.4, 0, .2, 1);--z-base:1;--z-nav:100;--z-overlay:200;--z-modal:300;--z-toast:400}[data-theme=light]{--c-bg:#f5f3ee;--c-ink:#0f0e0a;--c-paper:#0f0e0a;--c-cream:#eae7df;--c-card:#fdfcf9;--c-border:#d4cfc5;--c-muted:#7a7368;--c-gold:#b8881a;--c-gold-lt:#d8af4a;--c-gold-dim:#c8982a18;--c-red:#c0392b;--c-red-dim:#c0392b18;--c-green:#1e8449;--c-green-dim:#27ae6018;--c-blue:#2980b9;--c-blue-dim:#2980b918;--c-sidebar:#16150f;--c-white:#0f0e0a;--c-black:#f5f3ee;--c-gray-1:#fdfcf9;--c-gray-2:#f0ede5;--c-gray-3:#d4cfc5;--c-gray-4:#aaa;--c-gray-5:#888882;--c-gray-6:#666660;--c-gray-7:#444440;--shadow-sm:0 1px 3px #0f0e0a14;--shadow-md:0 4px 16px #0f0e0a1f;--shadow-lg:0 8px 40px #0f0e0a2e}body{font-family:var(--f-sans);background:var(--c-bg);color:var(--c-paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7;transition:background .3s,color .3s;overflow-x:hidden}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:var(--c-gray-2)}::-webkit-scrollbar-thumb{background:var(--c-gray-5)}::-webkit-scrollbar-thumb:hover{background:var(--c-gold)}.container{max-width:var(--max-width);padding:0 var(--pad-x);margin:0 auto}.grid-2{grid-template-columns:repeat(2,1fr);gap:2px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.grid-bordered{background:var(--c-gray-3);border:1px solid var(--c-gray-3)}.card{background:var(--c-card);border:1px solid var(--c-gray-3);transition:var(--t-fast)}.card-clickable{cursor:pointer}.card-clickable:hover{border-color:var(--c-gold);box-shadow:var(--shadow-sm)}[data-theme=dark] .card-clickable:hover{background:#161614}[data-theme=light] .card-clickable:hover{background:#fff}.t-eyebrow{font-family:var(--f-mono);color:var(--c-gold);letter-spacing:3px;text-transform:uppercase;font-size:10px}.t-caption{font-family:var(--f-mono);color:var(--c-muted);letter-spacing:1px;font-size:11px}.t-source{font-family:var(--f-mono);color:var(--c-gray-5);letter-spacing:1px;font-size:10px}.btn{font-family:var(--f-sans);cursor:pointer;transition:var(--t-fast);letter-spacing:.3px;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:13px;font-weight:600;display:inline-flex}.btn-gold{background:var(--c-gold);color:var(--c-black)}.btn-gold:hover{background:var(--c-gold-lt)}.btn-outline{color:var(--c-paper);border:1px solid var(--c-gray-3);background:0 0}.btn-outline:hover{border-color:var(--c-gold);color:var(--c-gold)}.btn-ghost{color:var(--c-muted);background:0 0;border:none}.btn-ghost:hover{color:var(--c-paper)}.btn-sm{padding:6px 14px;font-size:12px}.btn-lg{padding:13px 28px;font-size:14px}.btn-full{width:100%}.theme-toggle{background:var(--c-gray-3);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.theme-toggle:after{content:"";background:var(--c-gold);border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}[data-theme=light] .theme-toggle{background:var(--c-gray-3)}[data-theme=light] .theme-toggle:after{transform:translate(16px)}.input{background:var(--c-gray-2);border:1px solid var(--c-gray-3);width:100%;color:var(--c-paper);font-size:14px;font-family:var(--f-sans);outline:none;padding:10px 14px;transition:border-color .15s}.input:focus{border-color:var(--c-gold)}.input::placeholder{color:var(--c-gray-5)}.label{font-family:var(--f-mono);color:var(--c-muted);letter-spacing:1px;margin-top:12px;margin-bottom:6px;font-size:11px;display:block}.badge{font-family:var(--f-mono);letter-spacing:1px;align-items:center;gap:5px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-flex}.badge-green{background:var(--c-green-dim);color:var(--c-green)}.badge-gold{background:var(--c-gold-dim);color:var(--c-gold)}.badge-gray{background:var(--c-gray-3);color:var(--c-gray-6)}.badge-red{background:var(--c-red-dim);color:var(--c-red)}.tag{background:var(--c-gray-2);border:1px solid var(--c-gray-3);color:var(--c-muted);font-size:11px;font-family:var(--f-mono);padding:2px 8px;display:inline-block}.source-badge{background:var(--c-gray-2);border:1px solid var(--c-gray-3);font-family:var(--f-mono);color:var(--c-gray-6);letter-spacing:.5px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;display:inline-flex}.modal-overlay{z-index:var(--z-modal);background:#000c;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--c-gray-1);border:1px solid var(--c-gray-3);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-lg);overflow-y:auto}.modal-header{border-bottom:1px solid var(--c-gray-3);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{font-family:var(--f-serif);color:var(--c-paper);font-size:18px;font-weight:700}.modal-body{padding:24px}.avatar{font-family:var(--f-mono);background:var(--c-gray-2);color:var(--c-gold);border:1px solid var(--c-gray-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-sm{width:32px;height:32px;font-size:12px}.avatar-md{width:44px;height:44px;font-size:16px}.avatar-lg{width:56px;height:56px;font-size:20px}.divider{border:none;border-top:1px solid var(--c-gray-3);margin:24px 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes shimmer{0%,to{opacity:.4}50%{opacity:.8}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-up{animation:.25s fadeUp}.skeleton{background:linear-gradient(90deg, var(--c-gray-2) 25%, var(--c-gray-3) 50%, var(--c-gray-2) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}.section-header{border-bottom:2px solid var(--c-gray-3);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.section-header-line{background:var(--c-gray-3);flex:1;height:1px;margin:0 16px}.prose{font-family:var(--f-serif);color:var(--c-paper);font-size:17px;line-height:1.9}.prose p{margin-bottom:1.4em}.prose h2{margin:2em 0 .8em;font-size:22px;font-weight:700}.prose h3{margin:1.6em 0 .6em;font-size:18px;font-weight:700}.prose a{color:var(--c-gold);text-underline-offset:3px;text-decoration:underline}.prose blockquote{border-left:3px solid var(--c-gold);background:var(--c-gray-2);margin:1.4em 0;padding:12px 20px;font-style:italic}@media (width<=1024px){:root{--pad-x:24px}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){:root{--pad-x:16px;font-size:14px}.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.grid-4{grid-template-columns:1fr}}@media print{body{color:#000;background:#fff}.no-print{display:none}}
