#craneApp h1{font-size:clamp(1.7rem,3.1vw,2.75rem);line-height:1.3}#craneApp .hero{padding-top:28px;gap:22px}#craneApp .hero-lead{line-height:1.8}
#craneApp .observatory-layout{grid-template-columns:minmax(0,1fr) 340px}#craneApp .observation-panel{max-width:900px;width:100%;justify-self:center}
#craneCanvas{display:block;width:100%;height:auto;aspect-ratio:800/620;touch-action:none;cursor:grab}#craneCanvas:active{cursor:grabbing}#craneCanvas:focus-visible{outline:3px solid var(--cw-cyan);outline-offset:-4px}
#craneApp .bench-tag{color:var(--cw-amber);font-size:.68rem;letter-spacing:.06em}#craneApp .bench-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}#craneApp .bench-controls button{padding:10px 5px;font-size:.85rem}
#craneApp input[type=range]{min-height:44px}#craneApp .edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 18px}#craneApp .control-group{border-top:1px solid var(--cw-line);margin-top:20px;padding-top:18px}#craneApp #resetButton{width:100%;margin-top:16px}
#craneApp button:disabled{opacity:.45;cursor:not-allowed}#craneApp .result-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:16px;color:var(--cw-amber);font-size:.78rem}
#craneApp .canvas-help,#craneApp .control-hint,#craneApp .small-note{color:var(--cw-muted);font-size:.8rem;line-height:1.8}#craneApp .limits-section p{color:var(--cw-muted);font:.86rem/1.8 "Yu Gothic",Meiryo,sans-serif}#craneApp .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){#craneApp .observatory-layout{grid-template-columns:1fr}#craneApp .control-panel{display:block}}@media(max-width:600px){#craneApp .panel-heading h2{font-size:1.05rem}#craneApp .bench-tag{display:none}#craneApp .status-rack{padding:12px}#craneApp .bench-controls button{font-size:.8rem}}
