@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--sidebar-w:220px;--header-h:52px;--content-max:1100px;--radius-sm:4px;--radius:6px;--radius-lg:8px;--sans:"Inter", "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, "Courier New", monospace}[data-theme=dark]{--fg:#f2f2f2;--fg-2:#d0d0d0;--fg-3:#999;--fg-4:#666;--fg-5:#444;--bg:#0d0d0d;--bg-1:#141414;--bg-2:#1a1a1a;--bg-3:#222;--bg-4:#2c2c2c;--line:#252525;--line-2:#333;--line-3:#444;--accent:#f2f2f2;--accent-fg:#0d0d0d;--success:oklch(74% .13 150);--success-bg:oklch(74% .13 150/.1);--danger:oklch(65% .18 25);--warn:oklch(78% .13 80);--info:oklch(70% .1 240);--shadow-sm:0 1px 2px #0000004d;--shadow:0 4px 12px #0006;--shadow-lg:0 16px 40px #00000080;--scrollbar-thumb:#333;--scrollbar-thumb-hover:#444}[data-theme=light]{--fg:#111;--fg-2:#333;--fg-3:#5c5c5c;--fg-4:#8c8c8c;--fg-5:#c4c4c4;--bg:#fff;--bg-1:#fafafa;--bg-2:#f5f5f5;--bg-3:#eee;--bg-4:#e4e4e4;--line:#e8e8e8;--line-2:#d6d6d6;--line-3:#bbb;--accent:#111;--accent-fg:#fff;--success:oklch(50% .15 150);--success-bg:oklch(50% .15 150/.08);--danger:oklch(52% .2 25);--warn:oklch(58% .16 70);--info:oklch(50% .13 240);--shadow-sm:0 1px 2px #0000000f;--shadow:0 4px 12px #00000014;--shadow-lg:0 16px 40px #0000001f;--scrollbar-thumb:#c8c8c8;--scrollbar-thumb-hover:#aaa}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--sans);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01";line-height:1.6}h1,h2,h3,h4,h5,h6{line-height:1.2}::selection{background:var(--fg);color:var(--bg)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}h1,h2,h3,h4{letter-spacing:-.015em;font-weight:600;line-height:1.2}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}input,textarea,select{font:inherit;color:inherit}.mono{font-family:var(--mono);font-feature-settings:"tnum" 1;letter-spacing:-.02em}.section-label{color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:500}.brand{letter-spacing:-.01em;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.brand-mark{background:var(--fg);width:18px;height:18px;color:var(--bg);font-size:11px;font-weight:700;font-family:var(--mono);letter-spacing:0;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.avatar{background:var(--bg-3);border:1px solid var(--line);color:var(--fg-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:500;display:inline-flex}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius)}.badge{background:var(--bg-3);border:1px solid var(--line);height:20px;color:var(--fg-2);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:0 7px;font-size:11px;font-weight:500;display:inline-flex}.badge-success{color:var(--success);border-color:color-mix(in oklch, var(--success), transparent 60%);background:var(--success-bg)}.badge-danger{color:var(--danger);border-color:color-mix(in oklch, var(--danger), transparent 60%)}.badge-warn{color:var(--warn);border-color:color-mix(in oklch, var(--warn), transparent 60%)}.badge-solid{background:var(--fg);color:var(--bg);border-color:var(--fg)}.badge-outline{background:0 0}.btn{border:1px solid var(--line-2);border-radius:var(--radius-sm);height:32px;color:var(--fg);white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{background:var(--bg-3);border-color:var(--line-3)}.btn:focus-visible{outline:2px solid var(--fg-3);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-primary:hover{opacity:.88;background:var(--accent);border-color:var(--accent)}.btn-ghost{border-color:#0000}.btn-ghost:hover{background:var(--bg-3);border-color:#0000}.btn-sm{border-radius:4px;height:26px;padding:0 8px;font-size:12px}.btn-lg{height:38px;padding:0 16px;font-size:14px}.input{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);width:100%;height:34px;color:var(--fg);padding:0 10px;font-size:13px;transition:border-color .12s,background .12s}.input:hover{border-color:var(--line-3)}.input:focus{border-color:var(--fg);background:var(--bg);outline:none}.input::placeholder{color:var(--fg-4)}.input-lg{height:40px;padding:0 14px;font-size:14px}.kbd{height:18px;font-family:var(--mono);background:var(--bg-3);border:1px solid var(--line-2);color:var(--fg-3);border-radius:3px;align-items:center;padding:0 5px;font-size:10px;font-weight:500;display:inline-flex}.hr{background:var(--line);border:0;height:1px}.page-header{border-bottom:1px solid var(--line);padding:18px 32px}.page-title{color:var(--fg);letter-spacing:-.025em;font-size:26px;font-weight:600}.page-subtitle{color:var(--fg-3);margin-top:4px;font-size:13px}.tabs{border-bottom:1px solid var(--line);gap:0;display:flex}.tab{color:var(--fg-3);padding:10px 14px;font-size:13px;font-weight:500;transition:color .12s;position:relative}.tab:hover{color:var(--fg-2)}.tab.active{color:var(--fg)}.tab.active:after{content:"";background:var(--fg);height:1px;position:absolute;bottom:-1px;left:0;right:0}.progress{background:var(--bg-3);border-radius:2px;height:4px;position:relative;overflow:hidden}.progress-fill{background:var(--fg);border-radius:2px;position:absolute;top:0;bottom:0;left:0}.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;color:var(--fg-3);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);background:var(--bg-1);padding:10px 12px;font-size:11px;font-weight:500}.tbl td{border-bottom:1px solid var(--line);color:var(--fg);padding:14px 12px;font-size:13px}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--bg-1)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:0 0}.post-body{color:var(--fg);max-width:720px;font-size:14px;line-height:1.75}.post-body p{margin-bottom:14px}.post-body strong{font-weight:600}.post-body em{font-style:italic}.post-body u{text-decoration:underline}.post-body a{color:var(--fg);text-decoration:underline}.post-body blockquote{border-left:3px solid var(--line-2);color:var(--fg-3);margin:8px 0;padding-left:12px}.post-body pre{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--mono);margin-bottom:18px;padding:14px 16px;font-size:12.5px;line-height:1.6;overflow:auto}.post-body img{border-radius:var(--radius);max-width:100%;margin:4px 0}.post-body ul{margin-bottom:14px;padding-left:20px}.post-body li{margin-bottom:4px}.editor-textarea:empty:before{content:attr(data-placeholder);color:var(--fg-4);pointer-events:none}.editor-textarea img{border-radius:var(--radius);max-width:100%;margin:4px 0}.editor-textarea blockquote{border-left:3px solid var(--line-2);color:var(--fg-3);margin:8px 0;padding-left:12px}.editor-textarea pre{background:var(--bg-3);border-radius:var(--radius-sm);font-family:var(--mono);margin:8px 0;padding:10px 14px;font-size:13px;overflow-x:auto}@keyframes fadein{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}
