:root{--document-tabs-height:42px;--toolbar-readouts-space:148px;--bg:#f4f6fb;--panel:#fff;--line:#dee2e6;--text:#212529;--muted:#6c757d;--brand:#0d6efd;--brand-strong:#0b5ed7;--brand-soft:#e7f1ff;--body-bg:linear-gradient(180deg, #f8f9fb 0%, var(--bg) 100%);--toolbar-bg:#fff;--toolbar-surface:#fff;--toolbar-surface-subtle:#f8f9fa;--toolbar-hover:#f3f7ff;--control-border:#ced4da;--control-hover-border:#9ec5fe;--workspace-bg:#eef2f7;--workspace-empty-bg:#f6f8fb;--index-bg:#0f172a;--index-workspace-bg:#182231;--index-scroll-bg:#1f2937;--index-text:#cbd5e1;--document-bg:#fff;--document-text:#0f172a;--tab-bg:#fffffff0;--tab-item-bg:#f8fafc;--tab-active-bg:#fff;--shadow-soft:0 .125rem .25rem #00000013;--shadow-control:0 .05rem .15rem #0000000a;--shadow-panel:0 18px 48px #0f172a1a, 0 2px 8px #0f172a0f;--shadow-page:0 16px 40px #0f172a14, 0 2px 8px #0f172a0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0f172a;--panel:#111827;--line:#263244;--text:#e5e7eb;--muted:#9ca3af;--brand:#3b82f6;--brand-strong:#60a5fa;--brand-soft:#3b82f62e;--body-bg:linear-gradient(180deg, #111827 0%, #0b1120 100%);--toolbar-bg:#111827;--toolbar-surface:#172033;--toolbar-surface-subtle:#0f172a;--toolbar-hover:#1d2b46;--control-border:#334155;--control-hover-border:#60a5fa;--workspace-bg:#0b1120;--workspace-empty-bg:#0b1120;--index-bg:#08111f;--index-workspace-bg:#0b1120;--index-scroll-bg:#111827;--index-text:#cbd5e1;--document-bg:#fff;--document-text:#0f172a;--tab-bg:#0f172af0;--tab-item-bg:#111827;--tab-active-bg:#172033;--shadow-soft:0 .125rem .35rem #00000047;--shadow-control:0 .08rem .25rem #0003;--shadow-panel:0 22px 58px #0000006b, 0 2px 10px #0000003d;--shadow-page:0 16px 40px #00000057, 0 2px 10px #0003;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{color:var(--text);background:var(--body-bg);font-family:Pretendard,Noto Sans KR,Malgun Gothic,sans-serif}body.modal-open{overflow:hidden}.app-shell{grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.drop-overlay{z-index:40;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#0d152624;place-items:center;padding:2rem;display:grid;position:absolute;inset:0}.drop-overlay[hidden]{display:none!important}.drop-overlay-card{text-align:center;background:linear-gradient(#fffffffa,#f1f6fff5),#fff;border:2px dashed #0d6efd61;border-radius:1.2rem;justify-items:center;gap:.85rem;width:min(100%,440px);padding:2rem 2.25rem;display:grid;box-shadow:0 22px 60px #0f172a2e,inset 0 0 0 1px #ffffffb3}.drop-overlay-icon{width:4rem;height:4rem;color:var(--brand);background:linear-gradient(135deg,#0d6efd2e,#2563eb1f);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.drop-overlay-icon svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:1.7rem;height:1.7rem}.drop-overlay-title{color:#0f172a;letter-spacing:-.02em;font-size:1.08rem;font-weight:800}.drop-overlay-caption{color:#475569;font-size:.9rem}.toolbar{top:calc(var(--document-tabs-height) + .35rem);z-index:90;box-shadow:none;pointer-events:none;background:0 0;border-bottom:0;flex-direction:column;align-items:flex-start;gap:.6rem;padding:0;display:flex;position:absolute;left:.75rem;right:.75rem}.toolbar>*{pointer-events:auto}.toolbar-actions{flex-wrap:wrap;align-items:center;gap:.6rem;min-width:0;display:flex}.toolbar-actions[hidden]{display:none!important}.toolbar-group{gap:0;display:flex}.toolbar-group-main{border:1px solid var(--line);background:var(--toolbar-surface);box-shadow:var(--shadow-control);border-radius:.5rem;align-items:center;display:inline-flex;overflow:hidden}.toolbar-group-main .toolbar-btn+.toolbar-btn{border-left:1px solid var(--line)}.toolbar-readouts{top:env(safe-area-inset-top,0px);white-space:nowrap;grid-template-columns:minmax(0,1fr) 32px;place-items:center end;column-gap:8px;display:grid;position:fixed;right:.75rem}.toolbar-top-line{min-height:14px;max-width:calc(var(--toolbar-readouts-space) - 52px);grid-area:1/1;justify-content:flex-end;align-items:center;gap:4px;display:flex}.theme-switch{flex-shrink:0;gap:2px;display:flex}.theme-choice{width:14px;height:14px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid}.theme-choice:hover{color:var(--text);background:var(--toolbar-hover)}.theme-choice[aria-pressed=true]{color:var(--brand-strong);background:var(--brand-soft)}.theme-choice:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.theme-choice svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:10px}.viewer-meta.toolbar-meta{background:0 0;border:0;flex-wrap:nowrap;grid-area:2/1;align-items:center;gap:0;margin:0;padding:0;display:flex}.visitor-counter{min-width:0;max-width:5.5rem;min-height:0;color:var(--text);text-shadow:none;white-space:nowrap;background:0 0;border:0;align-items:center;gap:0;padding:0;font-size:.5625rem;font-weight:400;line-height:1.2;display:inline-flex}.visitor-counter[hidden]{display:none!important}:root[data-theme=dark] .visitor-counter{color:#fff;text-shadow:0 1px 3px #000c}.visitor-counter-label{flex:none}.visitor-counter-value{text-overflow:ellipsis;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden}.toolbar-btn{appearance:none;background:var(--toolbar-surface);color:var(--text);--toolbar-icon-bg:#0d6efd1f;--toolbar-icon-fg:var(--brand);cursor:pointer;border:0;border-radius:0;justify-content:center;align-items:center;min-width:52px;min-height:46px;padding:.52rem .72rem;font-size:.9rem;font-weight:600;line-height:1.2;transition:background-color .15s,color .15s,box-shadow .15s,transform .15s;display:inline-flex}.toolbar-btn:hover{background:var(--toolbar-hover);color:var(--brand-strong)}.toolbar-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #0d6efd42}.toolbar-btn:active{transform:translateY(1px)}.toolbar-btn-icon{background:var(--toolbar-icon-bg);width:2rem;height:2rem;color:var(--toolbar-icon-fg);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 7%, transparent);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.toolbar-btn-icon svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:1.08rem;height:1.08rem}.toolbar-btn-primary{background:var(--brand);color:#fff;--toolbar-icon-bg:#ffffff2e;--toolbar-icon-fg:#fff}.toolbar-btn-primary:hover{background:var(--brand-strong);color:#fff}.toolbar-btn-batch{--toolbar-icon-bg:#8b5cf624;--toolbar-icon-fg:#7c3aed}.toolbar-btn-tools{--toolbar-icon-bg:#2563eb1f;--toolbar-icon-fg:#2563eb}.app-shell.viewer-tools-open .toolbar-btn-tools{color:#fff;background:var(--brand);--toolbar-icon-bg:#ffffff2e;--toolbar-icon-fg:#fff}.toolbar-btn-fit-width{--toolbar-icon-bg:#3b82f61f;--toolbar-icon-fg:#2563eb}.toolbar-btn-fit-page{--toolbar-icon-bg:#6366f11f;--toolbar-icon-fg:#4f46e5}.toolbar-btn-print{--toolbar-icon-bg:#4755691f;--toolbar-icon-fg:#334155}.toolbar-btn-draw{--toolbar-icon-bg:#f9731624;--toolbar-icon-fg:#ea580c}.toolbar-btn-clear{--toolbar-icon-bg:#e11d481f;--toolbar-icon-fg:#be123c}.toolbar button.is-active{background:var(--brand-soft);color:var(--brand-strong);font-weight:600}.toolbar button.is-active .toolbar-btn-icon{color:var(--brand-strong);background:#0d6efd24}.toolbar button:disabled{cursor:not-allowed;opacity:.5;color:var(--muted)}.toolbar button:disabled .toolbar-btn-icon{color:#94a3b8;background:#94a3b824}.whiteboard-panel{z-index:85;border:1px solid var(--line);background:color-mix(in srgb, var(--toolbar-surface-subtle) 94%, transparent);width:fit-content;max-width:100%;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.7rem .9rem;padding:.6rem 1rem;display:none;position:static}.app-shell.viewer-tools-open.whiteboard-open .whiteboard-panel{display:flex}.whiteboard-control{border:1px solid var(--line);background:var(--toolbar-surface);box-shadow:var(--shadow-control);border-radius:.5rem;align-items:center;gap:.6rem;padding:.35rem .55rem;display:flex}.whiteboard-label{color:var(--muted);font-size:.8rem;font-weight:600}.whiteboard-options{align-items:center;gap:.35rem;display:flex}.whiteboard-tool{appearance:none;border:1px solid var(--control-border);background:var(--toolbar-surface);color:var(--text);cursor:pointer;border-radius:999px;padding:.33rem .78rem;font-size:.84rem;font-weight:500}.whiteboard-tool.is-selected{border-color:var(--control-hover-border);background:var(--brand-soft);color:var(--brand-strong)}.whiteboard-color-input{border:1px solid var(--line);background:var(--toolbar-surface);border-radius:8px;width:34px;height:30px;padding:2px}.whiteboard-swatch{cursor:pointer;border:1px solid #0f172a2e;border-radius:999px;width:22px;height:22px}.whiteboard-swatch.is-selected{outline:2px solid var(--brand-strong);outline-offset:1px}.whiteboard-size-wrap{align-items:center;gap:.5rem;display:flex}.whiteboard-size-input{width:140px}.whiteboard-size-value{min-width:3.2rem;color:var(--muted);font-size:.84rem;font-weight:600}.app-modal{z-index:120;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.app-modal[hidden]{display:none!important}.app-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a80;position:absolute;inset:0}.app-modal-panel{z-index:1;background:var(--panel);width:min(100%,720px);max-height:min(88vh,860px);color:var(--text);border:1px solid #94a3b859;border-radius:1rem;grid-template-rows:auto 1fr auto;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #0f172a47,0 8px 24px #0f172a1a}.app-modal-panel-compact{width:min(100%,560px);max-height:min(82vh,640px)}.pdf-password-panel{width:min(100%,520px)}.pdf-password-panel form{display:contents}.pdf-password-eyebrow{color:var(--brand-strong);letter-spacing:.14em;margin:0 0 .35rem;font-size:.72rem;font-weight:800}.pdf-password-lock{width:3rem;height:3rem;color:var(--brand-strong);background:#eff6ff;border-radius:.9rem;flex:none;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #bfdbfe}.pdf-password-lock svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.5rem;height:1.5rem}.pdf-password-field{color:var(--text);gap:.55rem;font-size:.9rem;font-weight:700;display:grid}.pdf-password-field input{width:100%;min-height:3rem;color:var(--text);font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.8rem;outline:none;padding:.72rem .85rem;transition:border-color .15s,box-shadow .15s}.pdf-password-field input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #2563eb24}.pdf-password-error,.pdf-password-privacy{margin:0;font-size:.84rem;line-height:1.5}.pdf-password-error{color:#b91c1c;font-weight:700}.pdf-password-privacy{color:#475569;background:#f8fbff;border:1px solid #dbeafe;border-radius:.8rem;padding:.8rem .9rem}.app-modal-header,.app-modal-footer{background:color-mix(in srgb, var(--panel) 88%, transparent);justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.35rem;display:flex}.app-modal-header{border-bottom:1px solid var(--line)}.app-modal-footer{border-top:1px solid var(--line)}.app-modal-title{color:var(--text);margin:0;font-size:1.15rem;font-weight:800}.app-modal-description{color:var(--muted);margin:.3rem 0 0;font-size:.92rem;line-height:1.45}.app-modal-close,.app-modal-primary,.app-modal-secondary,.batch-picker-btn{appearance:none;border:1px solid var(--line);background:var(--toolbar-surface);color:var(--text);cursor:pointer;border-radius:.75rem;transition:background-color .15s,border-color .15s,color .15s,transform .15s}.app-modal-close:hover,.app-modal-primary:hover,.app-modal-secondary:hover,.batch-picker-btn:hover{color:var(--brand-strong);background:#eff6ff;border-color:#bfdbfe}.app-modal-close{justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;display:inline-flex}.app-modal-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:1rem;height:1rem}.app-modal-body{gap:1rem;padding:1.25rem 1.35rem;display:grid;overflow:auto}.pdf-export-options{gap:.85rem;display:grid}.pdf-export-choice{display:block}.pdf-export-choice input{opacity:0;pointer-events:none;position:absolute}.pdf-export-choice-card{cursor:pointer;background:linear-gradient(#fffffffa,#f8fafcf5),#fff;border:1px solid #cbd5e1f5;border-radius:.95rem;gap:.42rem;padding:1rem 1.05rem;transition:border-color .15s,background-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 10px 24px #0f172a0a}.pdf-export-choice-card:hover{border-color:#60a5fadb;transform:translateY(-1px);box-shadow:0 16px 36px #2563eb1a}.pdf-export-choice-card strong{color:#0f172a;font-size:.98rem}.pdf-export-choice-card span{color:#475569;font-size:.9rem;line-height:1.5}.pdf-export-choice input:checked+.pdf-export-choice-card{background:linear-gradient(#eff6fff2,#f8fafcfa),#fff;border-color:#2563ebe6;box-shadow:0 0 0 3px #2563eb1f,0 18px 38px #2563eb1f}.pdf-export-choice input:focus-visible+.pdf-export-choice-card{outline-offset:3px;outline:2px solid #2563eb52}.pdf-export-note{color:#1e3a8a;background:linear-gradient(#eff6ffeb,#f8fafcf5),#fff;border:1px solid #bfdbfeeb;border-radius:.95rem;padding:.95rem 1rem;font-size:.9rem;line-height:1.5}.batch-picker{background:radial-gradient(circle at 100% 0,#3b82f614,#0000 32%),linear-gradient(#eff6ffe0,#f8fafcf5);border:1px solid #bfdbfee6;border-radius:1rem;gap:1rem;padding:1.2rem;display:grid}.batch-picker-hero{align-items:center;gap:.9rem;display:flex}.batch-picker-icon{color:#2563eb;background:linear-gradient(135deg,#2563eb29,#6366f124);border-radius:1rem;justify-content:center;align-items:center;width:3.3rem;height:3.3rem;display:inline-flex;box-shadow:inset 0 0 0 1px #60a5fa2e}.batch-picker-icon svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:1.55rem;height:1.55rem}.batch-picker-copy{gap:.22rem;display:grid}.batch-picker-copy strong{color:#0f172a;font-size:1rem}.batch-picker-copy span{color:#475569;font-size:.9rem}.batch-picker-actions{flex-wrap:wrap;gap:.7rem;display:flex}.batch-picker-btn{min-height:2.85rem;padding:.72rem 1rem;font-weight:700}.batch-picker-btn.is-muted{color:#64748b}.batch-picker-btn:disabled{cursor:not-allowed;opacity:.55}.batch-file-section{gap:.8rem;display:grid}.batch-file-header{color:#0f172a;justify-content:space-between;align-items:center;gap:1rem;display:flex}.batch-file-count{color:#1d4ed8;text-align:center;background:#2563eb1a;border-radius:999px;min-width:2.1rem;padding:.18rem .6rem;font-size:.83rem;font-weight:800}.batch-file-empty{color:#64748b;background:#ffffffd1;border:1px dashed #cbd5e1;border-radius:.9rem;padding:1rem 1.05rem;font-size:.92rem}.batch-file-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.batch-file-item{background:#fff;border:1px solid #e2e8f0f2;border-radius:.9rem;gap:.22rem;padding:.9rem 1rem;display:grid;box-shadow:0 8px 18px #0f172a0a}.batch-file-name{color:#0f172a;word-break:break-all;font-weight:700}.batch-file-meta{color:#64748b;font-size:.84rem}.app-modal-hint{color:#64748b;font-size:.87rem;line-height:1.4}.app-modal-actions{align-items:center;gap:.7rem;display:flex}.app-modal-primary,.app-modal-secondary{min-height:2.75rem;padding:.72rem 1rem;font-weight:700}.app-modal-primary{background:var(--brand);color:#fff;border-color:#bfdbfe}.app-modal-primary:hover{background:var(--brand-strong);color:#fff}.app-modal-primary-json{color:#fff;background:linear-gradient(135deg,#7c3aed,#5b21b6);border-color:#a78bfa8c}.app-modal-primary-json:hover{color:#fff;background:linear-gradient(135deg,#6d28d9,#4c1d95)}.app-modal-primary:disabled,.app-modal-secondary:disabled,.batch-picker-btn:disabled{cursor:not-allowed;opacity:.55}.viewer-root{grid-row:1;grid-template-rows:auto 1fr;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.viewer-workspace{background:var(--workspace-bg);grid-row:2;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:relative}:root[data-viewer-mode=backend] .toolbar,:root[data-viewer-mode=backend] .document-tabs,:root[data-viewer-mode=backend] .whiteboard-panel,:root[data-viewer-mode=backend] .viewer-statusbar,:root[data-viewer-mode=url] .toolbar,:root[data-viewer-mode=url] .document-tabs,:root[data-viewer-mode=url] .whiteboard-panel,:root[data-viewer-mode=url] .viewer-statusbar,:root[data-viewer-mode=url] .empty-state{display:none!important}:root[data-viewer-mode=backend] .viewer-root,:root[data-viewer-mode=url] .viewer-root{grid-template-rows:minmax(0,1fr)}:root[data-viewer-mode=backend] .viewer-workspace,:root[data-viewer-mode=url] .viewer-workspace{grid-row:1}.viewer-workspace.is-empty{background:var(--workspace-empty-bg)}.floating-viewer-controls{z-index:30;bottom:20px;right:20px;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));align-items:center;gap:10px;display:flex;position:absolute}.floating-download{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#0f172af2;border:1px solid #94a3b852;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 20px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;transition:opacity .18s,background-color .18s;display:inline-flex;box-shadow:0 6px 24px #00000047}.floating-download:hover{background:#1e293b}.floating-download:focus-visible{outline-offset:3px;outline:3px solid #60a5fa}.floating-download.is-interacting:not(:focus-visible){opacity:.35}.floating-download:disabled{cursor:default}.floating-download-icon{fill:none;stroke:#60a5fa;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.desktop-zoom-controls{color:#fff;background:#0f172af2;border:1px solid #94a3b852;border-radius:999px;align-items:center;height:48px;padding:0 4px;display:none;box-shadow:0 6px 24px #00000047}.desktop-zoom-controls button{color:#e2e8f0;cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:40px;height:40px;padding:0 9px;font-family:inherit;font-size:23px}.desktop-zoom-controls button:hover{color:#fff;background:#334155}.desktop-zoom-controls button:focus-visible{outline-offset:-2px;outline:2px solid #60a5fa}.desktop-zoom-controls button:disabled{opacity:.4;cursor:default}.desktop-zoom-controls span{text-align:center;font-variant-numeric:tabular-nums;min-width:55px;font-size:13px}.desktop-zoom-controls .desktop-fit-width{color:#93c5fd;border-left:1px solid #475569;border-radius:0 999px 999px 0;margin-left:3px;padding:0 12px;font-size:12px}.desktop-zoom-controls[hidden]{display:none!important}@media (width>=901px){.desktop-zoom-controls{display:inline-flex}}.download-feedback{z-index:31;bottom:80px;right:20px;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));color:#f8fafc;background:#172033;border:1px solid #94a3b852;border-radius:14px;width:calc(100% - 40px);max-width:320px;padding:14px 40px 14px 16px;font-size:13px;line-height:1.65;position:absolute;box-shadow:0 6px 24px #00000047}.download-feedback a{color:#93c5fd;text-underline-offset:3px;margin-top:6px;display:inline-block}.download-feedback button{color:#cbd5e1;cursor:pointer;background:0 0;border:0;border-radius:50%;width:36px;height:36px;font-size:24px;position:absolute;top:4px;right:4px}.download-feedback button:focus-visible{outline:2px solid #60a5fa}.floating-download[hidden],.download-feedback[hidden],.download-feedback a[hidden]{display:none!important}@media print{.floating-viewer-controls,.download-feedback{display:none!important}}@media (prefers-reduced-motion:reduce){.floating-download{transition:none}}.url-loading-overlay{z-index:35;-webkit-backdrop-filter:blur(5px);background:#08111fb8;place-items:center;padding:1.5rem;display:grid;position:absolute;inset:0}.url-loading-overlay[hidden],:root:not([data-viewer-mode=url]):not([data-viewer-mode=backend]) .url-loading-overlay{display:none!important}.url-loading-card{color:#f8fafc;text-align:center;background:#0f172af0;border:1px solid #94a3b842;border-radius:1.25rem;justify-items:center;gap:.8rem;width:min(88vw,390px);padding:2rem 1.5rem;display:grid;box-shadow:0 24px 64px #00000057}.url-loading-spinner{border:.5rem solid #60a5fa;border-color:#60a5fa #3b82f6 #60a5fa38 #60a5fa38;border-radius:50%;width:5rem;height:5rem;margin-bottom:.35rem;animation:.85s linear infinite url-loading-spin}.url-loading-title{word-break:keep-all;font-size:clamp(1.25rem,5vw,1.6rem);line-height:1.35}.url-loading-message{color:#cbd5e1;font-size:1rem}@keyframes url-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.url-loading-spinner{animation-duration:1.8s}}.empty-state{z-index:5;background:radial-gradient(ellipse at 74% 44%, color-mix(in srgb, var(--brand) 9%, transparent), transparent 52%), var(--workspace-empty-bg);place-items:safe center center;padding:32px;display:grid;position:absolute;inset:0;overflow:auto}.empty-state[hidden]{display:none!important}.empty-state-panel{border:1px solid color-mix(in srgb, var(--muted) 18%, transparent);background:linear-gradient(120deg, color-mix(in srgb, var(--panel) 96%, var(--brand)), var(--panel));border-radius:24px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;column-gap:24px;width:min(100%,1100px);padding:36px 40px 24px;display:grid;position:relative;box-shadow:0 24px 80px #0000001f,inset 0 1px #ffffff08}.empty-state-copy{z-index:1;position:relative}.empty-state-brand{color:var(--text);letter-spacing:-.25px;align-items:center;gap:8px;margin-bottom:36px;font-size:13px;font-weight:750;display:flex}.empty-brand-mark{border:1px solid color-mix(in srgb, var(--brand) 45%, transparent);background:var(--brand-soft);width:23px;height:25px;color:var(--brand);border-radius:6px;place-items:center;font-size:14px;font-weight:900;display:grid}.empty-brand-divider{background:var(--line);width:1px;height:12px;margin:0 2px}.empty-brand-caption{color:var(--muted);font-size:11px;font-weight:400}.empty-state-badge{color:var(--muted);letter-spacing:.1px;align-items:center;gap:7px;margin-bottom:14px;font-size:11px;font-weight:600;display:inline-flex}.empty-state-badge>span,.empty-privacy-dot{background:#22c998;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 4px #22c99817}.empty-state-title{color:var(--text);letter-spacing:-2.5px;word-break:keep-all;margin:0;font-size:clamp(32px,4.5vw,54px);font-weight:800;line-height:1.2}.empty-state-title>span{color:var(--brand)}:root[data-theme=dark] .empty-state-title>span{color:#80b7ff}.empty-state-description{color:var(--muted);word-break:keep-all;margin:20px 0 25px;font-size:13px;line-height:1.85}.empty-state-actions{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.empty-state-open{color:#fff;min-height:46px;font:inherit;cursor:pointer;background:#2269e8;border:1px solid #4d96ff;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-size:13px;font-weight:700;transition:background .15s,transform .15s;display:inline-flex;box-shadow:0 5px 18px #2563eb38,inset 0 1px #ffffff1f}.empty-state-open:hover{background:#337af6;transform:translateY(-1px)}.empty-state-open:focus-visible{outline-offset:4px;outline:3px solid #80b7ff}.empty-state-open svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.empty-state-open .empty-open-arrow{width:16px;height:16px;margin-left:14px}.empty-state-drop-hint{color:var(--muted);font-size:11px}.empty-state-visual{isolation:isolate;place-items:center;min-width:0;height:350px;display:grid;position:relative}.empty-visual-orbit{z-index:-1;border:1px solid color-mix(in srgb, var(--brand) 9%, transparent);background:radial-gradient(circle, color-mix(in srgb, var(--brand) 8%, transparent), transparent 70%);width:330px;height:330px;box-shadow:0 0 0 30px color-mix(in srgb, var(--brand) 2%, transparent), 0 0 0 60px color-mix(in srgb, var(--brand) 1%, transparent);border-radius:50%;position:absolute}.empty-document-back{border:1px solid color-mix(in srgb, var(--brand) 28%, transparent);background:color-mix(in srgb, var(--brand) 10%, var(--panel));border-radius:12px;width:216px;height:282px;margin:-8px 0 0 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(9deg)}.empty-document{background:#fafcff;border:1px solid #e1e8f1;border-radius:12px;width:216px;height:282px;padding:23px 21px 15px;position:absolute;top:50%;left:50%;transform:translate(calc(-50% - 5px),calc(-50% - 12px))rotate(-5deg);box-shadow:0 20px 45px #0000002e}.empty-document-top{color:#9aa9bc;letter-spacing:1px;align-items:center;gap:7px;font-size:6px;font-weight:700;display:flex}.empty-document-symbol{color:#387ce5;letter-spacing:-1px;background:#e8f1ff;border-radius:4px;place-items:center;width:18px;height:21px;font-size:11px;display:grid}.empty-document-top>i{background:#3a8ff3;border-radius:50%;width:4px;height:4px;margin-left:auto}.empty-document-heading{gap:6px;margin:22px 0 13px;display:grid}.empty-document-heading>span{background:#263b58;border-radius:2px;width:80%;height:7px}.empty-document-heading>span:last-child{width:55%}.empty-document-lines{gap:5px;display:grid}.empty-document-lines>span{background:#d9e2ee;border-radius:2px;height:3px}.empty-document-lines>span:last-child{width:73%}.empty-document-chart{background:#eef4fc;border-radius:5px;align-items:flex-end;gap:8px;height:69px;margin:16px 0;padding:10px 13px 0;display:flex}.empty-document-chart>i{background:#b5d2ff;border-radius:2px 2px 0 0;flex:1;height:32%}.empty-document-chart>i:nth-child(2){height:48%}.empty-document-chart>i:nth-child(3){height:43%}.empty-document-chart>i:nth-child(4){background:#81aff5;height:65%}.empty-document-chart>i:nth-child(5){background:#81aff5;height:59%}.empty-document-chart>i:nth-child(6){background:#4a8dee;height:80%}.empty-document-chart>i:nth-child(7){background:#2a71db;height:100%}.empty-document-lines-short{width:87%}.empty-document-bottom{color:#96a6ba;border-top:1px solid #e4eaf2;justify-content:space-between;align-items:center;margin-top:16px;padding-top:7px;font-size:6px;display:flex}.empty-document-bottom>span:first-child{background:#c3d0e1;width:29px;height:2px}.empty-privacy-seal{border:1px solid color-mix(in srgb, var(--muted) 22%, transparent);background:color-mix(in srgb, var(--panel) 96%, #22c998);border-radius:13px;align-items:center;gap:11px;width:228px;padding:14px;display:flex;position:absolute;bottom:9px;right:0;transform:rotate(2deg);box-shadow:0 12px 30px #0000002b}.empty-privacy-icon{color:#119e78;background:#22c9981f;border-radius:9px;flex:none;place-items:center;width:34px;height:38px;display:grid}:root[data-theme=dark] .empty-privacy-icon{color:#4cddb1}.empty-privacy-icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.empty-privacy-seal strong{color:var(--text);font-size:12px;font-weight:700;display:block}.empty-privacy-seal small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.empty-privacy-dot{width:5px;height:5px;margin-left:auto}.empty-state-formats{border-top:1px solid color-mix(in srgb, var(--muted) 15%, transparent);color:var(--muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:9px 19px;margin-top:32px;padding-top:18px;font-size:10px;display:flex}.empty-formats-label{color:var(--text);margin-right:auto;font-size:10px}@media (width<=1050px) and (width>=769px){.empty-state{padding:24px}.empty-state-panel{column-gap:18px;padding:28px 30px 20px}.empty-state-title{letter-spacing:-1.8px;font-size:38px}.empty-state-description{font-size:13px}.empty-state-brand{margin-bottom:30px}.empty-state-visual{height:320px}.empty-visual-orbit{width:270px;height:270px}.empty-state-formats{gap:9px 15px;margin-top:26px}}@media (prefers-reduced-motion:reduce){.empty-state-open{transition:none}.empty-state-open:hover{transform:none}}.viewer-workspace.has-index{background:var(--index-workspace-bg);grid-template-columns:178px minmax(0,1fr)}.page-index{background:var(--index-bg);min-height:0;color:var(--index-text);scrollbar-width:thin;scrollbar-color:#94a3b8ad transparent;border-right:1px solid #94a3b838;overflow:auto}.page-index[hidden]{display:none!important}.page-index-list{gap:.85rem;padding:.75rem .75rem 1.25rem;display:grid}.page-index-row{min-width:0}.page-index-button{appearance:none;width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:.38rem;padding:0;display:grid}.page-index-button:focus-visible{outline-offset:3px;outline:2px solid #60a5fab8}.page-index-preview{aspect-ratio:.72;background:var(--document-bg);border:2px solid #0000;border-radius:4px;place-items:center;width:100%;min-height:72px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 22px #02061757}.page-index-preview.is-a4-preview{aspect-ratio:210/297}.page-index-content{place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.page-index-button:hover .page-index-preview{border-color:#93c5fdbf}.page-index-button.is-active .page-index-preview{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f69e,0 12px 28px #0206176b}.page-index-preview svg,.page-index-preview img{object-fit:contain;width:100%;height:100%;display:block}.page-index-number{color:#fff;background:#0f172adb;border-radius:4px;justify-content:center;align-items:center;min-width:1.15rem;height:1.15rem;padding:0 .28rem;font-size:.7rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;bottom:.3rem;right:.3rem}.page-index-caption{color:var(--index-text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:700;line-height:1.25;display:none;overflow:hidden}.page-index-scaled-frame{background:var(--document-bg);position:relative;overflow:hidden}.page-index-clone{position:absolute;top:0;left:0;pointer-events:none!important}.page-index-clone,.page-index-clone *{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}.page-index-fallback{width:100%;min-height:100%;color:var(--muted);text-align:center;place-items:center;padding:.75rem;font-size:.82rem;font-weight:800;display:grid}.document-tabs{height:var(--document-tabs-height);padding-right:var(--toolbar-readouts-space);border-bottom:1px solid var(--line);background:var(--tab-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-row:1;align-items:center;min-width:0;display:flex}.document-tabs[hidden]{display:none!important}.document-tab-list{scrollbar-width:thin;flex:1 1 0;align-items:center;gap:.35rem;min-width:0;padding:0 .35rem;display:flex;overflow-x:auto}.document-tab-item{border:1px solid var(--line);background:var(--tab-item-bg);min-width:0;max-width:260px;height:34px;color:var(--muted);border-radius:.5rem;flex:none;align-items:stretch;display:inline-flex;overflow:hidden}.document-tabs .toolbar-toggle-group{border-top:0;border-bottom:0;border-left:0;border-radius:0;flex:none;height:100%}.document-tabs .toolbar-btn-tools{min-width:42px;height:100%;min-height:0;padding:0}.document-tabs .toolbar-btn-icon{width:26px;height:26px}.document-tab-item.is-active{background:var(--tab-active-bg);color:var(--text);border-color:#2563eb85;box-shadow:0 6px 16px #0f172a14}.document-tab-button,.document-tab-close{appearance:none;color:inherit;font:inherit;background:0 0;border:0}.document-tab-button{cursor:pointer;align-items:center;gap:.42rem;min-width:0;max-width:210px;padding:.48rem .62rem;display:inline-flex}.document-tab-button:hover,.document-tab-close:hover{background:var(--brand-soft);color:var(--brand-strong)}.document-tab-button:focus-visible,.document-tab-close:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #2563eb52}.document-tab-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;font-weight:700;overflow:hidden}.document-tab-close{cursor:pointer;border-left:1px solid var(--line);flex:none;justify-content:center;align-items:center;width:2.15rem;display:inline-flex}.document-tab-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:.9rem;height:.9rem}.viewer-meta{background:0 0;border:0;flex-wrap:wrap;gap:.55rem;padding:0;display:flex}.meta-line{border:1px solid var(--line);background:var(--toolbar-surface);border-radius:.45rem;align-items:center;gap:.4rem;min-width:auto;padding:.28rem .45rem;display:flex}.meta-line:first-child{flex:12rem;min-width:12rem}.meta-line[hidden]{display:none}.meta-label{color:var(--muted);white-space:nowrap;font-size:.74rem;font-weight:700}.meta-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;font-weight:700;overflow:hidden}.viewer-meta.toolbar-meta .meta-line{border-radius:.35rem;flex:none;gap:.2rem;width:auto;min-width:0;padding:.12rem .2rem}.toolbar-meta [data-role=zoom-indicator]{text-align:center;min-width:2rem;font-size:.6875rem;font-weight:500}.viewer-statusbar{min-width:0;padding:.35rem .75rem;padding-bottom:max(.35rem, env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--toolbar-bg);flex-wrap:nowrap;grid-row:2;align-items:center}.viewer-statusbar[hidden]{display:none}.viewer-meta.viewer-statusbar .meta-line{background:0 0;border:0;width:auto;min-width:0;padding:0}.viewer-statusbar .meta-line[data-role=status-line]{flex:1 1 0}.viewer-statusbar .meta-line[data-role=page-line]{flex:none;margin-left:auto}.zoom-inline-btn{appearance:none;border:1px solid var(--control-border);background:var(--toolbar-surface);color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;padding:0;font-size:0;line-height:1;display:inline-flex}.zoom-inline-btn:hover{border-color:var(--control-hover-border);color:var(--brand-strong);background:var(--brand-soft)}.zoom-inline-btn svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:.7rem;height:.7rem}.scroll-container{background:var(--workspace-bg);cursor:grab;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;min-width:0;min-height:0;padding:0;position:relative;overflow:auto}.scroll-container.pdf-touch-mode{touch-action:none;overscroll-behavior:contain;overflow-anchor:none;scroll-behavior:auto}.scroll-content.pdf-mode.is-pinching{transform-origin:0 0;will-change:transform;backface-visibility:hidden}@media (pointer:coarse){.scroll-container.pdf-touch-mode .pdf-page,.scroll-container.pdf-touch-mode .pdf-text-layer,.scroll-container.pdf-touch-mode .pdf-text-layer *{-webkit-user-select:none;user-select:none}}.viewer-workspace.has-index .scroll-container{background:var(--index-scroll-bg)}.scroll-container.is-drag-scrolling{cursor:grabbing;-webkit-user-select:none;user-select:none}.scroll-container.is-drag-scrolling *{-webkit-user-select:none;user-select:none}.app-shell.whiteboard-open .scroll-container{cursor:default}.scroll-content{min-height:100%;position:relative}.scroll-content.whiteboard-enabled{-webkit-user-select:none;user-select:none}.whiteboard-overlay{z-index:30;pointer-events:none;cursor:crosshair;touch-action:none;position:absolute;top:0;left:0}.whiteboard-overlay.is-enabled{pointer-events:auto}.scroll-content .hwp-page-canvas{z-index:1;background:var(--document-bg);box-shadow:var(--shadow-page);display:block;position:absolute}.scroll-content .hwp-text-layer{z-index:2;-webkit-user-select:text;user-select:text;cursor:text;line-height:1;position:absolute;overflow:hidden}.hwp-text-layer .hwp-selection-overlay{z-index:0;pointer-events:none;position:absolute;inset:0}.hwp-text-layer .hwp-selection-rect{background:#2563eb38;border-radius:1px;position:absolute}.hwp-text-layer .hwp-text-line{z-index:1;color:#0000;opacity:.01;-webkit-user-select:text;user-select:text;cursor:text;line-height:1;position:absolute}.hwp-text-layer .hwp-text-fragment,.hwp-text-layer .hwp-text-gap,.hwp-text-layer .hwp-text-trailing{color:#0000;white-space:pre;-webkit-user-select:text;user-select:text;cursor:text;transform-origin:0 0;line-height:1;display:block;position:absolute}.hwp-text-layer .hwp-text-gap,.hwp-text-layer .hwp-text-trailing{overflow:hidden}.hwp-text-layer::selection{-webkit-text-fill-color:transparent;color:#0000!important;background:0 0!important}.hwp-text-layer ::selection{-webkit-text-fill-color:transparent;color:#0000!important;background:0 0!important}.scroll-content.pdf-mode{box-sizing:border-box;flex-direction:column;align-items:flex-start;gap:1rem;min-width:100%;min-height:auto;padding:1rem 24px 2rem;display:flex}.pdf-page{flex:none;justify-content:center;margin-inline:auto;display:flex;position:relative}.pdf-canvas{background:var(--document-bg);box-shadow:var(--shadow-page);display:block}.pdf-text-layer{text-align:initial;-webkit-user-select:text;user-select:text;cursor:text;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;line-height:1;position:absolute;inset:0;overflow:clip}.pdf-text-layer span,.pdf-text-layer br{z-index:1;color:#0000;white-space:pre;transform-origin:0 0;-webkit-user-select:text;user-select:text;cursor:text;position:absolute}.pdf-text-layer ::selection{background:#2563eb47}.pdf-text-layer br::selection{background:0 0}.pdf-text-layer .markedContent{display:contents}.scroll-content.sheet-mode,.scroll-content.ppt-mode,.scroll-content.word-mode,.scroll-content.text-mode,.scroll-content.markdown-mode,.scroll-content.image-mode{min-height:100%}.sheet-tabs{z-index:5;scrollbar-width:thin;border-bottom:1px solid var(--line);background:var(--tab-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:nowrap;align-items:center;gap:.25rem;min-width:0;min-height:32px;padding:.25rem .75rem;display:flex;position:sticky;top:0;overflow:auto hidden}.sheet-tab{appearance:none;border:1px solid var(--line);background:var(--tab-item-bg);color:var(--muted);white-space:nowrap;cursor:pointer;border-radius:.25rem;flex:none;padding:.12rem .5rem;font-family:inherit;font-size:.75rem;font-weight:400;line-height:1.3}.sheet-tab.is-active{border-color:var(--brand);color:var(--brand-strong);background:#155eef14;font-weight:500}.sheet-body{min-height:calc(100% - 32px);padding:1rem}.sheet-stage{margin:0 auto;position:relative}.sheet-zoom-host{transform-origin:0 0;position:absolute;top:0;left:0}.sheet-table{border-collapse:collapse;background:var(--document-bg);table-layout:fixed;-webkit-user-select:text;user-select:text;cursor:text;box-shadow:var(--shadow-page)}.sheet-table *{-webkit-user-select:text;user-select:text}.sheet-table td,.sheet-table th{vertical-align:top;background:var(--document-bg);min-width:0;color:var(--document-text);white-space:nowrap;overflow-wrap:normal;word-break:normal;border:1px solid #d6dde8;padding:2px 4px;font-size:11pt;line-height:1.15;overflow:hidden}.sheet-cell-content{text-overflow:clip;max-width:100%;min-height:1.1em;white-space:inherit;overflow:hidden}.sheet-empty{border:1px dashed var(--line);min-width:320px;min-height:160px;color:var(--muted);background:#ffffffd1;border-radius:20px;justify-content:center;align-items:center;padding:1rem 1.25rem;display:inline-flex}.ppt-body{min-height:100%;padding:1rem}.ppt-stage{margin:0 auto;position:relative}.ppt-zoom-host{transform-origin:0 0;flex-direction:column;gap:1.75rem;display:flex;position:absolute;top:0;left:0}.ppt-slide-page{width:fit-content}.ppt-slide-frame{background:linear-gradient(180deg, #f8fafceb, #fffffffa), var(--document-bg);box-shadow:var(--shadow-page);position:relative;overflow:hidden}.ppt-shape,.ppt-image,.ppt-table-box,.ppt-chart-box{position:absolute}.ppt-shape{-webkit-user-select:text;user-select:text;cursor:text;flex-direction:column;padding:6px 8px;display:flex;overflow:hidden}.ppt-paragraph{line-height:1.25}.ppt-bullet{margin-right:6px}.ppt-image{object-fit:contain;width:100%;height:100%;display:block}.ppt-table-box{overflow:hidden}.ppt-table{border-collapse:collapse;table-layout:auto;-webkit-user-select:text;user-select:text;cursor:text;background:#fffffff0;width:100%;height:100%}.ppt-slide-frame,.ppt-slide-frame *{-webkit-user-select:text;user-select:text}.ppt-table td{vertical-align:top;overflow-wrap:anywhere;word-break:keep-all;padding:0;font-size:.82rem}.ppt-table-cell{flex-direction:column;min-height:100%;display:flex}.ppt-table-paragraph{white-space:pre-wrap;line-height:1.35}.ppt-chart-box{color:var(--text);background:#ffffffd6;border:1px dashed #94a3b8;flex-direction:column;justify-content:center;gap:.4rem;padding:.85rem 1rem;display:flex}.ppt-chart-title{font-weight:700}.ppt-chart-caption{color:var(--muted);font-size:.82rem}.word-body,.text-body,.markdown-body{min-height:100%;padding:1rem}.word-stage,.text-stage,.markdown-stage{margin:0 auto;position:relative}.word-zoom-host,.text-zoom-host,.markdown-zoom-host{transform-origin:0 0;position:absolute;top:0;left:0}.word-page{background:var(--document-bg);width:794px;min-height:1123px;color:var(--document-text);-webkit-user-select:text;user-select:text;cursor:text;box-shadow:var(--shadow-page);padding:72px;font-size:11pt;line-height:1.65}.word-paragraph{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 .72rem}.word-page.word-legacy{padding:0}.word-legacy .msdoc-root{min-height:1123px;padding:72px}.word-page.word-html{color:#000;white-space:normal;padding:32px;font-family:Times New Roman,Noto Serif KR,Batang,바탕,serif;font-size:12pt;line-height:normal}.word-html-content{overflow-wrap:break-word;display:flow-root}.word-html-content,.word-html-content *{box-sizing:content-box}.word-heading{margin-top:1.15rem;margin-bottom:.85rem;font-size:1.35rem;font-weight:800}.word-link{color:#2563eb;text-decoration:underline}.word-table{border-collapse:collapse;width:100%;margin:.8rem 0}.word-table td{vertical-align:top;border:1px solid #cbd5e1;padding:6px 8px}.word-table .word-paragraph{margin-bottom:.35rem}.word-image{max-width:100%;height:auto;margin:.6rem 0;display:block}.word-empty{color:var(--muted)}.text-page{background:var(--document-bg);width:min(960px,100vw - 48px);min-height:640px;color:var(--document-text);box-shadow:var(--shadow-page);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;cursor:text;border:0;margin:0;padding:28px 32px;font-family:D2Coding,Noto Sans KR,monospace;font-size:13px;line-height:1.55}.markdown-page{background:var(--document-bg);width:min(960px,100vw - 48px);min-height:640px;color:var(--document-text);box-shadow:var(--shadow-page);white-space:normal;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;cursor:text;padding:36px 40px;font-size:16px;line-height:1.72}.markdown-page>:first-child{margin-top:0}.markdown-page>:last-child{margin-bottom:0}.markdown-page h1,.markdown-page h2,.markdown-page h3,.markdown-page h4,.markdown-page h5,.markdown-page h6{letter-spacing:-.02em;color:#0f172a;margin:1.5em 0 .65em;font-weight:800;line-height:1.25}.markdown-page h1{font-size:2rem}.markdown-page h2{font-size:1.68rem}.markdown-page h3{font-size:1.38rem}.markdown-page h4{font-size:1.15rem}.markdown-page h5,.markdown-page h6{font-size:1rem}.markdown-page p,.markdown-page ul,.markdown-page ol,.markdown-page table,.markdown-page blockquote,.markdown-page pre,.markdown-page dl,.markdown-page details{margin:0 0 1rem}.markdown-page ul,.markdown-page ol{padding-left:1.5rem}.markdown-page li+li{margin-top:.32rem}.markdown-page li>p{margin:.35rem 0}.markdown-page li>:is(ul,ol){margin:.4rem 0 .15rem}.markdown-page li>:first-child,.markdown-page blockquote>:first-child{margin-top:0}.markdown-page li>:last-child,.markdown-page blockquote>:last-child,.markdown-page details>:last-child{margin-bottom:0}.markdown-page li::marker{color:#475569;font-variant-numeric:tabular-nums}.markdown-page .task-list-item{list-style:none}.markdown-page li:has(>input[type=checkbox]){list-style:none}.markdown-page li:has(>p>input[type=checkbox]){list-style:none}.markdown-page li>input[type=checkbox],.markdown-page li>p>input[type=checkbox]{vertical-align:middle;accent-color:#2563eb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;cursor:default;width:1em;height:1em;margin:0 .4em .12em -1.4em}.markdown-page input[type=checkbox]:disabled{opacity:1}.markdown-page a{color:#2563eb;overflow-wrap:anywhere;text-underline-offset:.15em;text-decoration:none}.markdown-page a:hover,.markdown-page a:focus-visible{text-decoration:underline}.markdown-page a:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #93c5fd}.markdown-page code{color:#0f172a;white-space:break-spaces;background:#eff4ff;border-radius:.35rem;padding:.12rem .34rem;font-family:D2Coding,Cascadia Code,Consolas,ui-monospace,monospace;font-size:.92em}.markdown-page pre{color:#e2e8f0;white-space:pre;overflow-wrap:normal;word-break:normal;tab-size:4;scrollbar-width:thin;background:#0f172a;border-radius:.9rem;max-width:100%;padding:1rem 1.15rem;font-family:D2Coding,Cascadia Code,Consolas,ui-monospace,monospace;font-size:.88em;line-height:1.6;overflow:auto hidden}.markdown-page pre code{color:inherit;font:inherit;white-space:inherit;overflow-wrap:normal;word-break:normal;background:0 0;padding:0}.markdown-page blockquote{color:#334155;background:#f8fbff;border-left:4px solid #93c5fd;padding:.2rem 0 .2rem 1rem}.markdown-page hr{border:0;border-top:1px solid #dbe4f0;margin:1.45rem 0}.markdown-page table{border-collapse:collapse;scrollbar-width:thin;width:100%;max-width:100%;font-size:.94em;display:block;overflow:auto hidden}.markdown-page th,.markdown-page td{vertical-align:top;border:1px solid #cbd5e1;min-width:5rem;padding:.55rem .7rem}.markdown-page th:not([align]){text-align:inherit}.markdown-page th{background:#eff6ff;font-weight:700}.markdown-page tbody tr:nth-child(2n){background:#f8fafc}.markdown-page caption{color:#475569;margin-bottom:.5rem;font-size:.92em}.markdown-page details{background:#f8fafc;border:1px solid #cbd5e1;border-radius:.6rem;padding:.7rem 1rem}.markdown-page summary{cursor:pointer;font-weight:700}.markdown-page details[open]>summary{margin-bottom:.7rem}.markdown-page dt{margin-top:.75rem;font-weight:700}.markdown-page dd{margin:.25rem 0 .75rem 1.5rem}.markdown-page kbd{color:#334155;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.3rem;padding:.05rem .35rem;font-family:D2Coding,Cascadia Code,Consolas,ui-monospace,monospace;font-size:.85em;line-height:1.5;display:inline-block;box-shadow:inset 0 -1px #cbd5e1}.markdown-page .footnotes,.markdown-page [data-footnotes]{color:#475569;border-top:1px solid #cbd5e1;margin-top:2rem;padding-top:1rem;font-size:.9em}.markdown-page .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markdown-page [data-footnote-ref]{font-weight:700}.markdown-page [data-footnote-backref]{white-space:nowrap;margin-inline-start:.2em}.markdown-page img{border-radius:.75rem;max-width:100%;height:auto;margin:.85rem 0;display:block;box-shadow:0 10px 26px #0f172a14}.markdown-page img.is-broken{background:#f8fafc;border:1px dashed #cbd5e1;min-height:120px;padding:.75rem}.markdown-page .markdown-mermaid{text-align:center;background:#f8fafc;border:1px solid #dbe4f0;border-radius:.85rem;margin:1rem 0;padding:1rem;overflow:auto}.markdown-page .markdown-mermaid svg{max-width:100%;height:auto;margin:0 auto;display:block}.markdown-page .markdown-mermaid .markdown-code-block{text-align:left;margin:0}.markdown-page .markdown-mermaid.is-error{text-align:left;background:#fff7f7;border-color:#fecaca}.markdown-page .markdown-mermaid-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:.65rem;margin-bottom:.75rem;padding:.65rem .75rem;font-size:.9rem}@media (width<=640px){.markdown-page{padding:24px 20px}.markdown-page pre{padding:.8rem}.markdown-page th,.markdown-page td{padding:.45rem .55rem}}.image-body{min-height:100%;padding:1rem}.image-stage{margin:0 auto;position:relative}.image-zoom-host{transform-origin:0 0;position:absolute;top:0;left:0}.image-view{background:#fff;max-width:none;display:block;box-shadow:0 16px 40px #0f172a14,0 2px 8px #0f172a0f}@media (width<=900px){:root[data-viewer-mode=backend] .viewer-workspace.has-index{grid-template-columns:minmax(0,1fr)}:root[data-viewer-mode=backend] .viewer-workspace.has-index .page-index{display:none!important}}@media (width<=768px){.viewer-meta,.whiteboard-panel,.drop-overlay{padding-inline:.75rem}.toolbar{gap:.45rem;padding:0;left:.5rem;right:.5rem}:root[data-viewer-mode=backend] .app-shell,:root[data-viewer-mode=url] .app-shell{grid-template-rows:minmax(0,1fr)}:root[data-viewer-mode=backend] .viewer-root,:root[data-viewer-mode=url] .viewer-root{grid-row:1}.empty-state{padding:20px 16px}.empty-state-panel{grid-template-columns:minmax(0,1fr);width:min(100%,520px);padding:26px 24px 20px}.empty-state-brand{margin-bottom:28px}.empty-brand-caption{font-size:10px}.empty-state-title{letter-spacing:-1.6px;font-size:clamp(30px,8vw,44px)}.empty-state-description{margin:16px 0 22px;font-size:12px}.empty-state-drop-hint{font-size:10px}.empty-state-visual{height:190px;margin-top:24px}.empty-visual-orbit{width:180px;height:180px}.empty-document{transform:translate(-50%,-50%)rotate(-5deg)scale(.65)}.empty-document-back{margin:-4px 0 0 12px;transform:translate(-50%,-50%)rotate(9deg)scale(.65)}.empty-privacy-seal{bottom:0;right:calc(50% - 124px);transform:rotate(2deg)scale(.8)}.empty-state-formats{gap:9px 13px;margin-top:24px;font-size:9px}.empty-formats-label{flex-basis:100%;margin:0;font-size:10px}.toolbar-readouts{right:.5rem}.toolbar-actions{width:auto;max-width:100%}.toolbar .toolbar-btn{padding:.5rem .8rem;font-size:.9rem}.toolbar-group-main{max-width:100%}.meta-line{width:100%;min-width:auto}.meta-line:first-child{flex-basis:100%;min-width:100%}.sheet-tabs,.sheet-body,.ppt-body,.word-body,.text-body,.markdown-body,.image-body{padding-inline:.75rem}.document-tab-item{max-width:min(78vw,260px)}.viewer-workspace.has-index{grid-template-columns:minmax(0,1fr)}.viewer-workspace.has-index .page-index{display:none!important}.page-index-list{gap:.62rem;padding:.6rem .5rem 1rem}.page-index-number{bottom:.24rem;right:.24rem}.whiteboard-control{width:100%}.whiteboard-panel{width:auto;max-width:calc(100% - 1rem);top:4.1rem;left:.5rem;right:.5rem}.app-modal{padding:.9rem}.app-modal-header,.app-modal-footer,.app-modal-body{padding-inline:1rem}.app-modal-header,.app-modal-footer,.batch-picker-hero{flex-direction:column;align-items:flex-start}.app-modal-close{align-self:flex-end}.app-modal-actions{flex-direction:column;width:100%}.app-modal-primary,.app-modal-secondary{width:100%}}@media (height<=520px) and (width>=769px){.empty-state{padding:16px 24px}.empty-state-panel{padding:20px 28px 16px}.empty-state-brand{margin-bottom:18px}.empty-state-badge{margin-bottom:10px}.empty-state-title{letter-spacing:-1.5px;font-size:32px}.empty-state-description{margin:12px 0 16px;font-size:12px;line-height:1.7}.empty-state-visual{height:250px}.empty-document{transform:translate(calc(-50% - 5px),calc(-50% - 8px))rotate(-5deg)scale(.8)}.empty-document-back{transform:translate(-50%,-50%)rotate(9deg)scale(.8)}.empty-visual-orbit{width:230px;height:230px}.empty-privacy-seal{transform-origin:100% 100%;bottom:0;transform:rotate(2deg)scale(.85)}.empty-state-formats{margin-top:18px;padding-top:12px}}@media (height<=520px) and (width<=768px){.empty-state-visual{display:none}.empty-state-brand{margin-bottom:18px}}.json-container{cursor:auto;overflow:hidden}.json-mode{width:100%;height:100%;min-height:0}.json-viewer{--json-font-size:14px;--json-line-height:22px;--json-key:#1558b0;--json-string:#147344;--json-number:#b35b0a;--json-boolean:#7b3fb2;--json-null:#8b5369;width:100%;min-width:0;height:100%;min-height:0;color:var(--text,#212529);background:var(--panel,#fff);-webkit-user-select:text;user-select:text;flex-direction:column;display:flex;overflow:hidden}:root[data-theme=dark] .json-viewer{--json-key:#8cbdff;--json-string:#8bd5ad;--json-number:#f4bc7d;--json-boolean:#c9a5f8;--json-null:#e5a3bc}.json-toolbar{border-bottom:1px solid var(--line,#dee2e6);background:var(--toolbar-surface,#fff);flex-wrap:wrap;align-items:center;gap:10px 20px;padding:14px 18px;display:flex}.json-heading{flex:220px;align-items:center;gap:10px;min-width:0;display:flex}.json-badge{color:var(--brand-strong,#0b5ed7);background:var(--brand-soft,#e7f1ff);letter-spacing:.04em;border-radius:6px;flex:none;padding:4px 7px;font:750 11px/1.2 Consolas,monospace}.json-filename{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.json-meta{color:var(--muted,#6c757d);flex:none;font-size:12px}.json-controls,.json-segments,.json-segment-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.json-controls label,.json-segments label{color:var(--muted,#6c757d);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.json-viewer select,.json-viewer button{border:1px solid var(--control-border,#ced4da);background:var(--toolbar-surface,#fff);max-width:100%;min-height:30px;color:var(--text,#212529);font:inherit;cursor:pointer;border-radius:6px;padding:5px 9px;font-size:12px}.json-viewer button:hover:not(:disabled),.json-viewer select:hover:not(:disabled){border-color:var(--control-hover-border,#9ec5fe);background:var(--toolbar-hover,#f3f7ff)}.json-viewer button:focus-visible,.json-viewer select:focus-visible,.json-viewport:focus-visible{outline:2px solid var(--brand,#0d6efd);outline-offset:-2px}.json-viewer :disabled{opacity:.5;cursor:default}.json-copy-status{min-width:0;color:var(--json-string);font-size:12px}.json-error{border-bottom:1px solid var(--line,#dee2e6);color:#b42318;overflow-wrap:anywhere;background:#fff4f2;flex:none;padding:12px 18px;font-size:13px;line-height:1.5}:root[data-theme=dark] .json-error{color:#ffb4a9;background:#35201f}.json-clipping{color:var(--muted,#6c757d);background:var(--toolbar-surface-subtle,#f8f9fa);padding:8px 18px;font-size:12px;line-height:1.5}.json-segments{border-bottom:1px solid var(--line,#dee2e6);background:var(--toolbar-surface-subtle,#f8f9fa);flex:none;padding:8px 18px}.json-segments [data-role=json-segment-range]{color:var(--muted,#6c757d);font:12px/1.4 Consolas,monospace}.json-viewer [hidden]{display:none!important}.json-viewport{overflow-anchor:none;overscroll-behavior:contain;background:var(--panel,#fff);min-width:0;min-height:0;font:var(--json-font-size)/var(--json-line-height) "Cascadia Code", Consolas, "D2Coding", "Noto Sans Mono", monospace;tab-size:4;flex:auto;position:relative;overflow:auto}.json-lines{min-width:100%;min-height:100%;position:relative}.json-line{width:max-content;min-width:100%;height:var(--json-line-height);line-height:var(--json-line-height);white-space:pre;align-items:baseline;display:flex;position:absolute;left:0}.json-line:hover{background:var(--toolbar-surface-subtle,#f8f9fa)}.json-line-number{z-index:1;border-right:1px solid var(--line,#dee2e6);text-align:right;color:var(--muted,#6c757d);background:var(--toolbar-surface-subtle,#f8f9fa);-webkit-user-select:none;user-select:none;flex:none;align-self:stretch;padding:0 12px 0 6px;position:sticky;left:0}.json-code{white-space:pre;flex:none;padding:0 16px;display:block}.json-line-clipped{color:var(--muted,#6c757d);flex:none;padding-right:16px;font-size:11px}.json-key{color:var(--json-key)}.json-string{color:var(--json-string)}.json-number{color:var(--json-number)}.json-boolean{color:var(--json-boolean)}.json-null{color:var(--json-null)}.json-punctuation{color:var(--muted,#6c757d)}@media (width<=600px){.json-toolbar{gap:10px;padding:11px 12px}.json-heading{flex-basis:100%}.json-controls{gap:8px 10px;width:100%}.json-meta{margin-left:auto}.json-error,.json-clipping,.json-segments,.json-code{padding-inline:12px}}.html-viewer,.yaml-viewer{--source-key:#1558b0;--source-string:#147344;--source-number:#9a560b;--source-special:#7b3fb2;--source-comment:#697586;--source-null:#8b5369}:root[data-theme=dark] .html-viewer,:root[data-theme=dark] .yaml-viewer{--source-key:#8cbdff;--source-string:#8bd5ad;--source-number:#f4bc7d;--source-special:#c9a5f8;--source-comment:#9da9b9;--source-null:#e5a3bc}.html-viewer .html-tag,.yaml-viewer .yaml-key{color:var(--source-key)}.html-viewer .html-attribute,.html-viewer .html-template,.yaml-viewer .yaml-boolean,.yaml-viewer .yaml-tag{color:var(--source-special)}.html-viewer .html-string,.yaml-viewer .yaml-string{color:var(--source-string)}.html-viewer .html-declaration,.html-viewer .html-entity,.yaml-viewer .yaml-number,.yaml-viewer .yaml-anchor,.yaml-viewer .yaml-scalar{color:var(--source-number)}.html-viewer .html-comment,.yaml-viewer .yaml-comment{color:var(--source-comment)}.yaml-viewer .yaml-null{color:var(--source-null)}.html-viewer .html-punctuation,.yaml-viewer .yaml-punctuation,.yaml-viewer .yaml-marker{color:var(--muted,#6c757d)}.model-container{cursor:auto;overflow:hidden}.model-mode{width:100%;height:100%;min-height:0}.model-viewer{width:100%;min-width:0;height:100%;min-height:0;color:var(--text,#212529);background:var(--panel,#fff);flex-direction:column;display:flex;overflow:hidden}.model-toolbar{border-bottom:1px solid var(--line,#dee2e6);background:var(--toolbar-surface,#fff);flex-wrap:wrap;flex:none;align-items:center;gap:9px 16px;padding:11px 15px;display:flex}.model-heading{flex:250px;align-items:center;gap:9px;min-width:0;display:flex}.model-badge{background:var(--brand-soft,#e7f1ff);color:var(--brand-strong,#0b5ed7);border-radius:6px;flex:none;padding:4px 7px;font:750 11px/1.2 Consolas,monospace}.model-filename{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:650;overflow:hidden}.model-meta{color:var(--muted,#6c757d);flex:none;margin-left:auto;font-size:11px}.model-controls{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.model-controls button{border:1px solid var(--control-border,#ced4da);background:var(--toolbar-surface,#fff);min-height:30px;color:var(--text,#212529);cursor:pointer;border-radius:6px;padding:4px 9px;font:12px/1.4 system-ui,sans-serif}.model-controls button:hover:not(:disabled){background:var(--toolbar-hover,#f3f7ff)}.model-controls button[aria-pressed=true]{color:var(--brand-strong,#0b5ed7);background:var(--brand-soft,#e7f1ff);border-color:var(--brand,#0d6efd)}.model-controls button:disabled{opacity:.5;cursor:default}.model-controls button:focus-visible,.model-viewport:focus-visible{outline:2px solid var(--brand,#0d6efd);outline-offset:-2px}.model-zoom{text-align:center;min-width:38px;color:var(--muted,#6c757d);font:11px/1.3 Consolas,monospace}.model-stage{flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden}.model-viewport{touch-action:none;min-width:0;min-height:0;position:absolute;inset:0}.model-canvas{touch-action:none;width:100%;height:100%;display:block}.model-loading{z-index:3;background:var(--panel,#fff);color:var(--muted,#6c757d);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:24px;font-size:14px;display:flex;position:absolute;inset:0}.model-loading progress{width:min(260px,80%);height:5px;accent-color:var(--brand,#0d6efd)}.model-hint{border:1px solid var(--line,#dee2e6);background:var(--toolbar-surface,#fff);max-width:calc(100% - 24px);color:var(--muted,#6c757d);text-align:center;pointer-events:none;opacity:.88;border-radius:20px;padding:5px 11px;font-size:11px;line-height:1.4;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.model-error{color:#b42318;overflow-wrap:anywhere;background:#fff4f2;flex:none;padding:10px 15px;font-size:12px;line-height:1.5}:root[data-theme=dark] .model-error{color:#ffb4a9;background:#35201f}.model-viewer[data-state=error] .model-hint{display:none}.model-viewer [hidden]{display:none!important}@media (width<=600px){.model-toolbar{gap:8px;padding:9px 10px}.model-heading{flex-basis:100%}.model-controls{justify-content:flex-end;gap:4px;width:100%}.model-controls button{padding-inline:7px;font-size:11px}.model-meta{font-size:10px}.model-hint{font-size:10px;bottom:9px}}.pcb-container{cursor:auto;overflow:hidden}.pcb-mode{width:100%;height:100%;min-height:0}.pcb-viewer{background:var(--panel,#fff);width:100%;min-width:0;height:100%;min-height:0;color:var(--text,#212529);flex-direction:column;display:flex;overflow:hidden}.pcb-toolbar{border-bottom:1px solid var(--line,#dee2e6);background:var(--toolbar-surface,#fff);flex-wrap:wrap;flex:none;align-items:center;gap:10px 18px;padding:12px 16px;display:flex}.pcb-heading{flex:260px;align-items:center;gap:10px;min-width:0;display:flex}.pcb-badge{color:var(--brand-strong,#0b5ed7);background:var(--brand-soft,#e7f1ff);border-radius:6px;flex:none;padding:4px 7px;font:750 11px/1.2 Consolas,monospace}.pcb-filename{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.pcb-meta{color:var(--muted,#6c757d);font-size:12px}.pcb-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pcb-controls button,.pcb-controls select{border:1px solid var(--control-border,#ced4da);min-height:30px;font:inherit;color:var(--text,#212529);background:var(--toolbar-surface,#fff);border-radius:6px;padding:4px 9px;font-size:12px}.pcb-controls button{cursor:pointer}.pcb-controls button:hover:not(:disabled){background:var(--toolbar-hover,#f3f7ff)}.pcb-controls :disabled{opacity:.5;cursor:default}.pcb-zoom{text-align:center;min-width:45px;color:var(--muted,#6c757d);font:12px/1.4 Consolas,monospace}.pcb-error,.pcb-warning{overflow-wrap:anywhere;border-bottom:1px solid var(--line,#dee2e6);flex:none;max-height:110px;padding:10px 16px;font-size:12px;line-height:1.5;overflow:auto}.pcb-error{color:#b42318;background:#fff4f2}.pcb-warning{color:#855315;background:#fff9e9}:root[data-theme=dark] .pcb-error{color:#ffb4a9;background:#35201f}:root[data-theme=dark] .pcb-warning{color:#f3d18d;background:#302819}.pcb-layer-list{border-bottom:1px solid var(--line,#dee2e6);background:var(--toolbar-surface-subtle,#f8f9fa);flex-wrap:wrap;flex:none;gap:8px 16px;max-height:130px;padding:10px 16px;font-size:12px;display:flex;overflow:auto}.pcb-layer-list label{overflow-wrap:anywhere;align-items:center;gap:5px;display:inline-flex}.pcb-layer-list input{accent-color:var(--brand,#0d6efd)}.pcb-stage{flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden}.pcb-viewport{touch-action:none;cursor:grab;--schematic-default-ink-color:#167446;--schematic-power-color:#934343;--schematic-text-color:#315f96;--schematic-accent-ink-color:#76518f;--schematic-alert-color:#b43e46;--schematic-fill-color:#fcfcf7;--schematic-pin-marker-fill:#fcfcf7;--schematic-sheet-frame-stroke:#a5acb6;background:#e6ebf2;position:absolute;inset:0;overflow:hidden}:root[data-theme=dark] .pcb-viewport{--schematic-default-ink-color:#7bd6a1;--schematic-power-color:#e7aaa0;--schematic-text-color:#99c3f5;--schematic-accent-ink-color:#d3b3eb;--schematic-alert-color:#ff9ba6;--schematic-fill-color:#172433;--schematic-pin-marker-fill:#172433;--schematic-sheet-frame-stroke:#7d8d9f;background:#111b2b}.pcb-viewport.pcb-panning{cursor:grabbing}.pcb-viewport:focus-visible,.pcb-controls :focus-visible{outline:2px solid var(--brand,#0d6efd);outline-offset:-2px}.pcb-svg-root{-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:100%;display:block}.pcb-svg-root .sheet-backdrop{fill:var(--schematic-fill-color)}.pcb-svg-root .sheet-frame,.pcb-svg-root .sheet-zone-separator,.pcb-svg-root .sheet-title-block>rect,.pcb-svg-root .sheet-title-block>line{fill:none;stroke:var(--schematic-sheet-frame-stroke);stroke-width:1px}.pcb-svg-root text{font-family:system-ui,Malgun Gothic,sans-serif}.pcb-svg.pcb-svg-root .pcb-board{fill:#123428;stroke:#7c9b8e}.pcb-svg.pcb-svg-root [data-layer=F\.Cu]{stroke:#ef6969}.pcb-svg.pcb-svg-root [data-layer=B\.Cu]{stroke:#609dec}.pcb-svg.pcb-svg-root .pcb-zone[data-layer=F\.Cu],.pcb-svg.pcb-svg-root .pcb-drawing[data-layer=F\.Cu][fill]:not([fill=none]){fill:#9c4b56}.pcb-svg.pcb-svg-root .pcb-zone[data-layer=B\.Cu],.pcb-svg.pcb-svg-root .pcb-drawing[data-layer=B\.Cu][fill]:not([fill=none]){fill:#385f9c}.pcb-svg.pcb-svg-root [data-layer=F\.SilkS],.pcb-svg.pcb-svg-root [data-layer=B\.SilkS]{stroke:#e9ece5}.pcb-svg.pcb-svg-root .pcb-drawing[data-layer=F\.SilkS][fill]:not([fill=none]),.pcb-svg.pcb-svg-root .pcb-drawing[data-layer=B\.SilkS][fill]:not([fill=none]){fill:#e9ece5}.pcb-svg.pcb-svg-root .pcb-pad{fill:#d6be79;stroke:#82734d}.pcb-svg.pcb-svg-root .pcb-via{fill:#c6b47c;stroke:#86774e}.pcb-svg.pcb-svg-root .pcb-pad-drill,.pcb-svg.pcb-svg-root .pcb-via-drill{fill:#071510;stroke:none}.pcb-loading{z-index:2;color:var(--muted,#6c757d);background:var(--panel,#fff);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;font-size:14px;display:flex;position:absolute;inset:0}.pcb-loading progress{width:min(260px,80%);height:5px;accent-color:var(--brand,#0d6efd)}.pcb-hint{border:1px solid var(--line,#dee2e6);background:var(--toolbar-surface,#fff);max-width:calc(100% - 20px);color:var(--muted,#6c757d);white-space:nowrap;pointer-events:none;opacity:.88;border-radius:20px;padding:5px 10px;font-size:11px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.pcb-viewer [hidden]{display:none!important}.pcb-viewer[data-state=error] .pcb-hint{display:none}@media (width<=600px){.pcb-toolbar{gap:8px;padding:10px 12px}.pcb-heading{flex-wrap:wrap;flex-basis:100%}.pcb-filename{flex:auto;max-width:calc(100% - 60px)}.pcb-meta{flex-basis:100%}.pcb-controls{justify-content:flex-end;width:100%}.pcb-controls button,.pcb-controls select{padding:4px 7px}.pcb-hint{font-size:10px}}.xml-viewer{--xml-tag:#1558b0;--xml-attribute:#7b3fb2;--xml-string:#147344;--xml-comment:#697586;--xml-cdata:#8b5369;--xml-processing:#97580c;--xml-entity:#9a560b}:root[data-theme=dark] .xml-viewer{--xml-tag:#8cbdff;--xml-attribute:#c9a5f8;--xml-string:#8bd5ad;--xml-comment:#9da9b9;--xml-cdata:#e5a3bc;--xml-processing:#f4bc7d;--xml-entity:#f4bc7d}.xml-viewer .xml-tag{color:var(--xml-tag)}.xml-viewer .xml-attribute{color:var(--xml-attribute)}.xml-viewer .xml-string{color:var(--xml-string)}.xml-viewer .xml-comment{color:var(--xml-comment)}.xml-viewer .xml-cdata{color:var(--xml-cdata)}.xml-viewer .xml-processing,.xml-viewer .xml-declaration{color:var(--xml-processing)}.xml-viewer .xml-entity{color:var(--xml-entity)}.xml-viewer .xml-punctuation{color:var(--muted,#6c757d)}.xml-viewer .xml-copy-status{color:var(--xml-string)}.dwfv-root{color:#111827;grid-template-rows:auto 1fr;height:100%;min-height:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid}.dwfv-toolbar{background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;padding:8px 12px;display:flex}.dwfv-toolbar button,.dwfv-toolbar select{font:inherit}.dwfv-workspace{grid-template-columns:minmax(220px,300px) 1fr;min-height:0;display:grid}.dwfv-tree{background:#fff;border-right:1px solid #d6d8dd;padding:8px;font-size:12px;overflow:auto}.dwfv-tree[style*="display: none"]+.dwfv-stage{grid-column:1/-1}.dwfv-tree-header{margin-bottom:4px;font-weight:700}.dwfv-tree-stats{color:#6b7280;margin-bottom:8px}.dwfv-tree details{margin-left:8px}.dwfv-tree summary{cursor:pointer;padding:2px 0}.dwfv-tree-meta{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;padding-left:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;overflow:hidden}.dwfv-stage{background:#e5e7eb;position:relative;overflow:hidden}.dwfv-canvas{width:100%;height:100%;position:absolute;inset:0}.dwfv-webgl-canvas{pointer-events:none}.dwfv-overlay-canvas{pointer-events:auto;touch-action:none;cursor:grab}.dwfv-overlay-canvas:active{cursor:grabbing}.dwfv-status{color:#4b5563;margin-left:auto;font-size:12px}.dwfv-warn{color:#92400e}.cad-viewer-container{min-width:0;min-height:0;position:relative;overflow:hidden}.cad-viewer-canvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.cad-viewer-canvas.is-dragging{cursor:grabbing}.cad-viewer-webgl-canvas{z-index:0;position:relative}.cad-viewer-text-overlay{contain:strict;-webkit-user-select:none;user-select:none;display:block}.cad-viewer-native-host{z-index:2;background:#05070d;min-width:0;min-height:0;display:none;position:absolute;inset:0}.cad-viewer-native-host.is-active{display:block}.cad-viewer-native-host .dwfv-root{color:#dbeafe;background:#05070d;height:100%;min-height:0}.cad-viewer-native-host .dwfv-toolbar{color:#e5e7eb;background:#0f172af5;border-bottom:1px solid #475569a6;gap:6px;min-height:34px;padding:5px 8px}.cad-viewer-native-host .dwfv-toolbar button,.cad-viewer-native-host .dwfv-toolbar select{color:#e5e7eb;background:#111827;border:1px solid #64748bbf;border-radius:6px;height:24px;font-size:12px}.cad-viewer-native-host .dwfv-toolbar button{cursor:pointer;padding:0 8px}.cad-viewer-native-host .dwfv-toolbar button:hover,.cad-viewer-native-host .dwfv-toolbar select:hover{color:#bfdbfe;border-color:#60a5fa}.cad-viewer-native-host .dwfv-status{color:#93c5fd;font-size:12px}.cad-viewer-native-host .dwfv-workspace{background:#05070d;min-height:0}.cad-viewer-native-host .dwfv-stage{background:#05070d}.cad-viewer-native-host .dwfv-tree{color:#dbeafe;background:#0f172a;border-right:1px solid #475569b3}.cad-viewer-native-host .dwfv-tree-stats,.cad-viewer-native-host .dwfv-tree-meta{color:#94a3b8}.cad-viewer-native-host .dwfv-warn{color:#fbbf24}.cad-container{cursor:auto;overflow:hidden}.cad-mode{width:100%;height:100%;min-height:0}.cad-viewer{background:var(--panel,#fff);width:100%;min-width:0;height:100%;min-height:0;color:var(--text,#212529);flex-direction:column;display:flex;overflow:hidden}.cad-toolbar{border-bottom:1px solid var(--line,#dee2e6);background:var(--toolbar-surface,#fff);flex-wrap:wrap;flex:none;align-items:center;gap:10px 18px;padding:12px 16px;display:flex}.cad-heading{flex:240px;align-items:center;gap:10px;min-width:0;display:flex}.cad-badge{color:var(--brand-strong,#0b5ed7);background:var(--brand-soft,#e7f1ff);letter-spacing:.04em;border-radius:6px;flex:none;padding:4px 7px;font:750 11px/1.2 Consolas,monospace}.cad-filename{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.cad-meta{color:var(--muted,#6c757d);flex:none;font-size:12px}.cad-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cad-controls button{border:1px solid var(--control-border,#ced4da);min-height:30px;color:var(--text,#212529);background:var(--toolbar-surface,#fff);font:inherit;cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px}.cad-controls button:hover:not(:disabled){background:var(--toolbar-hover,#f3f7ff);border-color:var(--control-hover-border,#9ec5fe)}.cad-controls button:disabled{opacity:.5;cursor:default}.cad-controls button:focus-visible,.cad-viewport:focus-visible{outline:2px solid var(--brand,#0d6efd);outline-offset:-2px}.cad-zoom{text-align:center;min-width:48px;color:var(--muted,#6c757d);font:12px/1.3 Consolas,monospace}.cad-error,.cad-warning{overflow-wrap:anywhere;border-bottom:1px solid var(--line,#dee2e6);flex:none;padding:10px 16px;font-size:12px;line-height:1.5}.cad-error{color:#b42318;background:#fff4f2}.cad-warning{color:#855315;background:#fff9e9;max-height:110px;overflow:auto}:root[data-theme=dark] .cad-error{color:#ffb4a9;background:#35201f}:root[data-theme=dark] .cad-warning{color:#f3d18d;background:#302819}.cad-stage{flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden}.cad-viewport{touch-action:none;background:#fff;width:100%;min-width:0;height:100%;min-height:0;position:absolute;inset:0}:root[data-theme=dark] .cad-viewport{background:#0b1220}.cad-loading{z-index:3;background:var(--panel,#fff);color:var(--muted,#6c757d);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:24px;font-size:14px;display:flex;position:absolute;inset:0}.cad-loading progress{width:min(260px,80%);height:5px;accent-color:var(--brand,#0d6efd)}.cad-hint{border:1px solid var(--line,#dee2e6);background:var(--toolbar-surface,#fff);max-width:calc(100% - 24px);color:var(--muted,#6c757d);white-space:nowrap;pointer-events:none;opacity:.85;border-radius:20px;padding:5px 10px;font-size:11px;line-height:1.4;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.cad-viewer[data-state=error] .cad-hint{display:none}.cad-viewer [hidden]{display:none!important}@media (width<=600px){.cad-toolbar{gap:8px;padding:10px 12px}.cad-heading{flex-basis:100%}.cad-meta{margin-left:auto;font-size:11px}.cad-controls{justify-content:flex-end;width:100%}.cad-error,.cad-warning{padding-inline:12px}.cad-hint{font-size:10px;bottom:9px}}.hwp-reader-controls{z-index:32;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));border:1px solid var(--control-border);background:var(--toolbar-surface);width:max-content;max-width:calc(100% - 16px);color:var(--text);box-shadow:var(--shadow-panel);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;touch-action:manipulation;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding:4px;font:500 12px/1.2 Pretendard,Noto Sans KR,Malgun Gothic,sans-serif;display:flex;position:absolute;transform:translate(-50%)}.hwp-reader-controls[hidden]{display:none!important}.hwp-reader-controls .hwp-reader-button{min-width:36px;min-height:36px;color:inherit;font:inherit;white-space:nowrap;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:10px;flex:none;padding:7px 9px}.hwp-reader-controls .hwp-reader-button[data-action=previous],.hwp-reader-controls .hwp-reader-button[data-action=next]{padding:0;font:400 26px/1 sans-serif}.hwp-reader-controls .hwp-reader-button:hover:not(:disabled){color:var(--brand-strong);background:var(--toolbar-hover)}.hwp-reader-controls .hwp-reader-button:disabled{color:var(--muted);opacity:.4;cursor:default}.hwp-reader-pages{min-width:0;color:var(--muted);justify-content:center;align-items:center;gap:4px;display:inline-flex}.hwp-reader-controls .hwp-reader-page-input{appearance:textfield;border:1px solid var(--control-border);background:var(--toolbar-surface-subtle);width:44px;min-width:0;height:36px;color:var(--text);font:inherit;text-align:center;-webkit-user-select:text;user-select:text;border-radius:9px;padding:6px 3px}.hwp-reader-page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.hwp-reader-page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hwp-reader-controls .hwp-reader-button:focus-visible,.hwp-reader-controls .hwp-reader-page-input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.hwp-reader-total{text-overflow:ellipsis;white-space:nowrap;max-width:7ch;overflow:hidden}@media (width<=900px){:root[data-viewer-mode=url] .hwp-reader-controls,:root[data-viewer-mode=backend] .hwp-reader-controls{bottom:calc(76px + env(safe-area-inset-bottom,0px))}.hwp-reader-controls .hwp-reader-button{min-width:44px;min-height:44px}.hwp-reader-controls .hwp-reader-page-input{height:44px;font-size:16px}}@media (pointer:coarse){.hwp-reader-controls .hwp-reader-button{min-width:44px;min-height:44px}.hwp-reader-controls .hwp-reader-page-input{height:44px;font-size:16px}}.contact-trigger{border:1px solid var(--control-border);background:var(--toolbar-surface);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:9px;grid-area:1/2/3;place-items:center;padding:0;display:grid}.contact-trigger:hover,.contact-close:hover{color:var(--brand-strong);border-color:var(--control-hover-border);background:var(--brand-soft)}.contact-trigger svg,.contact-modal svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.contact-trigger:focus-visible,.contact-modal :focus-visible{outline:2px solid var(--brand-strong);outline-offset:3px}body.contact-modal-open{overflow:hidden}.contact-modal{border:1px solid var(--line);background:var(--panel);width:min(520px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--text);box-shadow:var(--shadow-panel);border-radius:20px;padding:0;overflow:auto}.contact-modal::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070e1c94}.contact-panel{padding:28px}.contact-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.contact-eyebrow{color:var(--brand-strong);letter-spacing:.14em;margin:0 0 10px;font-size:10px;font-weight:700}.contact-header h2{letter-spacing:-.04em;margin:0;font-size:24px}.contact-description{color:var(--muted);margin:14px 0 22px;font-size:14px;line-height:1.7}.contact-close{border:1px solid var(--line);background:var(--toolbar-surface);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:9px;flex:none;place-items:center;padding:0;display:grid}.contact-fields,.contact-types{border:0;min-width:0;margin:0;padding:0}.contact-fields{gap:16px;display:grid}.contact-types legend{margin-bottom:9px;padding:0;font-size:12px;font-weight:600}.contact-type-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.contact-type-options label{cursor:pointer;min-width:0;position:relative}.contact-type-options input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact-type-options span{border:1px solid var(--line);background:var(--toolbar-surface);color:var(--muted);text-align:center;border-radius:8px;padding:10px 4px;font-size:12px;display:block}.contact-type-options input:checked+span{border-color:var(--brand-strong);background:var(--brand-soft);color:var(--brand-strong);font-weight:700}.contact-type-options input:focus-visible+span{outline:2px solid var(--brand-strong);outline-offset:3px}.contact-field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.contact-field{min-width:0;font-size:12px;font-weight:600;display:block}.contact-required,.contact-optional{margin-left:4px;font-size:10px;font-weight:400}.contact-required{color:var(--brand-strong)}.contact-optional{color:var(--muted)}.contact-field input,.contact-field textarea{border:1px solid var(--control-border);background:var(--toolbar-surface-subtle);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:8px;margin-top:8px;padding:11px 12px;font-size:13px;font-weight:400;line-height:1.5;display:block}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--muted);opacity:1}.contact-field textarea{resize:vertical;min-height:112px;max-height:240px}.contact-fields:disabled{opacity:.65}.contact-note{color:var(--muted);word-break:keep-all;margin:14px 0 0;font-size:11px;line-height:1.6}.contact-submit{color:#fff;width:100%;min-height:44px;font:inherit;cursor:pointer;background:#2563eb;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:12px;font-size:14px;font-weight:700;display:flex}.contact-submit:hover{background:#1d4ed8}.contact-submit:disabled{opacity:.6;cursor:wait}.contact-status{color:var(--muted);word-break:keep-all;overflow-wrap:anywhere;margin:12px 0 0;font-size:12px;line-height:1.6}.contact-status:empty{display:none}.contact-status[data-state=success]{color:#15803d}.contact-status[data-state=error]{color:#b91c1c}:root[data-theme=dark] .contact-status[data-state=success]{color:#86efac}:root[data-theme=dark] .contact-status[data-state=error]{color:#fca5a5}@media (width<=480px){.contact-panel{padding:22px}.contact-field-pair{grid-template-columns:minmax(0,1fr);gap:16px}.contact-type-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.contact-modal,.contact-trigger{display:none!important}.contact-modal::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}}
