/* The diagnostic stays readable beside the 3D canvas and on a narrow phone.
   Controls never cover the appliance they are meant to verify. */
:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#192b33;background:#f2f1ec;font-synthesis:none;line-height:1.5}
*{box-sizing:border-box}body{margin:0}main{max-width:1500px;margin:0 auto;padding:30px 34px 20px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#52696d;margin:0 0 7px}h1{font-size:clamp(25px,2.8vw,38px);line-height:1.15;letter-spacing:-.035em;margin:0 0 10px}.intro{color:#536369;margin:0;font-size:15px}.prototype-label{white-space:nowrap;border:1px solid #b9c8c5;border-radius:24px;padding:8px 14px;background:#e9efea;font-size:12px;font-weight:650}.notice{margin:22px 0 18px;padding:12px 16px;border-left:3px solid #b3884f;background:#fbf8ef;color:#665536;font-size:13px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 288px;border:1px solid #cdd6d1;border-radius:14px;overflow:hidden;background:#fafaf7;box-shadow:0 13px 35px #132f2820}.stage-wrap{position:relative;display:flex;min-width:0;background:#e6e7e1}.stage{flex:1;width:100%;height:min(65vh,720px);min-height:480px;overflow:hidden}.stage canvas{display:block;width:100%;height:100%;touch-action:none;outline:none;cursor:grab}.stage canvas.dragging{cursor:grabbing}.stage-hint{position:absolute;left:18px;bottom:17px;right:18px;max-width:620px;background:#ffffffdd;border:1px solid #ffffff;border-radius:8px;padding:9px 12px;font-size:12px;color:#3d5357;pointer-events:none;backdrop-filter:blur(10px)}.stage-corner{position:absolute;top:17px;left:18px;font-size:11px;letter-spacing:.13em;border:1px solid #ffffffaa;border-radius:6px;padding:5px 8px;color:#314d51;background:#ffffffa0;pointer-events:none}.controls{border-left:1px solid #d7dfda;padding:21px 20px;background:#fffefa}.controls h2{font-size:17px;margin:0 0 21px}.control-group{margin-bottom:21px}.control-group h3{font-size:13px;margin:0 0 8px}.control-group p{font-size:12px;line-height:1.5;color:#647278;margin:8px 0 0}.button-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}button{font:inherit;font-size:12px;font-weight:650;min-height:42px;border:1px solid #bccbc5;background:#fff;border-radius:7px;padding:9px 10px;color:#244745;cursor:pointer;transition:background .15s,border-color .15s}button:hover:enabled{background:#eaf2ed;border-color:#4e8276}button[aria-pressed=true]{background:#204e46;color:#fff;border-color:#204e46}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #ce9d42;outline-offset:3px}#door-toggle{width:100%}.status-card{padding:11px 12px;background:#f0f4f0;border-radius:8px}.status-card p{margin:0;color:#36554c;font-size:12px}.status-card p+p{margin-top:6px;color:#60766e}.status-card.error{background:#fcebe7}.status-card.error p{color:#8b3124}footer{font-size:12px;color:#65746f;margin:16px 0 0}a{color:#285f51;text-underline-offset:3px}
@media(max-width:900px){main{padding:22px 20px}.workspace{grid-template-columns:minmax(0,1fr) 250px}.controls{padding:18px 16px}.prototype-label{display:none}.stage{min-height:480px}}
@media(max-width:650px){main{padding:20px 14px 16px}.workspace{grid-template-columns:1fr}.stage{height:54vh;min-height:360px;max-height:520px}.stage-hint{font-size:11px;left:10px;right:10px;bottom:10px;padding:7px 9px}.stage-corner{left:10px;top:10px}.controls{border-left:0;border-top:1px solid #d7dfda;padding:18px}.controls h2{margin-bottom:15px}.control-group{margin-bottom:16px}.notice{font-size:12px;padding:10px 12px;margin:18px 0 14px}button{min-height:44px}footer{font-size:11px}}
/* Hover must preserve the selected control's dark background and readable label. */
button[aria-pressed=true]:hover:enabled{background:#204e46;border-color:#204e46;color:#fff}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* The refrigerator action remains a full-width keyboard-accessible alternative
   to the 3D door hit target on both desktop and touch screens. */
.full-width{width:100%;margin-top:8px}
