.rays{padding-top:50px;padding-bottom:75px}.rays h1{font-size:clamp(30px,4vw,48px);margin:10px 0 15px}.rays .intro{max-width:900px;color:var(--sub)}.ray-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0 20px}.ray-panel,.ray-controls,.ray-readout,.ray-notes{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.ray-head span{font:700 11px ui-monospace,monospace;color:var(--gold)}.ray-head h2{font-size:20px;margin:7px 0 10px}.ray-panel canvas{display:block;width:100%;aspect-ratio:1.5;background:#0c182c;border-radius:9px;image-rendering:auto;cursor:crosshair}.rays .stats{font:12px/1.6 ui-monospace,monospace;color:var(--accent);margin:12px 0 0}.ray-controls h2,.ray-readout h2,.ray-notes h2{font-size:21px;margin:0 0 12px}.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}.control-grid label{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--sub);font-size:14px}.control-grid output{color:var(--gold);font-weight:bold}.control-grid input[type=range]{display:block;width:100%;accent-color:var(--accent)}.control-grid select{background:#0c182d;border:1px solid #48627f;color:var(--text);border-radius:8px;padding:7px;max-width:100%}.control-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.control-actions button{border:1px solid #55758d;border-radius:8px;background:#203650;color:var(--text);cursor:pointer;padding:9px 14px}.rays .hint,.ray-notes p,.ray-readout p{color:var(--sub);font-size:14px}.ray-bottom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);gap:16px;margin-top:18px}.ray-readout pre{background:#081425;border:1px solid var(--line);border-radius:8px;overflow:auto;padding:16px;white-space:pre;line-height:1.6;font:12px/1.5 ui-monospace,monospace;max-height:510px}.ray-footer{margin-top:24px}@media(max-width:820px){.ray-panels,.ray-bottom{grid-template-columns:1fr}}@media(max-width:500px){.control-grid{grid-template-columns:1fr}.ray-panel,.ray-controls,.ray-readout,.ray-notes{padding:13px}}