/* Paper diagrams use the same vessel art as the game, with lightweight loops. */
.banquet-guide{--guide-ink:#3e5147;--guide-red:#984f3d;--guide-line:#9a8b6552;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;color:var(--guide-ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif}
.guide-card{min-width:0;padding:13px 15px 12px;border:1px solid var(--guide-line);border-radius:4px;background:linear-gradient(130deg,#fffdf04d,#e2ddc64d);box-shadow:inset 0 0 0 3px #fff9e72e}
.guide-card header{display:flex;align-items:center;gap:10px}
.guide-number{color:#a46b46;font:14px/1 Georgia,serif;letter-spacing:1px}
.guide-card h3{font:19px/1.4 "STKaiti","KaiTi",serif!important;letter-spacing:2px!important;margin:0!important;color:var(--guide-ink)!important}
.guide-card p{font-size:12px!important;line-height:1.8!important;margin:6px 0 0!important;color:#655f4e!important;letter-spacing:0}
.guide-card strong{color:var(--guide-red);font-weight:600}
.guide-demo{position:relative;height:105px;margin-top:8px;overflow:hidden;border-radius:2px;background:radial-gradient(ellipse at 50% 70%,#bbc8b539,transparent 75%);isolation:isolate}
.guide-shelf{position:absolute;left:15%;right:15%;bottom:26px;display:flex;gap:5px;border-bottom:5px solid #98815a;box-shadow:0 3px 0 #c6b28b}
.guide-place{position:relative;flex:1;height:56px;border:1px dashed #9ba18a7a;border-bottom:0;background:#e3e1cc42;border-radius:18px 18px 0 0}
.guide-token{display:block;width:43px;height:57px}
.guide-token svg,.guide-token img{display:block!important;position:static!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;transform:none!important;filter:drop-shadow(0 3px 2px #6b5b4322)}
.guide-place>.guide-token{position:absolute;left:50%;bottom:2px;transform:translateX(-50%)}
.guide-demo-caption{position:absolute;left:0;right:0;bottom:2px;text-align:center;font-size:10px;letter-spacing:1px;color:#7b785f}
.guide-traveler{position:absolute;left:calc(50% - 21px);top:12px;animation:guide-move 4.8s infinite ease-in-out}
.guide-move .guide-shelf{left:46%;right:4%}
.guide-move .guide-place{height:55px}
.guide-cursor{position:absolute;width:16px;height:22px;left:calc(50% + 8px);top:43px;fill:#fff6df;stroke:#6f6956;stroke-width:1.5;filter:drop-shadow(1px 2px 1px #73694740);animation:guide-move 4.8s infinite ease-in-out;z-index:2}
.guide-match .guide-token{animation:guide-match 4.8s infinite ease-in-out}
.guide-score{position:absolute;inset:27px 0 auto;text-align:center;font:25px/1.5 Georgia,serif;color:var(--guide-red);animation:guide-score 4.8s infinite ease-in-out}
.guide-combo-clock{display:block;text-align:center;color:#7c775e;font-size:12px;margin-top:9px}
.guide-combo-chain{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:11px}
.guide-combo-chain span{font:24px/1.2 Georgia,serif;color:var(--guide-red);animation:guide-pulse 4.8s infinite}
.guide-combo-chain span:nth-of-type(2){animation-delay:.8s}.guide-combo-chain span:nth-of-type(3){animation-delay:1.6s}
.guide-combo-chain i{font:16px serif;color:#a49372}
.guide-combo-track{position:absolute;left:15%;right:15%;height:3px;bottom:16px;background:#9eab8e4d;overflow:hidden}
.guide-combo-track::after{content:"";display:block;width:100%;height:100%;background:#8d9d7b;transform-origin:left;animation:guide-count 4.8s linear infinite}
.guide-refill .guide-token{animation:guide-refill 4.8s infinite ease-in-out}.guide-refill .guide-place:nth-child(2) .guide-token{animation-delay:.18s}.guide-refill .guide-place:nth-child(3) .guide-token{animation-delay:.36s}
.guide-skills{display:flex;justify-content:center;align-items:center;gap:13px}
.guide-skill{text-align:center;min-width:0}.guide-skill>span{display:grid;place-items:center;margin:auto auto 6px;width:40px;height:40px;clip-path:polygon(22% 0,78% 0,100% 22%,100% 78%,78% 100%,22% 100%,0 78%,0 22%);background:#849b87;color:#fff4dc;font:22px/1 "STKaiti","KaiTi",serif;animation:guide-pulse 4.8s infinite}
.guide-skill:nth-child(2)>span{background:#be8868;animation-delay:1.6s}.guide-skill:nth-child(3)>span{background:#b3a16e;animation-delay:3.2s}
.guide-skill small{display:block;font:10px/1.5 "Microsoft YaHei",sans-serif;color:#696852;white-space:nowrap}
.guide-time-digits{display:block;position:absolute;top:22px;left:16%;width:110px;height:38px;font:32px/1 Georgia,serif;font-variant-numeric:tabular-nums;color:#526d5a}
.guide-time-digits>span{position:absolute;inset:0;animation:guide-time 4.8s steps(1) infinite}.guide-time-digits>span+span{animation-name:guide-time-next}
.guide-pause-mark{position:absolute;top:25px;right:17%;color:#a5764f;font:28px/1 Georgia,serif}
#modal.guide-modal{width:min(1020px,92vw);max-width:1020px;max-height:92svh;background:#eee5cf;border:4px double #ad8b55;border-radius:5px;color:#3d5045}
.guide-modal .modal-inner{padding:25px 30px 22px;background:radial-gradient(ellipse at 10% 0,#faf4dfb3,transparent 70%),linear-gradient(130deg,#f3ecda,#e8dec6)}
.guide-modal .modal-inner h2{margin:0 0 17px;font-size:29px;letter-spacing:4px;color:#71563b}
.guide-modal .modal-actions{margin-top:17px;display:flex;justify-content:flex-end}
.guide-modal .modal-actions .primary-btn{min-height:44px;width:190px;flex:none;background:#597965;color:#fff4df;font-size:17px;padding:10px 22px;letter-spacing:2px;border:1px solid #425b4c;border-radius:2px;box-shadow:inset 0 0 0 3px #597965,inset 0 0 0 4px #d9dcc16b}
.guide-modal .modal-close{top:22px;right:25px}
.round-paused .banquet-guide *,.round-paused .banquet-guide *::after{animation-play-state:running!important}
#merchantDetails[data-guide=true]{width:min(1200px,95vw);max-width:1200px}
#merchantDetails[data-guide=true] .merchant-book-heading{margin-bottom:20px}
#merchantDetails[data-guide=true] h2{font-size:32px}
#merchantDetails[data-guide=true] .merchant-book-sheet{padding:24px 30px 22px}
@keyframes guide-move{0%,14%{transform:translate(-88px,0)}48%,78%{transform:translate(4px,0)}90%,100%{transform:translate(-88px,0)}}
@keyframes guide-match{0%,30%,100%{opacity:1;scale:1}48%,76%{opacity:0;scale:.65}}
@keyframes guide-score{0%,32%,86%,100%{opacity:0;transform:translateY(7px)}48%,73%{opacity:1;transform:translateY(-7px)}}
@keyframes guide-pulse{0%,45%,100%{filter:brightness(1);scale:1}20%{filter:brightness(1.15);scale:1.07}}
@keyframes guide-count{0%,90%{transform:scaleX(1)}80%{transform:scaleX(.1)}}
@keyframes guide-refill{0%,14%,100%{opacity:0;translate:0 -18px}36%,85%{opacity:1;translate:0 0}}
@keyframes guide-time{0%,28%,100%{opacity:1}29%,99%{opacity:0}}
@keyframes guide-time-next{0%,28%,100%{opacity:0}29%,99%{opacity:1}}
@media(max-width:700px){.banquet-guide{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guide-card{padding:10px}.guide-card h3{font-size:17px!important}.guide-demo{height:95px}.guide-modal .modal-inner{padding:22px 16px}.guide-modal .modal-inner h2{font-size:25px}.guide-time-digits{left:8%}.guide-pause-mark{right:12%}.guide-skills{gap:8px}}
@media(max-height:700px) and (min-width:701px){.guide-modal .modal-inner{padding:18px 25px}.guide-modal .modal-inner h2{font-size:26px;margin-bottom:12px}.guide-card{padding:9px 12px}.guide-demo{height:87px;margin-top:3px}.guide-card p{font-size:11px!important}.guide-modal .modal-actions{margin-top:12px}.guide-time-digits{top:16px}.guide-pause-mark{top:19px}.guide-combo-clock{margin-top:3px}.guide-combo-chain{margin-top:7px}}
@media(prefers-reduced-motion:reduce){.banquet-guide *,.banquet-guide *::after{animation:none!important}.guide-score,.guide-time-digits>span+span{opacity:0}.guide-traveler,.guide-cursor{transform:translate(4px,0)}}
