/* 01 · 延续纸面风格，文字和罗盘分成两层；短窗口允许自然滚动，不裁切按钮。 */
body[data-route="welcome"] .autumn-stage {
  height: max(550px, min(calc(100svh - 174px), 760px));
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  overflow: visible;
}
.autumn-stage .line-intro {top:2%;left:5%;width:90%;}
.autumn-stage .line-intro h1 {font-size:clamp(26px,4vw,43px);margin-bottom:6px;}
.autumn-stage .season-label {font-size:11px;margin-bottom:9px;}
.autumn-stage .line-intro p {font-size:12px;line-height:1.7;}
.compass-field {
  /* 先扣除标题、上下画签和间距，剩余高度才用于圆盘，避免平板窗口重叠。 */
  --dial-size:clamp(190px,min(34vw,calc(100cqh - 370px)),350px);
  position:absolute;left:0;right:0;top:138px;bottom:0;
}
/* 02 · 淡色颜料外圈配一条铅笔描线：不再叠加精密圆环、点阵和十字轴。 */
.compass-dial {
  position:absolute;left:50%;top:50%;width:var(--dial-size);height:var(--dial-size);
  transform:translate(-50%,-50%);touch-action:none;cursor:default;border-radius:50%;
  outline-offset:9px;color:#8c9fb0;
}
.compass-dial:focus-visible {outline:1px dashed #bda775;}
.compass-dial.is-dragging {cursor:grabbing;}
.compass-ink,.compass-needle,.compass-needle svg {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.compass-ink {overflow:visible;stroke-linecap:round;}
.paint-ring {stroke:url(#compass-pigment);stroke-width:3.8;stroke-dasharray:260 5 180 3 320 8;filter:url(#compass-paint-edge);}
.pencil-ring {stroke:#94b0c6;stroke-width:.65;opacity:.3;}
.compass-ink .compass-ticks {stroke:#9eb4c6;stroke-width:1.5;}
.compass-wash {fill:url(#compass-paper-wash);stroke:none;}
.compass-needle {transform:rotate(var(--compass-angle,0deg));transition:transform .65s cubic-bezier(.2,.9,.25,1.13);}
.is-dragging .compass-needle,.is-following .compass-needle {transition:none;}
.leaf-gold {fill:url(#compass-leaf-paint);stroke:#c7b68c;stroke-opacity:.55;stroke-width:.7;filter:url(#compass-paint-edge);}
.leaf-vein {fill:none;stroke:#b5a476;stroke-width:.65;stroke-opacity:.5;stroke-linecap:round;}
.compass-letter {position:absolute;font-size:11px;color:#abb5b3;opacity:.8;}
.compass-letter-works {top:-19px;left:50%;transform:translateX(-50%);}
.compass-letter-random {bottom:-19px;left:50%;transform:translateX(-50%);}
.compass-letter-guest {left:-19px;top:50%;transform:translateY(-50%);}
.compass-letter-verify {right:-19px;top:50%;transform:translateY(-50%);}
/* 03 · 四个方向是独立纸面对象；门保留原有半开和入场动画。 */
.autumn-stage .compass-field .door {width:clamp(66px,9vw,100px);height:42%;max-height:235px;top:50%;transform:translateY(-50%);}
.autumn-stage .compass-field .door-guest {left:12%;}
.autumn-stage .compass-field .door-verify {left:auto;right:12%;}
.autumn-stage .compass-field .door-label {font-size:14px;white-space:nowrap;top:calc(100% + 13px);}
.compass-card {
  position:absolute;left:50%;transform:translateX(-50%) rotate(-2deg);width:190px;
  background:linear-gradient(115deg,#e7edf12b,transparent 44%,#eee0bc26);border:1px solid #d6c8a53b;border-radius:7px 3px 9px 4px;
  box-shadow:none;padding:8px 14px 10px;color:#6f889e;
  cursor:pointer;transition:transform .3s,border-color .3s,background .3s;
}
.compass-card-works {top:0;}
.compass-card-random {bottom:0;transform:translateX(-50%) rotate(2deg);}
.card-drawing {display:block;height:30px;margin-bottom:4px;}
.card-drawing svg {height:100%;width:70px;fill:#e3ecec66;stroke:#9bb3c2;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;}
.compass-card-title {display:block;font-size:16px;letter-spacing:2px;}
.compass-card small {display:block;font-size:9px;color:#aaa58f;margin-top:5px;}
.compass-card:hover,.compass-card:focus-visible {transform:translateX(-50%) rotate(0);border-color:#c4b58c80;background:#f5edda44;}
.compass-card:focus-visible {outline:1px dashed #b9a578;outline-offset:5px;}
.compass-field[data-active="works"] .compass-card-works,.compass-field[data-active="random"] .compass-card-random {border-color:#c4b58c66;background:#f7efdc33;}
.compass-field[data-active="guest"] .door-guest .door-label,.compass-field[data-active="verify"] .door-verify .door-label {color:#b09860;}
.compass-speech {position:absolute;left:50%;top:calc(50% + var(--dial-size)*.29);transform:translateX(-50%);width:calc(var(--dial-size)*.77);text-align:center;font-size:11px;line-height:1.7;color:#8099ac;pointer-events:none;}
.compass-note {position:absolute;left:calc(50% + var(--dial-size)*.58);top:calc(50% + var(--dial-size)*.32);font-size:10px;color:#b5aa8f;white-space:nowrap;transform:rotate(-8deg);}
body[data-route="welcome"] .guide-caption {display:none;}
/* 04 · 手机保留环形布局；缩小画签和门，触控拖动只占罗盘区域。 */
@media(max-width:700px){
 body[data-route="welcome"] .autumn-stage {height:max(570px,min(calc(100svh - 160px),720px));}
 .compass-field {--dial-size:clamp(155px,45vw,230px);top:135px;left:0;right:0;}
 .autumn-stage .compass-field .door {width:16%;height:32%;max-height:160px;}
 .autumn-stage .compass-field .door-guest {left:4%;}
 .autumn-stage .compass-field .door-verify {right:4%;}
 .autumn-stage .compass-field .door-label {font-size:12px;letter-spacing:0;}
 .compass-card {width:150px;padding:7px 10px 9px;}
 .compass-card-title {font-size:14px;}
 .compass-card small {font-size:8px;}
 .compass-speech {font-size:10px;top:calc(50% + var(--dial-size)*.29);width:var(--dial-size);}
 .compass-note {display:none;}
 .welcome-page .scene-hint {font-size:8px;white-space:normal;flex-wrap:wrap;padding:0 10px;}
}
/* 减少动画仍能拖动和选择，仅去掉旋转吸附的动态过渡。 */
.reduce-motion .compass-needle,.reduce-motion .compass-card {transition:none;}
@media(prefers-reduced-motion:reduce){.compass-needle,.compass-card{transition:none;}}
