.retro-stage.has-model{max-width:1150px;padding:25px;background:radial-gradient(ellipse at 50% 35%,#f8eed8,#e4e5da 80%)}.has-model>.retro-reveal-bar,.has-model>.retro-perspective,.has-model>.retro-shelf{display:none}.model-title{text-align:center}.model-title .eyebrow{margin:0;font-size:14px}.model-title p{font-size:24px;font-weight:700;margin-top:10px;letter-spacing:-.6px}#radio-model{height:540px;touch-action:none;cursor:grab;border-radius:10px;outline-offset:3px}#radio-model:active{cursor:grabbing}#radio-model canvas{display:block;width:100%;height:100%}.model-hint{text-align:center;font-size:14px;color:#52604d}.model-actions,.model-presets{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:17px}.model-actions button,.model-presets button{border:1px solid #a7b095;background:#faf7eb;color:#284434;border-radius:6px;padding:10px 14px;min-height:44px;font-size:14px}.model-actions [data-play]{background:#294f3c;color:white}.model-settings{display:flex;justify-content:center;gap:35px;margin:20px auto 0;max-width:550px}.model-settings label{font-size:14px;display:grid;gap:8px;flex:1}.model-settings input{width:100%;accent-color:#315e42;min-height:44px}.model-presets button{font-size:14px;min-height:44px}.model-presets [aria-pressed=true]{background:#d7e3bb;border-color:#638445}#model-info{max-width:700px;margin:18px auto 0;min-height:44px;font-size:14px;text-align:center;line-height:1.7}.has-model .retro-caption{padding:0 10px}@media(max-width:760px){.retro-stage.has-model{padding:18px 8px}.model-title p{font-size:21px}#radio-model{height:360px}.model-hint{font-size:14px;padding:0 10px;line-height:1.8}.model-actions{gap:6px;padding:0 5px}.model-actions button{font-size:14px;padding:9px}.model-settings{gap:20px;padding:0 12px}.model-presets{gap:5px}.model-presets button{font-size:14px;padding:8px}#model-info{font-size:14px;padding:0 10px}}

.model-parts{max-width:750px;margin:20px auto 0;border-top:1px solid #b9c1a6;padding-top:15px;font-size:14px}.model-parts summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:700}.model-parts p{font-size:14px;margin:12px 0;line-height:1.8}.model-parts>div{display:flex;flex-wrap:wrap;gap:7px}.model-parts button{font-size:14px;padding:10px;background:#fbf8ed;border:1px solid #b9c1a6;border-radius:5px;min-height:44px}

/* Explanations stay inside the model viewport and follow the selected component. */
#radio-model{position:relative}.model-callout{position:absolute;z-index:4;width:300px;max-width:calc(100% - 20px);max-height:calc(100% - 20px);overflow:auto;padding:22px;background:#fffdf5;color:#243e2d;border:1px solid #9baa80;border-radius:12px;box-shadow:0 10px 32px #1d2c2533;cursor:default;touch-action:pan-y}.model-callout[hidden],.model-part-marker[hidden]{display:none}.model-callout h3{font-size:19px;line-height:1.25;margin:0 27px 10px 0;letter-spacing:0}.model-callout p{font-size:15px;line-height:1.6;margin:0}.model-callout-close{position:absolute;right:5px;top:4px;width:44px;height:44px;padding:0;background:transparent;color:#294734;font-size:28px;line-height:1;border-radius:8px}.model-callout-close:focus-visible{outline:3px solid #809f47}.model-part-marker{position:absolute;z-index:3;width:14px;height:14px;transform:translate(-50%,-50%);border:3px solid white;background:#729634;border-radius:50%;box-shadow:0 0 0 4px #75953f66;pointer-events:none}.model-parts [aria-pressed=true]{background:#294f3c;color:white}.has-model #model-info{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:600px){.model-callout{width:255px;padding:18px}.model-callout h3{font-size:17px}.model-callout p{font-size:14px;line-height:1.5}}
