/* Canvas layout only; inherited public header, navigation and footer are unchanged. */
#shadowApp h1{font-size:clamp(1.7rem,3.1vw,2.75rem);line-height:1.3}
#shadowApp .hero{padding-top:28px;gap:22px}#shadowApp .hero-lead{line-height:1.8}
#shadowApp .observatory-layout{grid-template-columns:minmax(0,1fr) 340px}
#shadowApp .observation-panel{max-width:950px;width:100%;justify-self:center}
#shadowApp canvas{display:block;width:100%;height:auto;touch-action:none;cursor:grab;border-radius:6px}
#shadowCanvas{aspect-ratio:800/480}#benchCanvas{aspect-ratio:800/240}
#shadowApp canvas:active{cursor:grabbing}#shadowApp canvas:focus-visible{outline:3px solid var(--sp-cyan);outline-offset:-4px}
#shadowApp .bench-tag{color:var(--sp-amber);font-size:.68rem;letter-spacing:.06em}
#shadowApp .parts-palette{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}#shadowApp .parts-palette button{padding:10px 5px;font-size:.78rem}
#shadowApp .control-group{border-top:1px solid var(--sp-line);margin-top:20px;padding-top:18px}
#shadowApp input[type=range]{min-height:44px}#shadowApp .edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
#shadowApp #undoButton,#shadowApp #resetButton{width:100%;margin-top:16px}#shadowApp button:disabled,#shadowApp input:disabled{opacity:.45;cursor:not-allowed}
#shadowApp .layout-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:20px}#shadowApp .layout-heading h3{font-size:.92rem}#shadowApp .layout-heading span{font-size:.68rem;color:var(--sp-muted)}
#shadowApp .result-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:16px;color:var(--sp-amber);font-size:.74rem;font-variant-numeric:tabular-nums}
#shadowApp .canvas-help,#shadowApp .control-hint,#shadowApp .small-note{color:var(--sp-muted);font-size:.8rem;line-height:1.8}
#shadowApp .endpoint-hint{display:flex;justify-content:space-between;font-size:.72rem;color:var(--sp-muted);margin:0 0 15px}#shadowApp .endpoint-hint span:last-child{text-align:right}
#shadowApp .limits-section p{color:var(--sp-muted);font:.86rem/1.8 "Yu Gothic",Meiryo,sans-serif}#shadowApp .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){#shadowApp .observatory-layout{grid-template-columns:1fr}#shadowApp .control-panel{display:block}}
@media(max-width:600px){#shadowApp .panel-heading h2{font-size:1.05rem}#shadowApp .bench-tag{display:none}#shadowApp .status-rack{padding:12px}#shadowApp .layout-heading{display:block}#shadowApp .layout-heading h3{margin-bottom:5px}}
