:root{--ink: #141b2e;--ink-2: #232c44;--brand: #2e3cc0;--brand-strong: #2430a3;--brand-weak: #eaecfb;--seal: #dc4a33;--seal-weak: #fdeae6;--canvas: #eef1f6;--surface: #ffffff;--surface-2: #f7f9fc;--line: #e2e7f0;--line-strong: #cfd6e4;--text: #1c2433;--muted: #69728a;--on-ink: #f3f5fa;--on-ink-muted: #9aa3bd;--font-sans: "Manrope", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Roboto Mono", "Courier New", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--shadow-sm: 0 1px 2px rgba(20, 27, 46, .06), 0 1px 1px rgba(20, 27, 46, .04);--shadow-md: 0 4px 12px rgba(20, 27, 46, .08), 0 1px 3px rgba(20, 27, 46, .06);--shadow-lg: 0 18px 48px rgba(20, 27, 46, .16), 0 4px 12px rgba(20, 27, 46, .08);--ease: cubic-bezier(.2, .7, .2, 1);font-family:var(--font-sans);line-height:1.5;font-weight:400;color:var(--text);background-color:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:var(--canvas)}#root{width:100%;height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;letter-spacing:-.01em;color:var(--text)}button{font-family:inherit}.eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.data{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background-color:var(--line-strong);border:3px solid transparent;background-clip:padding-box;border-radius:var(--radius-pill)}*::-webkit-scrollbar-thumb:hover{background-color:var(--muted)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.pdf-viewer{position:relative;display:flex;flex-direction:column;height:100%;background-color:var(--canvas);background-image:radial-gradient(var(--line-strong) 1px,transparent 1px);background-size:22px 22px}.pdf-viewer-canvas-container{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:var(--space-6)}.pdf-viewer-canvas-container canvas{background-color:#fff;border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow-lg)}.pdf-viewer-controls{position:absolute;bottom:var(--space-5);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);padding:6px;background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-lg)}.zoom-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background-color:transparent;color:var(--text);cursor:pointer;border-radius:var(--radius-pill);transition:background-color .15s var(--ease),color .15s var(--ease)}.zoom-button:hover{background-color:var(--brand-weak);color:var(--brand)}.zoom-value{min-width:52px;text-align:center;font-size:13px;font-weight:600;color:var(--text)}.page-thumbnail-sidebar{width:224px;flex-shrink:0;height:100%;background-color:var(--surface);border-right:1px solid var(--line);overflow-y:auto;padding:var(--space-4)}.sidebar-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}.page-count{font-size:12px;font-weight:600;color:var(--muted)}.selected-count{margin-left:auto;font-size:11px;font-weight:600;color:var(--seal);background-color:var(--seal-weak);padding:2px 8px;border-radius:var(--radius-pill)}.no-document-message{color:var(--muted);text-align:center;padding:var(--space-6) var(--space-4);font-size:14px}.thumbnail-list{display:flex;flex-direction:column;gap:var(--space-3)}.thumbnail-item{border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease);background-color:var(--surface);overflow:hidden}.thumbnail-item:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.thumbnail-item.active{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-weak)}.thumbnail-item.selected{border-color:var(--seal)}.thumbnail-image-container{width:100%;aspect-ratio:1 / 1.414;display:flex;align-items:center;justify-content:center;background-color:var(--surface-2)}.thumbnail-image{max-width:100%;max-height:100%;object-fit:contain}.thumbnail-loading{color:var(--muted);font-size:12px}.thumbnail-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);background-color:var(--surface)}.page-number{font-size:12px;font-weight:600;color:var(--muted)}.thumbnail-item.active .page-number{color:var(--brand)}.page-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--seal)}@media (max-width: 768px){.page-thumbnail-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--line)}.thumbnail-list{flex-direction:row;overflow-x:auto;padding-bottom:var(--space-2)}.thumbnail-item{flex:0 0 140px}}.editing-toolbar{width:248px;flex-shrink:0;background-color:var(--surface);border-left:1px solid var(--line);padding:var(--space-5) var(--space-4);overflow-y:auto}.toolbar-section{margin-bottom:var(--space-6)}.toolbar-section:last-child{margin-bottom:0}.toolbar-heading{display:block;margin:0 0 var(--space-3) 2px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:var(--space-2)}.tool-stack{display:flex;flex-direction:column;gap:var(--space-2)}.tool-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:var(--space-3) var(--space-2);border:1px solid var(--line);background-color:var(--surface);color:var(--text);cursor:pointer;border-radius:var(--radius-md);font-size:13px;font-weight:600;transition:border-color .15s var(--ease),background-color .15s var(--ease),color .15s var(--ease)}.tool-button svg{color:var(--muted);transition:color .15s var(--ease)}.tool-button:hover:not(:disabled){border-color:var(--brand);background-color:var(--brand-weak);color:var(--brand)}.tool-button:hover:not(:disabled) svg{color:var(--brand)}.tool-button:disabled{opacity:.45;cursor:not-allowed}.tool-button.active{border-color:var(--seal);background-color:var(--seal-weak);color:var(--seal)}.tool-button.active svg{color:var(--seal)}.tool-button-wide{flex-direction:row;justify-content:flex-start;gap:var(--space-2);padding:var(--space-3)}.color-picker{margin-top:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background-color:var(--surface-2)}.color-picker label{font-size:13px;font-weight:600;color:var(--muted)}.color-picker input[type=color]{width:44px;height:26px;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background-color:transparent;cursor:pointer}@media (max-width: 768px){.editing-toolbar{width:100%;border-left:none;border-top:1px solid var(--line)}}.export-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:9px 18px;background-color:#fff;color:var(--ink);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:700;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background-color .18s var(--ease);box-shadow:var(--shadow-sm)}.export-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.export-button:active:not(:disabled){transform:translateY(0)}.export-button:disabled{background-color:#ffffff1f;color:var(--on-ink-muted);cursor:not-allowed}.app{display:flex;flex-direction:column;height:100vh;background-color:var(--canvas);position:relative;overflow:hidden}.app-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-5);height:60px;flex-shrink:0;background-color:var(--ink);color:var(--on-ink);border-bottom:1px solid rgba(255,255,255,.06)}.brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.brand-mark{flex-shrink:0}.brand-name{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--on-ink);white-space:nowrap}.brand-badge{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.12em;color:var(--on-ink);padding:2px 7px;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-pill);line-height:1.4}.app-bar-actions{display:flex;align-items:center;gap:var(--space-3)}.open-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:9px 16px;background-color:#ffffff14;color:var(--on-ink);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:background-color .18s var(--ease),border-color .18s var(--ease)}.open-button:hover{background-color:#ffffff29;border-color:#ffffff47}.workspace{display:flex;flex:1;min-height:0;overflow:hidden}.stage{flex:1;min-width:0;overflow:hidden}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px;background-position:center}.empty-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:460px;width:100%;padding:var(--space-7) var(--space-6);background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:rise .5s var(--ease) both}.empty-mark{margin-bottom:var(--space-4)}.empty-title{font-size:26px;font-weight:800;color:var(--text);margin-bottom:var(--space-2)}.empty-lead{font-size:15px;color:var(--muted);margin:0 0 var(--space-5) 0;line-height:1.6}.empty-cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:13px 28px;background-color:var(--brand);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-md);transition:background-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}.empty-cta:hover{background-color:var(--brand-strong);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.empty-cta:active{transform:translateY(0)}.empty-hint{font-size:13px;color:var(--muted);margin:var(--space-4) 0 0 0}.empty-trust{display:inline-flex;align-items:center;gap:var(--space-2);font-size:12.5px;color:var(--muted);margin:var(--space-5) 0 0 0;padding-top:var(--space-4);border-top:1px solid var(--line);width:100%;justify-content:center}.empty-trust svg{color:var(--brand);flex-shrink:0}.drop-overlay{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background-color:#141b2e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .15s var(--ease) both}.drop-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-7);width:min(640px,100%);color:#fff;border:2px dashed rgba(255,255,255,.6);border-radius:var(--radius-lg);font-size:18px;font-weight:700}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.app-bar{padding:0 var(--space-4);gap:var(--space-2)}.brand-name{font-size:15px}.app-bar-actions{gap:var(--space-2)}.open-button,.export-button{white-space:nowrap}.workspace{flex-direction:column;overflow-y:auto}.stage{min-height:70vh}.empty-card{padding:var(--space-6) var(--space-5)}.empty-title{font-size:22px}}@media (max-width: 560px){.brand-badge,.btn-label{display:none}.open-button,.export-button{padding:9px}}
