/* Lab pages (Brahmi Lab, scripts, Grantha, Vatteluttu, Tamil, fonts). Tokens only. */
.lab{display:grid;gap:var(--space-5)}
@media(min-width:54rem){.lab{grid-template-columns:1fr 1fr}}
.out-br,.out-gr,.out-ta,.out-va{min-height:130px;word-break:break-word;white-space:pre-wrap;color:var(--accent-text)}
.out-br{font:400 clamp(2rem,5vw,3.4rem)/1.5 var(--font-brahmi)}
.opts{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:var(--space-3) 0;font-size:var(--text-sm)}
.opts label{display:flex;gap:var(--space-2);align-items:center;min-height:var(--touch);cursor:pointer;color:var(--text-muted)}
.opts input{accent-color:var(--accent)}
.chart{border-collapse:collapse;min-width:900px;width:100%}
.chart th,.chart td{border:1px solid var(--edge);text-align:center;padding:6px 4px;min-width:64px}
.chart thead th{position:sticky;top:0;background:var(--bg-alt);font:600 1rem var(--font-tamil)}
.chart tbody th{position:sticky;left:0;background:var(--bg-alt);font:600 1rem var(--font-tamil)}
.chart td{cursor:pointer}
.chart td:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.chart .br{display:block;font-size:1.9rem;line-height:1.2;color:var(--accent-text)}
.chart .l{display:block;font:.7rem var(--font-ui);color:var(--text-muted)}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.chip{border:1px solid var(--edge);background:var(--surface);border-radius:var(--radius-2);padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--text);font:1rem var(--font-tamil);text-align:left;min-height:var(--touch)}
.chip:hover{border-color:var(--accent)}
.chip small{display:block;color:var(--text-muted);font:.75rem var(--font-ui)}
.cp{font:.78rem var(--font-mono);color:var(--text-muted)}
.specimen{font-family:var(--font-brahmi);line-height:1.5}
.dl-grid{display:grid;gap:var(--space-4)}
@media(min-width:44rem){.dl-grid{grid-template-columns:repeat(3,1fr)}}
.glyph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:var(--space-2)}
.glyph-grid div{border:1px solid var(--edge);border-radius:var(--radius-2);background:var(--surface);text-align:center;padding:var(--space-2) 2px;cursor:pointer}
.glyph-grid div:hover{border-color:var(--accent)}
.glyph-grid b{display:block;font:400 2rem/1.2 var(--font-brahmi);color:var(--accent-text)}
.glyph-grid span{display:block;overflow:hidden;font:.65rem/1.2 var(--font-ui);color:var(--text-muted)}
.kbd{font:.8rem var(--font-mono);background:var(--bg-alt);border:1px solid var(--edge);border-radius:var(--radius-1);padding:1px 6px}
.timeline{border-left:2px solid var(--edge);margin-left:var(--space-2);padding:0 0 0 var(--space-5);list-style:none}
.timeline li{margin:0 0 var(--space-4);position:relative}
.timeline li::before{content:"";position:absolute;left:calc(-1 * var(--space-5) - 7px);top:.5rem;width:12px;height:12px;border-radius:50%;background:var(--accent)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}
.gallery figure{margin:0;background:var(--surface);border:1px solid var(--edge);border-radius:var(--radius-2);overflow:hidden}
.gallery img{width:100%;height:170px;object-fit:cover;background:var(--bg-alt)}
.gallery figcaption{padding:var(--space-3);font-size:var(--text-sm);color:var(--text-muted)}
.secs>summary{cursor:pointer;list-style:none;padding:var(--space-2) 0}.secs>summary::-webkit-details-marker{display:none}.secs>summary::after{content:' ▾';color:var(--text-muted)}
.tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0 0}
.tabs a{display:inline-flex;align-items:center;min-height:var(--touch);padding-inline:var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-pill);text-decoration:none;color:var(--text);font:600 var(--text-sm) var(--font-ui)}
.tabs a:hover{border-color:var(--accent)}
.lab-nav{border-bottom:1px solid var(--rule);background:var(--bg-alt)}
.lab-nav ul{display:flex;gap:var(--space-1);margin:0 auto;padding:var(--space-2) var(--gutter);max-width:var(--page-max);list-style:none;overflow-x:auto}
.lab-nav a{display:inline-flex;align-items:center;min-height:var(--touch);padding-inline:var(--space-3);border-radius:var(--radius-2);text-decoration:none;color:var(--text);font:600 var(--text-sm) var(--font-ui);white-space:nowrap}
.lab-nav a:hover{background:var(--rule)}
.lab-nav a[aria-current="page"]{background:var(--button-bg);color:var(--button-text)}
@media print{.topnav,.site-foot,.lab-nav,.toolbar,.side{display:none}}
