/* Dedicated board layout; the inherited shell and shared site CSS stay intact. */
#marbleApp h1{font-size:clamp(1.7rem,3.1vw,2.75rem);line-height:1.3}
#marbleApp .hero{padding-top:28px;gap:22px}
#marbleApp .hero-lead{line-height:1.8}
#marbleApp .observatory-layout{grid-template-columns:minmax(0,1fr) 340px}
#marbleApp .observation-panel{max-width:800px;width:100%;justify-self:center}
#marbleApp .stage{max-width:600px;margin:auto}
#marbleCanvas{display:block;width:100%;height:auto;aspect-ratio:600/680;touch-action:none;cursor:grab}
#marbleCanvas:active{cursor:grabbing}
#marbleCanvas:focus-visible{outline:3px solid var(--mr-cyan);outline-offset:-4px}
#marbleApp .bench-tag{color:var(--mr-amber);font-size:.68rem;letter-spacing:.08em}
#marbleApp .bench-controls{display:grid;grid-template-columns:1.1fr 1fr 1.2fr;gap:6px;margin-top:14px}
#marbleApp .bench-controls button{padding:10px 5px;font-size:.82rem}
#marbleApp .parts-palette{display:grid;gap:8px}
#marbleApp .parts-palette button{text-align:left;display:flex;gap:16px;align-items:center}
#marbleApp .parts-palette span{width:34px;font-size:1.4rem;color:var(--mr-amber);text-align:center}
#marbleApp .control-group{border-top:1px solid var(--mr-line);margin-top:20px;padding-top:18px}
#marbleApp input[type=range]{min-height:44px}
#marbleApp .edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
#marbleApp .nudge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}
#marbleApp #undoButton,#marbleApp #resetButton{width:100%;margin-top:16px}
#marbleApp button:disabled{opacity:.45;cursor:not-allowed}
#marbleApp .result-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:16px;color:var(--mr-amber);font-size:.74rem;font-variant-numeric:tabular-nums}
#marbleApp .canvas-help,#marbleApp .control-hint,#marbleApp .small-note{color:var(--mr-muted)}
#marbleApp .limits-section p{color:var(--mr-muted);font:.86rem/1.8 "Yu Gothic",Meiryo,sans-serif}
#marbleApp .site-footer{flex-wrap:wrap}
.skip-link{position:fixed;top:8px;left:8px;z-index:20;transform:translateY(-180%);background:#d4fbff;color:#07121b;padding:12px}
.skip-link:focus{transform:translateY(0)}
@media(max-width:980px){#marbleApp .observatory-layout{grid-template-columns:1fr}#marbleApp .control-panel{display:block}#marbleApp .parts-palette{grid-template-columns:repeat(3,1fr)}#marbleApp .parts-palette button{flex-direction:column;gap:2px;font-size:.8rem}}
@media(max-width:600px){#marbleApp .parts-palette{grid-template-columns:1fr}#marbleApp .parts-palette button{flex-direction:row;gap:16px}#marbleApp .bench-controls button{font-size:.75rem}#marbleApp .panel-heading h2{font-size:1.05rem}#marbleApp .status-rack{padding:12px}}
