.sm-exhibit{--map-height:clamp(460px,calc(100svh - 235px),610px);max-width:1480px;margin:auto;padding:35px 6.5% 20px;min-height:100svh;color:#435f4e;scroll-margin-top:0}
.sm-process{list-style:none;margin:0 0 25px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.sm-process li{display:flex;gap:16px;align-items:baseline}.sm-process em{font:italic 24px var(--serif);color:#bd91a5}.sm-process strong{font-size:16px;font-weight:500}.sm-process span{display:block;font-size:12px;color:#718172;margin-top:5px}.sm-process li+li{border-left:1px solid #aab8a330;padding-left:28px}
.sm-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(260px,3fr);gap:5%;align-items:start}.sm-map-area{min-width:0;position:relative}.sm-viewport{position:relative;width:100%;height:var(--map-height);perspective:1800px;clip-path:inset(-20px -65% -20px -20px)}
.sm-canvas{position:absolute;left:0;top:0;width:1599px;height:1930px;transform-origin:0 0;transform-style:preserve-3d;isolation:isolate}
.sm-fold{position:absolute;top:0;width:33.333333333%;height:100%;background:#fffdf6;transform-style:preserve-3d;backface-visibility:hidden;box-shadow:0 0 3px #736d5514}
.sm-fold::before{content:'';position:absolute;inset:0;background-image:url('public/media/spring/source/01_真实校区地图_全景.png');background-size:300% 100%;background-position:inherit;filter:contrast(.65) brightness(1.25) saturate(.5) hue-rotate(12deg);opacity:.62}
.sm-fold::after{content:'';position:absolute;inset:0;background:url('public/media/paper-fiber.svg') center/500px;opacity:.05;pointer-events:none}
.sm-left{left:0;background-position:0 0;transform-origin:right center;transform:rotateY(180deg);z-index:2}.sm-middle{left:33.333333333%;background-position:50% 0;z-index:1}.sm-right{left:66.666666667%;background-position:100% 0;transform-origin:left center;transform:rotateY(-180deg);z-index:3}
.sm-cover{position:absolute;left:33.333333333%;top:0;width:33.333333333%;height:100%;z-index:5;transform-origin:right center;backface-visibility:hidden;background:#fffaf0 url('public/media/paper-fiber.svg') center/500px;border:2px solid #f6efdf;box-shadow:10px 8px 0 #f2ecdc,18px 16px 0 #fbf6e9,24px 24px 35px #7e76651a;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;color:#51654f}
.sm-cover-title{font:70px/1.7 'SimSun',serif;white-space:nowrap;text-align:center;letter-spacing:4px}.sm-cover-title span{font-size:62px}.sm-cover-rule{width:200px;border-top:3px solid #9bab8c;margin-top:55px}.sm-cover p{font-size:35px;letter-spacing:8px;margin-top:70px;color:#8a907b}
.sm-directions,.sm-creases,.sm-pins{position:absolute;inset:0;width:100%;height:100%;z-index:6}.sm-directions{pointer-events:none}.sm-directions path{fill:none;stroke:#71886b;stroke-width:1;stroke-dasharray:5 8;opacity:.65;vector-effect:non-scaling-stroke}.sm-creases{pointer-events:none;z-index:7;background:linear-gradient(90deg,transparent 33.1%,#74644e16 33.33%,#fffdf644 33.5%,transparent 33.8%,transparent 66.4%,#74644e16 66.67%,#fffdf644 66.8%,transparent 67%)}
.sm-pins{pointer-events:none;z-index:8}.sm-pin{position:absolute;transform:translate(-50%,-100%) scale(var(--pin-scale,1));transform-origin:bottom center;width:38px;height:42px;padding:0;background:none;border:0;pointer-events:auto;cursor:pointer;display:grid;place-items:end center;color:#725460}.sm-pin i{width:17px;height:23px;border-radius:55% 55% 55% 0;transform:rotate(-45deg);background:#b98b9c;border:2px solid #fffdf5;transition:scale .2s}.sm-pin i::after{content:'';display:block;width:4px;height:4px;background:#fffbf5;border-radius:50%;margin:5px}.sm-start{color:#3c6045}.sm-start i{background:#64806a}.sm-pin span{position:absolute;top:12px;left:31px;white-space:nowrap;background:#fffdf1e8;padding:3px 6px;font-size:12px}.sm-pin[data-place=willow] span,.sm-pin[data-place=redbud] span{left:auto;right:31px}.sm-pin:hover i,.sm-pin[aria-pressed=true] i{scale:1.12}.sm-pin[aria-pressed=true] span{font-weight:600}.sm-pin:focus-visible,.sm-options button:focus-visible{outline:2px solid #b7839c;outline-offset:3px}
.sm-task{height:var(--map-height);min-height:0;background:#fbfaf2d6 url('public/media/paper-fiber.svg');padding:20px 23px;position:relative;display:flex;flex-direction:column}.sm-task-top{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#7c897b;padding-bottom:13px;border-bottom:1px solid #a8b49b38}.sm-task h3{font-size:25px;font-weight:400;color:#45634c;margin:18px 0 7px;line-height:1.4}.sm-task #sm-task-location{font-size:12px;color:#75826f;margin-bottom:14px;min-height:22px}.sm-photo{flex:1;min-height:0;position:relative}.sm-photo>img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .18s}.sm-photo>img[hidden]{display:none}#sm-start-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;text-align:center}#sm-start-state[hidden]{display:none}#sm-start-state i{width:25px;height:32px;border:3px solid #fffdf3;background:#7a9476;border-radius:50% 50% 50% 0;rotate:-45deg;margin-bottom:15px}#sm-start-state strong{font-size:16px;font-weight:400;color:#61795d}#sm-start-state span{font-size:11px;color:#79866f}.sm-task #sm-task-description{font-size:13px;line-height:1.85;color:#53674f;margin:16px 0 0;min-height:48px}.sm-options{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap;min-height:35px}.sm-options[hidden]{display:flex;visibility:hidden}.sm-options button{background:none;border:0;padding:7px 8px;font-size:12px;color:#617157}.sm-options button[aria-pressed=true]{background:#e9eddf;color:#51694d}
.sm-task-top,.sm-task h3,.sm-task #sm-task-location,.sm-task #sm-task-description,.sm-options{flex:none}
.sm-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;color:#65765f;margin-top:14px}.sm-green-dot,.sm-pink-dot{width:7px;height:7px;border-radius:50%;background:#6c8867}.sm-pink-dot{background:#bc8ca1;margin-left:10px}.sm-dash{width:24px;border-top:1px dashed #7c9677;margin-left:10px}.sm-map-note{font-size:11px;color:#7b8974;margin-top:7px}.sm-resources{position:relative;z-index:10;display:flex;justify-content:space-between;gap:24px;padding-top:12px;font-size:13px;color:#4c6854}.sm-resources a{display:inline-flex;align-items:center;padding:8px 0;min-height:44px;text-decoration:underline;text-decoration-color:#aebdab;text-underline-offset:5px}.sm-resources a:hover{color:#8f6077}
@media(min-width:901px) and (max-height:800px){.sm-exhibit{--map-height:calc(100svh - 220px);padding-top:25px}.sm-process{margin-bottom:18px}.sm-task{padding:16px 19px}.sm-task h3{font-size:23px;margin-top:13px}.sm-task #sm-task-description{margin-top:12px}}
@media(max-width:900px){.sm-exhibit{--map-height:350px;padding:30px 6%}.sm-layout{grid-template-columns:1fr;gap:22px}.sm-process{grid-template-columns:1fr 1fr;gap:17px;margin-bottom:20px}.sm-process li+li{border:0;padding:0}.sm-process strong{font-size:14px}.sm-process span{font-size:11px}.sm-task{height:540px}.sm-legend{font-size:10px}.sm-map-note{font-size:10px}.sm-resources{font-size:12px}.sm-viewport{clip-path:inset(0)} }
/* Round 3 optional: extra scroll room so the unfold animation completes before the next block. */
#spring-map-entry{padding-bottom:30vh}
@media(max-width:900px){#spring-map-entry{padding-bottom:16vh}}
