:root{--bg:#f6f7f9;--surface:#ffffff;--border:#e2e5ea;--text:#1a1d23;--muted:#6b7280;--accent:#2563eb;--accent-soft:#eff4ff;--danger:#b42318}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.7}main{height:100vh}.dropzone{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center}.dropzone-lang{position:absolute;top:16px;right:16px}.dropzone.dragging{background:var(--accent-soft)}.dropzone h1{margin:0;font-size:clamp(24px,4vw,36px)}.lead{margin:0;max-width:60ch;color:var(--muted)}.picker input[type=file]{display:none}.picker span{display:inline-block;padding:12px 28px;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.split{display:grid;grid-template-columns:1fr 1fr;height:100%}@media (max-width:900px){.split{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.pane{display:flex;flex-direction:column;min-height:0;background:var(--surface);border-right:1px solid var(--border)}.pane-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px;font-weight:600}.filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pager{display:flex;align-items:center;gap:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pager button{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer;font-size:16px}.pager button:disabled{opacity:.4;cursor:default}.pdf-canvas-wrap{flex:1 1;overflow:auto;padding:16px;background:#f0f1f4;display:flex;justify-content:center}.pdf-canvas-wrap canvas{max-width:100%;height:auto;box-shadow:0 1px 6px rgb(0 0 0/12%)}.messages{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.message .body{margin:0;white-space:pre-wrap}.message.user .body{padding:10px 14px;border-radius:10px;background:var(--accent-soft);align-self:flex-end}.citations{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.citations-label{font-size:12px;color:var(--muted)}.citation{padding:4px 10px;border:1px solid var(--accent);border-radius:999px;background:var(--surface);color:var(--accent);font-size:12px;cursor:pointer}.citation:disabled{border-color:var(--border);color:var(--muted);cursor:default}.composer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.composer input{flex:1 1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit}.composer button{padding:10px 20px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.composer button:disabled{opacity:.5;cursor:default}.link{border:none;background:none;color:var(--accent);font:inherit;cursor:pointer;padding:0}.muted{color:var(--muted)}.error,.muted{font-size:14px}.error{margin:0 16px 8px;color:var(--danger)}.header-actions{display:flex;align-items:center;gap:12px}.lang-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.lang-toggle button{border:none;background:var(--surface);color:var(--muted);font:inherit;font-size:12px;font-weight:600;padding:4px 10px;cursor:pointer}.lang-toggle button+button{border-left:1px solid var(--border)}.lang-toggle button.active{background:var(--accent);color:#fff}