*{box-sizing:border-box}body{margin:0;font-family:"Microsoft YaHei",sans-serif}#mount{position:relative;width:100vw;height:100vh;min-height:300px;background:#d9e1df}.puzzle-game{position:absolute;inset:0;background:#edf1e9;color:#263e37}.board{position:absolute;left:24px;top:24px;width:900px;height:675px;border-radius:12px;background:#fdfcf4;box-shadow:0 4px 18px #334c3820;overflow:hidden}.board svg{display:block;width:900px;height:675px}.sidebar{position:absolute;left:948px;top:24px;width:308px;height:675px;display:flex;flex-direction:column;align-items:center}.location{font-size:27px;font-weight:700;margin:7px 0 9px;text-align:center}.progress{font-size:21px;color:#52645c;margin-bottom:18px}.slots{display:grid;grid-template-columns:144px 144px;grid-template-rows:190px 190px;gap:16px}.slot{border:2px solid #c0ccbc;border-radius:16px;background:#fbfcf7;box-shadow:0 3px 7px #37493612;display:flex;align-items:center;justify-content:center;position:relative;touch-action:none}.slot.empty:after{content:"";width:22px;height:22px;border-radius:50%;background:#e6ece0}.piece{filter:drop-shadow(0 3px 3px #263c3935);touch-action:none;cursor:grab;overflow:visible}.piece.dragging{position:absolute;z-index:20;pointer-events:none;filter:drop-shadow(0 10px 7px #1236)}.slot.hinted{outline:5px solid #e8ac30}.help-actions{height:102px;width:100%;display:flex;flex-direction:column;gap:8px;margin-top:16px}.help-actions button{font:inherit;font-size:21px;min-height:44px;border:1px solid #a6b79d;border-radius:12px;background:#fffef9;color:#385444;cursor:pointer}.help-actions button[hidden]{display:none}.status{margin-top:auto;text-align:center;font-size:20px;line-height:1.5;min-height:58px;color:#56675f}.review{position:absolute;right:8px;bottom:3px;z-index:45;font-size:14px}.review summary{cursor:pointer;text-align:right;color:#687669;font-size:14px}.review[open]{width:310px;padding:10px;background:#fffef5f5;box-shadow:0 3px 20px #2345;border:1px solid #bdcbb6;border-radius:12px}.review label{display:block;margin:8px 0;font-size:15px}.review input[type=range]{width:170px;vertical-align:middle}.review select,.review button{font:inherit;padding:4px}.review p{font-size:13px;margin:5px 0}.hint-target{fill:#ffd85744;stroke:#edac24;stroke-width:6}.load-error{position:absolute;inset:0;display:grid;place-items:center;background:#fffef4;font-size:24px}
/* 逐幅预览后开始；取片区是整体托盘，四个位置透明且稳定。 */
.slots{background:#e1e9dc;border:1px solid #c5d0bd;border-radius:22px;padding:8px;grid-template-columns:136px 136px;grid-template-rows:190px 190px;gap:16px;width:304px}
.slot{border:0;border-radius:0;background:transparent;box-shadow:none}
.slot.empty:after{display:none}
.slot.hinted{outline:0;filter:drop-shadow(0 0 7px #e8ac30)}
#start-puzzle{background:#467659;color:white;border:0;font-size:25px;font-weight:700;min-height:60px}
#photo-select{display:block;width:100%;max-width:100%;margin-top:6px}#photo-credit{overflow-wrap:anywhere}#photo-credit a{color:#385444}#start-puzzle:disabled{opacity:.6;cursor:wait}
