.bil-app{width:min(var(--max),calc(100% - 32px));margin:0 auto 2rem;display:grid;gap:1rem;color:var(--text);font-variant-numeric:tabular-nums}.bil-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:1rem;align-items:start}.bil-app .panel-line{padding:1.1rem;min-width:0}.bil-app h2{font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.4;margin:.3rem 0 .9rem}.bil-app p,.bil-app li{line-height:1.65;color:var(--muted)}.bil-app .eyebrow{font-size:.7rem;color:var(--green);margin:0}.bil-canvas-wrap{position:relative;border:1px solid var(--line);background:#061012}.bil-canvas-wrap canvas{display:block;width:100%;height:410px;touch-action:none;cursor:crosshair}.bil-map{display:block;width:100%;height:270px}.bil-app :focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.bil-app [hidden]{display:none!important}.bil-help{font-size:.76rem;margin:.6rem 0}.bil-control{display:grid;gap:.3rem;margin:.8rem 0;color:var(--text);font-size:.85rem}.bil-control>span{display:flex;justify-content:space-between;gap:.5rem}.bil-control output{color:var(--cyan)}.bil-control input,.bil-control select{width:100%;min-width:0;min-height:44px;accent-color:var(--cyan)}.bil-control select{background:#0a1719;color:var(--text);border:1px solid var(--line);padding:.5rem}.bil-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}.bil-actions button,.bil-actions a{flex:1;min-height:44px;font-size:.76rem;border:1px solid var(--line);border-radius:0;background:#0a1719;color:var(--cyan);padding:.6rem;cursor:pointer;text-align:center}.bil-actions button:hover{border-color:var(--cyan)}.bil-actions button:disabled{opacity:.45;cursor:default}#bilStatus{border-left:2px solid var(--cyan);padding:.55rem;font-size:.85rem;min-height:48px}.bil-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0}.bil-metrics>div{min-width:0;border:1px solid var(--line);padding:.75rem;background:#071113}.bil-metrics dt{color:var(--muted);font-size:.75rem}.bil-metrics dd{margin:.3rem 0 0;overflow-wrap:anywhere;font-size:.95rem;color:var(--cyan)}.bil-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.bil-app code{font:.85rem/1.8 ui-monospace,monospace;color:var(--amber);overflow-wrap:anywhere}.bil-app pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:28rem;overflow:auto;font-size:.8rem;line-height:1.65}.bil-app summary{min-height:44px;padding:.7rem;color:var(--cyan);cursor:pointer}.bil-app .bil-key{color:var(--amber);font-size:.8rem}.bil-app .chamber-status{margin:.7rem 0}.bil-app .chamber-status dd{overflow-wrap:anywhere}.bil-app ol{padding-left:1.3rem}.bil-app .bil-route{font-size:.72rem;color:var(--green)}.bil-app a{overflow-wrap:anywhere}@media(max-width:900px){.bil-layout{grid-template-columns:1fr}.bil-canvas-wrap canvas{height:400px}}@media(max-width:620px){.bil-app{width:calc(100% - 22px);gap:.7rem}.bil-app .panel-line{padding:.85rem}.bil-canvas-wrap canvas{height:300px}.bil-map{height:250px}.bil-notes{grid-template-columns:1fr}.bil-control>span{flex-wrap:wrap}.bil-actions button,.bil-actions a{min-width:100px}.bil-app h2{font-size:1.05rem}}body.page-dynamical-billiard-observatory .lab-hero h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.12;letter-spacing:-.02em}@media(max-width:620px){body.page-dynamical-billiard-observatory .lab-hero h1{font-size:clamp(1.75rem,7vw,2rem);line-height:1.25}}
