:root{--font:"Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--ink:#23272c;--ink-muted:#5f6469;--ink-faint:#8c8f94;--accent:#2971c6;--accent-dark:#0058b1;--accent-tint:#2973c51f;--accent-glow:#2871c74d;--surface:#fff;--surface-sunken:#f5f7f9;--surface-app:#f2f4f6;--border:#e3e5e7;--border-strong:#ced1d5;--shadow-card:0 1px 3px #59666614;--shadow-paper:0 1px 3px #59666614, 0 18px 46px #5d646c21;--shadow-float:0 6px 24px #3e4b5129;--amber-bg:#fef6d4;--amber-border:#e9ca89;--amber-text:#663d00;--violet:#7e5db1;--violet-tint:#7b5ab51f;--gray-chip-bg:#e6e8ea;--gray-chip-text:#4b4d50;--danger:#c92f33;font-family:var(--font);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--surface-app);height:100%;color:var(--ink);margin:0;overflow:hidden}#app{height:100%}button{font-family:inherit}.app-shell{flex-direction:column;height:100%;display:flex}.app-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:20;background:#ffffffd9;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:60px;padding:0 24px;display:flex}.header-left{align-items:center;gap:16px;min-width:0;display:flex}.brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-badge{background:var(--accent);color:#fff;width:30px;height:30px;box-shadow:0 2px 8px var(--accent-glow);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-badge svg{width:17px;height:17px}.brand-text{flex-direction:column;line-height:1.25;display:flex}.brand-title{font-size:15px;font-weight:700}.brand-subtitle{color:var(--ink-muted);font-size:11px}.file-meta{border-left:1px solid var(--border);align-items:center;gap:10px;min-width:0;padding-left:16px;display:flex}.format-chip{letter-spacing:.02em;background:var(--gray-chip-bg);color:var(--gray-chip-text);border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:700}.format-chip.chip-blue{background:var(--accent-tint);color:var(--accent-dark)}.format-chip.chip-violet{background:var(--violet-tint);color:var(--violet)}.filename{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;max-width:30vw;font-size:13px;overflow:hidden}.file-size{color:var(--ink-faint);white-space:nowrap;flex-shrink:0;font-size:11.5px}.state-chip{border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:600}.state-chip.is-editable{color:#005a1c;background:#32954e24}.state-chip.is-readonly{background:var(--gray-chip-bg);color:var(--gray-chip-text)}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.action-btn{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.action-btn svg{flex-shrink:0;width:16px;height:16px}.action-btn:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--border-strong)}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn.active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-dark)}.action-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.action-btn.primary:hover:not(:disabled){background:var(--accent-dark)}.action-btn.primary:disabled{box-shadow:none;opacity:1;background:#86a1c4;border-color:#86a1c4}.format-toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:8px 24px;display:flex;overflow-x:auto}.format-toolbar .tb-group{flex-shrink:0}.format-toolbar button{white-space:nowrap}.format-toolbar.is-disabled{opacity:.55}.tb-group{border-right:1px solid var(--border);align-items:center;gap:2px;padding:0 8px;display:flex}.tb-group:last-child{border-right:none}.format-toolbar button,.format-toolbar select{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;height:30px;padding:0 9px;font-size:13px}.format-toolbar button:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--border)}.format-toolbar button:disabled,.format-toolbar select:disabled{cursor:not-allowed}.drag-overlay{z-index:200;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);opacity:0;visibility:hidden;pointer-events:none;background:#2971c61a;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:fixed;inset:0}.drag-overlay.show{opacity:1;visibility:visible}.drag-overlay-card{border:2px dashed var(--accent);box-shadow:var(--shadow-float);color:var(--accent-dark);background:#fffffff5;border-radius:20px;flex-direction:column;align-items:center;gap:12px;padding:36px 52px;font-size:15px;font-weight:700;display:flex}.drag-overlay-icon{color:var(--accent);display:flex}.drag-overlay-icon svg{stroke-width:1.3px;width:40px;height:40px}.toast{z-index:50;background:var(--amber-bg);border:1px solid var(--amber-border);width:min(90vw,480px);color:var(--amber-text);box-shadow:var(--shadow-float);opacity:0;pointer-events:none;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:12.5px;line-height:1.5;transition:opacity .22s,transform .22s;display:flex;position:fixed;top:72px;left:50%;transform:translate(-50%,-10px)}.toast.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.toast-icon{flex-shrink:0;margin-top:1px}.toast-icon svg{width:16px;height:16px}.toast p{flex:1;margin:0}.toast-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px;display:flex}.toast-close:hover{opacity:1;background:#0000000f}.toast-close svg{width:14px;height:14px}.status-line{color:var(--ink-muted);text-align:center;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 24px;font-size:12px}.status-line.error{color:var(--danger);font-weight:600}.workspace{flex:1;min-height:0;display:flex;overflow:hidden}.panel{flex-shrink:0;height:100%;padding:20px 16px;overflow-y:auto}.panel-pages{border-right:1px solid var(--border);background:var(--surface-sunken);width:190px}.panel-heading{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.panel-heading svg{width:14px;height:14px}.page-count{background:var(--gray-chip-bg);color:var(--gray-chip-text);text-transform:none;letter-spacing:normal;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:700}.page-list{flex-direction:column;gap:12px;display:flex}.page-thumb{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:5px;padding:0;display:flex}.page-thumb:focus-visible{outline:none}.page-thumb:focus-visible .page-thumb-canvas-wrap{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.page-thumb-canvas-wrap{aspect-ratio:1/1.4142;background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-card);border-radius:5px;transition:border-color .15s,box-shadow .15s;display:block;overflow:hidden}.page-thumb-canvas-wrap canvas{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.page-thumb-label{color:var(--ink-muted);font-size:11.5px;font-weight:600}.page-thumb:hover .page-thumb-canvas-wrap{border-color:var(--border-strong)}.page-thumb.active .page-thumb-canvas-wrap{border-color:var(--accent);box-shadow:0 4px 14px var(--accent-glow)}.page-thumb.active .page-thumb-label{color:var(--accent-dark)}.pages-empty{color:var(--ink-faint);margin:0;font-size:12px;line-height:1.6}.canvas-area{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;padding:32px 24px;display:flex;position:relative;overflow-y:auto}.dropzone{border:1px solid var(--border);text-align:center;background:var(--surface);width:100%;max-width:480px;box-shadow:var(--shadow-card);border-radius:16px;margin:auto 0;padding:48px 32px;transition:border-color .15s,box-shadow .15s}.dropzone.dragover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.dz-icon{color:var(--accent);margin-bottom:12px;display:inline-flex}.dz-icon svg{stroke-width:1.3px;width:40px;height:40px}.dz-title{color:var(--ink);margin:0 0 18px;font-size:14.5px}.dz-open-btn{margin:0 auto 18px}.dz-badges{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:12px;display:flex}.dz-badge{background:var(--accent-tint);color:var(--accent-dark);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.dz-badge-muted{background:var(--gray-chip-bg);color:var(--gray-chip-text)}.dz-hint{color:var(--ink-faint);margin:0 0 20px;font-size:11.5px;line-height:1.5}.dz-safe-note{background:var(--accent-tint);color:var(--accent-dark);text-align:left;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:600;line-height:1.5;display:flex}.dz-safe-note .safe-icon{flex-shrink:0;display:flex}.dz-safe-note .safe-icon svg{width:16px;height:16px}.paper-wrap{justify-content:center;width:100%;padding-bottom:24px;display:flex}.paper{background:var(--surface);width:100%;max-width:720px;box-shadow:var(--shadow-paper);transform-origin:top;border-radius:6px;transition:transform .15s}.editor{outline:none;min-height:60vh;padding:56px 64px;font-size:15px;line-height:1.75}.editor.readonly{cursor:default}.editor p{margin:0 0 var(--docx-p-gap,12px)}.editor .plain-text{white-space:pre-wrap;word-break:break-word}.editor h1,.editor h2,.editor h3{scroll-margin-top:24px}.editor table{border-collapse:collapse;width:100%;margin:12px 0}.editor table td,.editor table th{border:1px solid var(--border);vertical-align:top;padding:7px 9px}.editor .hwpx-readonly{background:var(--surface-sunken);border-radius:6px;padding:2px 4px}.editor hr.hwpx-section-break{border:none;border-top:1px dashed var(--border);margin:28px 0}.zoom-bar{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-float);border:1px solid var(--border);background:#ffffffeb;border-radius:999px;align-items:center;gap:4px;padding:6px 8px;display:flex;position:sticky;bottom:16px}.zoom-bar button{width:28px;height:28px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;display:flex}.zoom-bar button:hover{background:var(--surface-sunken)}.zoom-bar button svg{width:16px;height:16px}.zoom-bar span{color:var(--ink-muted);text-align:center;min-width:40px;font-size:12px;font-weight:600}.app-footer{color:var(--ink-faint);text-align:center;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;padding:8px 24px;font-size:11px;line-height:1.5}.app-footer p{margin:0 0 4px}.app-footer-nav{justify-content:center;gap:14px;display:flex}.app-footer-nav a{color:var(--ink-muted);text-decoration:none}.app-footer-nav a:hover{color:var(--ink);text-decoration:underline}@media (width<=1100px){.panel-pages{display:none}}@media (width<=820px){.brand-subtitle,.action-btn span{display:none}.action-btn{justify-content:center;width:42px;height:42px;padding:0}.filename{max-width:20vw}.format-toolbar{justify-content:flex-start}.format-toolbar button,.format-toolbar select{min-width:36px;height:36px}.zoom-bar button{width:34px;height:34px}}@media (width<=560px){.file-meta{display:none}.editor{padding:32px 24px}}@media print{@page{size:auto;margin:0}html,body{height:auto;overflow:visible}.app-header,.format-toolbar,.status-line,.toast,.drag-overlay,.panel-pages,.zoom-bar,.app-footer,.dropzone{display:none!important}.workspace,.canvas-area{height:auto;padding:0;display:block;overflow:visible}.paper{box-shadow:none;max-width:none;transform:none!important}.editor{padding:15mm}}
