:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-bg:#2563eb14;--error:#dc2626;--error-bg:#fef2f2;--success:#16a34a;--success-bg:#f0fdf4;--shadow:#0000001a 0 4px 12px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#111827;--border:#374151;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-bg:#3b82f626;--error:#f87171;--error-bg:#dc26261a;--success:#4ade80;--success-bg:#16a34a1a;--shadow:#0006 0 4px 12px}}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2{color:var(--text-h);margin:0;font-weight:600}h1{letter-spacing:-.5px;font-size:28px}h2{margin-bottom:12px;font-size:18px}.container{max-width:1400px;margin:0 auto;padding:48px 24px}.description{margin:8px 0 32px}.upload-area{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:12px;padding:48px 24px;transition:border-color .2s,background .2s}.upload-area svg{color:var(--accent);margin-bottom:12px}.upload-area p{margin:4px 0}.upload-area .or{color:var(--text);font-size:14px}.upload-area.drag-over,.upload-area:hover{border-color:var(--accent);background:var(--accent-bg)}.upload-area.has-file{border-style:solid;border-color:var(--accent);padding:24px}.file-label{background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;margin-top:8px;padding:8px 20px;font-size:15px;font-weight:500;transition:background .2s;display:inline-block}.file-label:hover{background:var(--accent-hover)}.file-info{background:var(--accent-bg);color:var(--text-h);border-radius:8px;justify-content:center;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;font-weight:500;display:flex}.remove-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px}.remove-btn:hover{background:var(--border)}.sheet-selector{align-items:center;gap:12px;margin-top:16px;display:flex}.sheet-selector label{color:var(--text-h);font-weight:500}.sheet-selector select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:6px 12px;font-size:15px}.format-selector{align-items:center;gap:16px;margin-top:12px;display:flex}.format-selector label{color:var(--text-h);cursor:pointer;align-items:center;gap:4px;font-weight:500;display:flex}.format-selector input[type=radio]{accent-color:var(--accent)}.print-area-option{align-items:center;gap:8px;margin-top:12px;display:flex}.print-area-option label{color:var(--text-h);cursor:pointer;align-items:center;gap:4px;font-weight:500;display:flex}.print-area-option input[type=checkbox]{accent-color:var(--accent)}.print-area-range{color:var(--text);font-size:.85em;font-family:var(--mono)}.preview-area{border:1px solid var(--border);border-radius:8px;margin-top:24px;overflow:hidden}.preview-area iframe{background:#fff;border:none;width:100%;height:70vh;display:block}.print-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:16px;padding:12px;font-size:16px;font-weight:600;transition:background .2s}.print-btn:hover{background:var(--accent-hover)}.status{text-align:center;border-radius:8px;margin-top:16px;padding:12px 16px;font-weight:500}.status.error{background:var(--error-bg);color:var(--error)}.status.success{background:var(--success-bg);color:var(--success)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none!important}.preview-container{flex-direction:column;gap:12px;margin-top:24px;display:flex}.download-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .2s}.download-btn:hover{background:var(--accent-hover)}
