:root{--c-bg:#f6f7f9;--c-surface:#fff;--c-subtle:#f9fafb;--c-chip:#f1f5f9;--c-ink:#111827;--c-text:#1f2937;--c-secondary:#374151;--c-muted:#4b5563;--c-placeholder:#6b7280;--c-border:#e5e7eb;--c-border-strong:#d1d5db;--c-tag:#334155;--c-primary:#1f5fa8;--c-primary-strong:#174a84;--c-primary-soft:#eaf1fa;--c-primary-line:#bfd3ea;--c-avatar:#e3eaf3;--c-yellow:#ffd43b;--c-yellow-ink:#3d2e00;--c-yellow-soft:#fff4c2;--c-yellow-line:#f5c451;--c-down:#c2410c;--c-alert:#e8590c;--c-disabled:#94a3b8;--c-code-bg:#0f172a;--c-code-head:#131e36;--c-code-line:#1e293b;--c-code-text:#e2e8f0;--c-code-muted:#cbd5e1;--font-sans:"IBM Plex Sans KR", system-ui, -apple-system, "Apple SD Gothic Neo", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-brand:Fredoka, Nunito, "Arial Rounded MT Bold", var(--font-sans);--radius-sm:8px;--radius:12px;--radius-lg:16px;--page-max:1280px}*,:after,:before{box-sizing:border-box}body{background:var(--c-bg);color:var(--c-ink);font-family:var(--font-sans);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.6}a{color:var(--c-primary);text-decoration:none}a:hover{color:var(--c-primary-strong);text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}::placeholder{color:var(--c-placeholder)}:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px}h1,h2,h3{margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:10;border-radius:var(--radius-sm);background:var(--c-ink);color:#fff;padding:8px 12px;position:absolute;top:-48px;left:16px}.skip-link:focus{top:8px}.page{max-width:var(--page-max);flex-wrap:wrap;align-items:flex-start;gap:24px;margin:0 auto;padding:24px;display:flex}.page--narrow{max-width:1200px;padding-top:32px}.col-side{flex:200px;gap:16px}.col-main,.col-rail,.col-side{flex-direction:column;min-width:0;display:flex}.col-main{flex:999 560px;gap:12px}.col-rail{flex:280px;gap:16px}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:20px}.card--lg{border-radius:var(--radius-lg);padding:calc(clamp(20px,4vw,40px))}.card-title{margin:0 0 12px;font-size:15px;font-weight:700}.btn{border:1px solid var(--c-border-strong);background:var(--c-surface);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:600;display:inline-flex}.btn,.btn:hover{color:var(--c-ink);text-decoration:none}.btn:hover{background:var(--c-subtle)}.btn-primary{border-color:var(--c-primary);background:var(--c-primary);color:#fff}.btn-primary:hover{border-color:var(--c-primary-strong);background:var(--c-primary-strong);color:#fff}.btn-ghost{color:var(--c-secondary);background:0 0;border-color:#0000}.btn-sm{min-height:36px;padding:0 10px;font-size:13px}.btn:disabled,.btn[aria-disabled=true]{border-color:var(--c-disabled);background:var(--c-disabled);color:#fff;cursor:not-allowed}.btn-ghost:disabled{color:var(--c-placeholder);background:0 0;border-color:#0000}.btn[aria-pressed=true],.pill[aria-current=page],.pill[aria-pressed=true]{border-color:var(--c-ink);background:var(--c-ink);color:#fff}.pill{border:1px solid var(--c-border-strong);background:var(--c-surface);min-height:44px;color:var(--c-secondary);border-radius:999px;align-items:center;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.pill,.pill:hover,.tag{text-decoration:none}.tag{background:var(--c-chip);color:var(--c-tag);font-family:var(--font-mono);border-radius:6px;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}.tag:hover{color:var(--c-ink)}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.badge{border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:13px;font-weight:600;display:inline-flex}.badge--article{background:var(--c-primary-soft);color:var(--c-primary-strong)}.badge--question{border:1px solid var(--c-border-strong);color:var(--c-secondary);padding:1px 7px}.badge--solved{background:var(--c-yellow);color:var(--c-yellow-ink)}.badge--draft{background:var(--c-chip);color:var(--c-secondary)}.badge--notice{background:var(--c-down);color:#fff}.badge--hidden{background:var(--c-secondary);color:#fff}.hidden-notice{border:1px solid var(--c-border-strong);border-radius:var(--radius);background:var(--c-chip);color:var(--c-secondary);align-items:center;gap:10px;padding:14px 18px;font-size:14px;display:flex}.stack{flex-direction:column;gap:16px;display:flex}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table td,.data-table th{border-bottom:1px solid var(--c-border);text-align:left;vertical-align:middle;padding:12px 10px}.data-table th{background:var(--c-subtle);color:var(--c-muted);white-space:nowrap;font-size:13px;font-weight:600}.data-table .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.data-table .center,.empty{text-align:center}.page-numbers{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding:12px 0;display:flex}.page-numbers a,.page-numbers span{border-radius:var(--radius-sm);min-width:40px;min-height:40px;color:var(--c-secondary);font-family:var(--font-mono);justify-content:center;align-items:center;padding:0 10px;font-size:14px;text-decoration:none;display:inline-flex}.page-numbers a:hover{background:var(--c-surface)}.page-numbers [aria-current=page]{background:var(--c-ink);color:#fff}.avatar{background:var(--c-avatar);width:36px;height:36px;color:var(--c-primary-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.avatar--sm{width:24px;height:24px;font-size:11px}.avatar--lg{width:52px;height:52px;font-size:18px}.meta{color:var(--c-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;display:flex}.meta strong{color:var(--c-ink);font-weight:600}.breadcrumb{flex-wrap:wrap;gap:8px;font-size:14px;display:flex}.breadcrumb,.breadcrumb a{color:var(--c-muted)}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--c-secondary);font-size:14px;font-weight:600}.field-hint{color:var(--c-muted);font-size:12px}.field-error{color:var(--c-down);font-size:13px}.input,.select,.textarea{border:1px solid var(--c-border-strong);background:var(--c-surface);width:100%;min-height:44px;color:var(--c-ink);border-radius:10px;padding:0 14px;font-size:15px}.textarea{background:var(--c-subtle);resize:vertical;padding:12px 14px;line-height:1.6}.empty{border:1px dashed var(--c-border-strong);border-radius:var(--radius);background:var(--c-surface);color:var(--c-muted);padding:48px 24px}.check-list{color:var(--c-secondary);flex-direction:column;margin:0;padding:0;font-size:14px;list-style:none}.check-list,.check-list li{gap:8px;display:flex}.check-list svg{color:var(--c-primary);flex:none;margin-top:2px}.markdown{color:var(--c-text);font-size:16px;line-height:1.85}.markdown>*{margin:0 0 20px}.markdown blockquote>:last-child,.markdown>:last-child{margin-bottom:0}.markdown h2{margin-top:36px;font-size:22px;line-height:1.4}.markdown h2,.markdown h3{color:var(--c-ink);scroll-margin-top:16px}.markdown h3{margin-top:28px;font-size:18px}.markdown ol,.markdown ul{padding-left:22px}.markdown li+li{margin-top:6px}.markdown blockquote{border:1px solid var(--c-yellow-line);border-radius:var(--radius);color:#4a3800;background:#fff9e6;padding:16px 20px}.markdown :not(pre)>code{background:var(--c-chip);color:var(--c-code-bg);font-family:var(--font-mono);border-radius:6px;padding:2px 6px;font-size:.88em}.markdown img{border-radius:var(--radius-sm);max-width:100%}.markdown table{border-collapse:collapse;display:block;overflow-x:auto}.markdown td,.markdown th{border:1px solid var(--c-border);padding:8px 12px}.code-block{border:1px solid var(--c-code-line);border-radius:var(--radius);background:var(--c-code-bg);margin:0 0 20px;overflow:hidden}.code-block figcaption{border-bottom:1px solid var(--c-code-line);background:var(--c-code-head);color:var(--c-code-muted);font-family:var(--font-mono);justify-content:space-between;align-items:center;padding:4px 4px 4px 16px;font-size:13px;display:flex}.code-copy{border-radius:var(--radius-sm);min-height:40px;color:var(--c-code-text);cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:13px}.code-copy:hover{background:var(--c-code-line)}.code-block pre{color:var(--c-code-text);font-family:var(--font-mono);margin:0;padding:16px 20px;font-size:14px;line-height:1.75;overflow-x:auto}.hljs-doctag,.hljs-keyword,.hljs-selector-tag{color:#c4b5fd}.hljs-addition,.hljs-regexp,.hljs-string{color:#a7f3d0}.hljs-title.class_,.hljs-title.function_{color:#ffd43b}.hljs-literal,.hljs-number{color:#fdba74}.hljs-comment,.hljs-deletion,.hljs-quote{color:#94a3b8}.hljs-attr,.hljs-built_in,.hljs-meta,.hljs-section,.hljs-symbol,.hljs-variable{color:#7dd3fc}.hljs-params{color:var(--c-code-text)}.mascot[data-v-ea4c1990]{margin:0 auto 4px;display:block}.code[data-v-ea4c1990]{font-family:var(--font-mono);color:var(--c-primary);margin:0;font-size:40px;font-weight:600}.title[data-v-ea4c1990]{color:var(--c-ink);margin:8px 0;font-size:22px}
