:root { font-family: -apple-system, system-ui, "Hiragino Sans", "Noto Sans JP", sans-serif; }
body { margin:0; background:#0f0f10; color:#f2f2f2; }
.topbar { padding:10px 12px; border-bottom:1px solid #222; background:#111; position:sticky; top:0; z-index:10; }
.title { font-weight:800; }
.sub { opacity:.75; font-size:12px; }

.layout { display:grid; grid-template-columns: 1.3fr 0.7fr; gap:10px; padding:10px; }
@media (max-width: 900px){ .layout { grid-template-columns:1fr; } }

.pdfPane, .sidePane { background:#121214; border:1px solid #222; border-radius:12px; overflow:hidden; }
.pdfToolbar { display:flex; gap:8px; align-items:center; padding:10px; border-bottom:1px solid #222; }
.pdfCanvasWrap { display:grid; place-items:center; padding:10px; }
canvas { max-width:100%; height:auto; background:#fff; border-radius:10px; }

.card { padding:12px; }
.row { margin-bottom:12px; }
label { font-weight:800; display:block; margin-bottom:8px; }
.range { display:flex; gap:8px; align-items:center; }
input[type="number"] { width:110px; padding:10px; border-radius:10px; border:1px solid #333; background:#1a1a1d; color:#f2f2f2; font-weight:700; }
.hint { opacity:.7; font-size:12px; margin-top:6px; }

.controls { display:flex; gap:8px; flex-wrap:wrap; }
button { border:1px solid #333; background:#1a1a1d; color:#f2f2f2; padding:10px 12px; border-radius:10px; font-weight:700; }
button.primary { background:#2a2aee; border-color:#2a2aee; }
button.ghost { background:transparent; }

.note { margin-top:14px; opacity:.9; font-size:13px; }
.noteTitle { font-weight:900; margin-bottom:6px; }
