/* Scoped to the local notebook; the Silicio board renderer and reading layout stay shared. */
.reader-notebook .notebook-context { margin:0 0 12px; color:var(--reader-muted); font-size:.85rem; overflow-wrap:anywhere; }
.notebook-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; background:var(--reader-surface-soft); border-radius:12px; padding:4px; }
.reader-notebook .notebook-tabs button { margin:0; min-width:0; min-height:44px; padding:8px 5px; text-align:center; border:0; background:transparent; font-size:.86rem; }
.reader-notebook .notebook-tabs button[aria-pressed=true] { background:var(--reader-primary-dark); color:var(--reader-surface); box-shadow:0 2px 6px #0002; }
.notebook-notice:empty { display:none; }
.notebook-notice { color:var(--reader-primary-dark); font-size:.9rem; }
.notebook-content h3 { overflow-wrap:anywhere; }
.notebook-primary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.reader-notebook .notebook-primary button { min-width:0; min-height:52px; margin:0; padding:8px 5px; background:var(--reader-primary-dark); color:var(--reader-surface); font-weight:600; }
.notebook-hint,.notebook-tip p { font-size:.86rem; line-height:1.5; color:var(--reader-muted); }
.notebook-actions { display:flex; flex-wrap:wrap; gap:4px; }
.notebook-details { border-top:1px solid var(--reader-line); padding:10px 0; margin-top:6px; }
.notebook-details summary { cursor:pointer; min-height:44px; display:list-item; align-content:center; font-weight:600; overflow-wrap:anywhere; }
.notebook-tip { margin:14px 0; padding:14px; border-radius:12px; background:var(--reader-primary-soft); }
.notebook-footer { display:flex; flex-wrap:wrap; gap:4px; border-top:1px solid var(--reader-line); margin-top:12px; padding-top:8px; }
.notebook-filters { display:flex; flex-wrap:wrap; gap:8px; padding-top:14px; }
.notebook-filters > input { flex:1 1 100%; width:100%; min-height:44px; padding:8px 10px; border:1px solid var(--reader-line); border-radius:10px; background:var(--reader-surface); color:var(--reader-ink); }
.notebook-filters .workbench-field { flex:1 1 180px; min-width:0; margin:0; flex-direction:column; align-items:stretch; gap:4px; font-size:.85rem; }
.notebook-filters select { width:100%; max-width:100%; min-width:0; min-height:44px; }
.notebook-records { display:grid; gap:12px; }
.reader-notebook .notebook-record { padding:12px; border:1px solid var(--reader-line); border-radius:12px; display:grid; grid-template-columns:80px minmax(0,1fr); gap:10px; }
.notebook-thumbnail { width:80px; height:80px; border-radius:6px; background:var(--reader-surface-soft); }
.notebook-record-copy h3 { margin:0 0 4px; font-size:1rem; }
.notebook-record-copy p { margin:3px 0; font-size:.83rem; color:var(--reader-muted); overflow-wrap:anywhere; }
.notebook-record-actions,.notebook-record > details { grid-column:1/-1; }
.notebook-record-actions > button:first-child { background:var(--reader-primary-dark); color:var(--reader-surface); }
.notebook-child .workbench-field:has(textarea) { flex-direction:column; align-items:stretch; }
.notebook-child textarea { max-width:100%; width:100%; }
.notebook-child ol { padding-inline-start:24px; line-height:1.6; }
.notebook-child li + li { margin-top:8px; }
.notebook-moves { font-family:'Noto Sans Symbols 2',sans-serif; overflow-wrap:anywhere; }
.reader-marks .workbench-board { position:relative; }
.notebook-mark-grid { position:absolute; inset:0; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); grid-template-rows:repeat(8,minmax(0,1fr)); z-index:5; }
.reader-marks .notebook-mark-grid button { min-width:0; min-height:0; width:100%; height:100%; margin:0; padding:0; border:0; border-radius:0; background:transparent; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.reader-marks .notebook-mark-grid button[aria-pressed=true] { box-shadow:inset 0 0 0 4px #155e54; background:#ffffff40; }
.reader-marks .notebook-mark-grid button:focus-visible { outline:3px solid #1155dd; outline-offset:-3px; }
.reader-exercise .practice-tools > strong { display:block; margin:8px 0; }
.notebook-child .practice-tools .workbench-field { gap:6px; }
@media(max-width:380px) { .notebook-record { grid-template-columns:64px minmax(0,1fr) !important; } .notebook-thumbnail { width:64px; height:64px; } }
