/* Scoped local walkthrough. Existing map, list and paper sign styles are untouched. */
.msd-hidden{display:none!important}
body.msd-open{overflow:hidden!important}
#map-stamp-demo{position:fixed;inset:0;z-index:12000;display:flex;justify-content:center;align-items:flex-end;font-family:inherit;color:#172e4b}
.msd-shade{position:absolute;inset:0;background:rgba(11,26,45,.72)}
.msd-panel{position:relative;width:min(100%,560px);max-height:min(94dvh,900px);display:flex;flex-direction:column;background:#fdfbf7;border-radius:24px 24px 0 0;box-shadow:0 20px 60px #0b1a2d55;overflow:hidden}
.msd-header{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 16px;background:#172e4b;color:white}
.msd-header button{border:1px solid #ffffff50;border-radius:10px;padding:7px 11px;min-height:38px;font-weight:800;font-size:13px}
.msd-header button[hidden]{visibility:hidden;display:block}
.msd-label{flex:1;text-align:center;font-size:10px;letter-spacing:.12em;color:#e8d6a5;font-weight:800}
.msd-content{overflow-y:auto;overscroll-behavior:contain;padding:24px 22px max(28px,env(safe-area-inset-bottom));min-height:0}
.msd-kicker{font-size:11px;font-weight:900;letter-spacing:.15em;color:#a37327;margin:0 0 6px}
.msd-content h2{font-size:clamp(22px,5vw,28px);font-weight:900;line-height:1.3;margin:0 0 10px}
.msd-kicker.msd-stamp-success-kicker{font-size:15px;line-height:1.4;letter-spacing:.02em}
.msd-content h2.msd-stamp-success-title{font-size:clamp(20px,5.5vw,22px)}
.msd-content h3{font-size:16px;font-weight:900;margin:24px 0 8px}
.msd-lead{font-size:14px;line-height:1.75;color:#44546a;margin:0 0 18px}
.msd-notice{padding:13px 14px;border:1px solid #e6cea0;border-radius:12px;background:#fff7e7;color:#664a20;font-size:12px;line-height:1.65;font-weight:700;margin:18px 0}
#msd-map-return-error{position:relative;z-index:10;box-sizing:border-box;width:calc(100% - 24px);max-width:536px;margin:0 auto 12px}
.msd-steps{counter-reset:step;list-style:none;margin:18px 0;padding:0;display:grid;gap:10px}
.msd-steps li{counter-increment:step;display:flex;gap:11px;align-items:flex-start;background:white;border:1px solid #e1e8ee;border-radius:12px;padding:13px;font-size:13px;line-height:1.5;font-weight:700}
.msd-steps li::before{content:counter(step);display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#172e4b;color:white;font-size:11px}
.msd-content button{cursor:pointer}
.msd-primary,.msd-secondary,.msd-quiet,.msd-link-button,.msd-detail-button{width:100%;min-height:46px;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:900;line-height:1.35;margin-top:10px}
.msd-primary,.msd-detail-button{background:#172e4b;color:white}
.msd-secondary{background:#e9f4f2;color:#125e5a;border:1px solid #b6d9d5}
.msd-quiet,.msd-link-button{background:white;color:#172e4b;border:1px solid #cad4df}
.msd-content button:focus-visible,.msd-header button:focus-visible,.msd-detail-button:focus-visible{outline:3px solid #00b6a7;outline-offset:2px}
.msd-progress{height:9px;background:#e6e9ed;border-radius:99px;overflow:hidden;margin:20px 0}
.msd-progress span{display:block;height:100%;background:#b88436;transition:width .2s}
.msd-store{display:flex;align-items:center;gap:12px;justify-content:space-between;border-bottom:1px solid #e1e8ee;padding:11px 0}
.msd-store div{min-width:0;flex:1}
.msd-store small,.msd-store strong{display:block;line-height:1.4}
.msd-store small{font-size:10px;color:#8d651c;font-weight:800}
.msd-store strong{font-size:13px;overflow-wrap:anywhere}
.msd-store button{width:auto;min-width:94px;flex:none;margin:0;padding:8px 9px;min-height:39px;font-size:11px}
.msd-stamped{background:#fff6df;color:#85601d;border:1px solid #ddc391;border-radius:10px}
.msd-achieved,.msd-result{border-radius:12px;padding:16px;text-align:center;font-size:15px;font-weight:900;background:#e5f2ed;color:#17634e;margin:20px 0 10px}
.msd-result{background:#f8f0dc;color:#674d1f}
.msd-survey-list{display:grid;gap:9px;list-style:none;padding:0;margin:14px 0 19px}
.msd-survey-list li{display:grid;grid-template-columns:27px 1fr;column-gap:10px;row-gap:3px;padding:12px 13px;border:1px solid #e2d9c9;border-radius:12px;background:#fffefa}
.msd-survey-list small{grid-row:1/3;color:#aa4e36;font-size:11px;font-weight:900}
.msd-survey-list strong{font-size:13px;line-height:1.45}
.msd-survey-list span{grid-column:2;color:#596473;font-size:11px;line-height:1.5}
.msd-prize{display:grid;gap:5px;margin:10px 0;padding:15px 16px;border:1px solid #e1d4bc;border-radius:12px;background:#fffefa}
.msd-prize small{color:#9a6326;font-size:11px;font-weight:800}
.msd-prize strong{color:#172e4b;font-size:16px;font-weight:900;line-height:1.45}
.msd-prize span{color:#526174;font-size:12px;line-height:1.5}
.msd-content .msd-prize-photo{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:11px}
.msd-content .msd-prize-photo img{box-sizing:border-box;display:block;width:72px;height:72px;object-fit:contain;border:1px solid #e1d4bc;border-radius:8px;background:#fff}
.msd-content .msd-prize-photo div{display:grid;gap:4px;min-width:0}
.msd-content .msd-prize-photo strong{overflow-wrap:anywhere}
.msd-profile-card{padding:18px;border:1px solid #d8e2e9;border-radius:18px;background:#fdfbf7;box-shadow:0 3px 12px #172e4b10}
.msd-profile-card small{font-size:10px;font-weight:900;letter-spacing:.1em;color:#9a6e25}
.msd-profile-card h3{font-size:16px;font-weight:900;margin:4px 0 8px}
.msd-profile-card p{font-size:12px;line-height:1.6;color:#506175}
.msd-profile-card>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.msd-profile-card button{margin:0;min-width:0;font-size:11px;padding:8px}
.msd-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-flow:row!important}
.msd-detail-button{grid-column:1/-1;margin-top:0;min-height:48px}
#map-stamp-open{background:#172e4b;color:#fff;min-height:36px}
#map-stamp-open:hover{background:#25486f}
.msd-book{color:#172e4b;padding-bottom:6px}
.msd-book-kicker{margin:0 0 8px;color:#9b6b2a;font-size:13px;font-weight:900;letter-spacing:.08em}
.msd-book .msd-book-title{margin:0 0 12px;font-size:clamp(30px,6vw,44px);line-height:1.18;font-weight:900;letter-spacing:-.035em}
.msd-book-lead{margin:0;color:#253b58;font-size:14px;line-height:1.7}
.msd-book-period{margin:8px 0 0;color:#805c37;font-size:11px;font-weight:800;letter-spacing:.02em}
.msd-book-progress-wrap{display:flex;align-items:center;gap:12px;margin:22px 0 19px}
.msd-book-progress{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.msd-book-progress span{height:11px;background:#e3e6ed;border-radius:5px}
.msd-book-progress span.is-filled{background:#65b2ae}
.msd-book-progress-count{min-width:48px;text-align:right;font-size:17px;line-height:1;font-weight:900;white-space:nowrap}
.msd-ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px}
.msd-ticket-hint{display:none}
.msd-ticket{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;min-height:310px;margin:0;padding:17px 10px 13px;border:1px solid #e6d8bb;border-radius:9px;background:#fffcf4;box-shadow:0 5px 13px #43291016;text-align:center;color:#172e4b;font-family:inherit;line-height:1.35;overflow-wrap:anywhere}
.msd-ticket.is-filled{border-color:#dfca9e;background:#fff8e8}
.msd-ticket.is-empty{color:#7d7e7d;background:#fcfaf5;border-color:#e5ded2}
.msd-ticket-number{display:block;width:100%;padding-bottom:6px;border-bottom:1px solid #d9cebb;font-size:15px;font-weight:900;white-space:nowrap}
.msd-ticket-number::first-letter{color:#c93a2d;font-size:1.4em}
.msd-ticket.is-empty .msd-ticket-number::first-letter{color:#898a8c}
.msd-ticket-map{display:block;margin-top:9px;color:#9b6b2a;font-size:10px;font-weight:900}
.msd-ticket.is-empty .msd-ticket-map{color:#88837c}
.msd-ticket-name{display:grid;place-items:center;min-height:42px;width:100%;font-size:13px;font-weight:900;line-height:1.28}
.msd-ticket-seal{display:grid;place-items:center;width:min(100%,108px);aspect-ratio:1;margin:12px auto;border:3px double #c8372a;border-radius:50%;color:#c8372a;font-size:19px;font-weight:900;line-height:1.15;white-space:pre-line;transform:rotate(-7deg)}
.msd-ticket.is-filled .msd-ticket-seal{border:2px solid #c8372a;background:#fffcf4;box-shadow:inset 0 0 0 4px #fffcf4,inset 0 0 0 6px #c8372a,0 2px 5px #c8372a22;letter-spacing:.03em;transform:rotate(-9deg)}
.msd-ticket.is-empty .msd-ticket-seal{border:2px dotted #b8b4ad;color:#9b9994;font-size:13px;transform:none}
.msd-ticket-foot{display:grid;place-items:center;flex:1;width:100%;min-height:38px;font-size:10px;font-weight:700;line-height:1.4}
.msd-ticket-brand{display:block;width:100%;padding-top:8px;border-top:1px solid #e2d9c9;color:#9b9183;font-size:8px;font-weight:800;letter-spacing:.1em}
.msd-book .msd-book-map{display:block;width:100%;min-height:60px;margin:17px 0 0;padding:12px 18px;border:1px solid #87c9c4;border-radius:17px;background:#95d6d1;color:#153755;font-size:19px;font-weight:900;line-height:1.35}
.msd-book .msd-book-map-link{display:block;width:100%;min-height:42px;margin:8px 0 18px;padding:7px 12px;border:0;background:transparent;color:#173858;font-size:14px;font-weight:900}
.msd-book-achieved{margin:18px 0 -8px;color:#17634e;text-align:center;font-size:14px;font-weight:900}
.msd-book-after{margin:19px 0 15px;padding:17px 17px 18px;border:1px solid #ead7b4;border-radius:15px;background:#fff9eb}
.msd-book-after h3{margin:0 0 8px;color:#70451b;font-size:20px;font-weight:900}
.msd-book-after p{margin:0;color:#554638;font-size:12px;line-height:1.6}
.msd-book-after ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;list-style:none;margin:15px 0 0;padding:0}
.msd-book-after li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:#173858;font-size:10px;line-height:1.35;font-weight:800}
.msd-book-after li::before{counter-increment:msd-book-step;content:counter(msd-book-step);display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#c8372a;color:white;font-size:13px}
.msd-book-after ol{counter-reset:msd-book-step}
.msd-book .msd-book-prizes{display:block;width:100%;min-height:51px;margin:17px 0 0;padding:9px 13px;border:1px solid #bc392e;border-radius:11px;background:#ce4637;color:#fff;font-size:16px;font-weight:900;box-shadow:0 4px 0 #a12d24}
.msd-book .msd-book-prizes:hover{background:#bc392e}
.msd-book-rule{margin:0 0 13px;color:#5c6772;font-size:11px;line-height:1.6}
.msd-book .msd-book-reset{display:block;width:100%;min-height:39px;padding:8px 12px;border:1px solid #cad4df;border-radius:10px;background:white;color:#172e4b;font-size:11px;font-weight:800}
@media(max-width:420px){.msd-ticket-hint{display:block;margin:18px 0 0;color:#647184;font-size:11px;font-weight:800}.msd-ticket-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:70%;gap:10px;margin:6px -2px 0;padding:3px 2px 12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.msd-ticket{min-height:315px;padding:15px 12px 12px;scroll-snap-align:start}.msd-ticket-number{font-size:15px}.msd-ticket-map{font-size:10px}.msd-ticket-name{min-height:42px;font-size:13px}.msd-ticket-seal{width:min(100%,104px);margin:11px auto;font-size:18px}.msd-ticket.is-empty .msd-ticket-seal{font-size:13px}.msd-ticket-foot{font-size:11px}.msd-ticket-brand{font-size:8px;letter-spacing:.08em}}
@media(min-width:640px){#map-stamp-demo{align-items:center}.msd-panel{border-radius:24px;max-height:88dvh}}

/* v24: full-screen stampbook, retaining the existing paper-ticket and seal design. */
#map-stamp-demo{align-items:stretch;background:#fdfbf7}
.msd-shade{display:none}
.msd-panel{width:100%;height:100dvh;max-height:none;border-radius:0;box-shadow:none;background:#fdfbf7}
.msd-header{flex:none;min-height:56px;padding:6px max(12px,calc((100vw - 900px)/2));gap:8px}
.msd-header button{min-height:44px;padding:6px 10px}
.msd-back{white-space:nowrap}
.msd-content{width:min(100%,900px);flex:1;margin:0 auto;padding:18px 18px 34px;box-sizing:border-box}
.msd-book{padding-bottom:0}
.msd-book-kicker{margin:0 0 3px;font-size:11px}
.msd-book-hero{display:grid;grid-template-columns:1fr;align-items:center;min-height:0}
.msd-book-hero-text{min-width:0}
.msd-book .msd-book-title{margin:0 0 4px;font-size:clamp(31px,8.2vw,45px);line-height:1.05}
.msd-book-scene{display:none}
.msd-book-lead{font-size:12px;line-height:1.3}
.msd-book-period{margin:3px 0 0;font-size:10px;line-height:1.3}
.msd-book-progress-wrap{margin:13px 0 11px}
.msd-ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:6px;margin:0;padding:0;overflow:visible;scroll-snap-type:none}
.msd-ticket-hint{display:none}
.msd-ticket{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:clamp(210px,62vw,520px);margin:0;padding:15px 7px 6px;border:1px solid #dfceb0;border-radius:5px;background:#fffbf3 url("assets/stampbook-reference.png?v=51c484885d6fa911") 10% 33% / 350% auto no-repeat;box-shadow:0 4px 9px #4329101c;color:#172e4b;text-align:center;scroll-snap-align:none;overflow:hidden}
.msd-ticket::before{content:"";position:absolute;inset:10px 6px 35px;background:#fffbf3;z-index:0}
.msd-ticket>*{position:relative;z-index:1}
.msd-ticket.is-filled{border-color:#d8b77d;background-color:#fffaf0}
.msd-ticket.is-empty{border-color:#e0d5c2;color:#6c7076;background-color:#fffbf3}
.msd-ticket-number{width:100%;padding:0 0 3px;border-bottom:1px solid #d9cebb;font-size:clamp(13px,2.1vw,19px);line-height:1.2;white-space:nowrap}
.msd-ticket-number::first-letter{color:#c93a2d;font-size:1.28em}
.msd-ticket.is-empty .msd-ticket-number::first-letter{color:#8c8d90}
.msd-ticket-map{margin:5px 0 2px;font-size:clamp(9px,1.3vw,12px);line-height:1.2}
.msd-ticket-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:0;max-height:2.65em;margin:0;width:100%;font-size:clamp(11px,1.5vw,16px);line-height:1.3;overflow:hidden;overflow-wrap:anywhere}
.msd-ticket-seal{flex:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:clamp(74px,22vw,132px);height:clamp(74px,22vw,132px);aspect-ratio:auto;margin:auto auto 5px;border:3px double #c8372a;border-radius:50%;background:#fffbf3;color:#c8372a;font-size:clamp(10px,1.45vw,18px);font-weight:900;line-height:1.1;white-space:pre-line;transform:rotate(-7deg)}
.msd-ticket-seal::before{content:"";display:block;flex:none;width:clamp(29px,8vw,55px);height:clamp(29px,8vw,55px);background:transparent url("assets/stampbook-reference.png?v=51c484885d6fa911") 18% 36% / 1310% auto no-repeat}
.msd-ticket.is-filled .msd-ticket-seal{border:2px solid #c8372a;background:#fffbf3;box-shadow:inset 0 0 0 3px #fffbf3,inset 0 0 0 5px #c8372a;transform:rotate(-9deg)}
.msd-ticket.is-empty .msd-ticket-seal{border:2px dotted #b8b4ad;background:#fffbf3;color:#8d8b86;font-size:clamp(10px,1.4vw,14px);transform:none}
.msd-ticket.is-empty .msd-ticket-seal::before{background-position:51% 34.4%;background-size:1420% auto}
.msd-ticket-foot{flex:none;min-height:0;width:100%;margin:0;font-size:clamp(9px,1.2vw,12px);line-height:1.25}
.msd-ticket-brand{flex:none;width:100%;height:27px;margin-top:auto;padding:0;border:0;background:transparent url("assets/stampbook-reference.png?v=51c484885d6fa911") 10% 49% / 350% auto no-repeat;font-size:0}
.msd-book .msd-book-map{min-height:50px;margin:15px 0 0;padding:9px 16px;font-size:17px}
.msd-book .msd-book-map-link{min-height:44px;margin:8px 0 13px;padding:7px 12px;border:1px solid #b6d9d5;border-radius:12px;background:#eff7f6;font-size:13px}
.msd-book-after{margin:14px 0;padding:13px 14px 15px}
.msd-book-after h3{margin:0 0 6px;font-size:18px}
.msd-book-after p{font-size:12px}
.msd-book-after ol{display:grid;margin:10px 0 0}
.msd-book-after li{font-size:10px}
.msd-book-after li::before{width:24px;height:24px}
.msd-book .msd-book-prizes{min-height:48px;margin:12px 0 0;font-size:16px}
.msd-book-rule{font-size:10px}
.msd-book .msd-book-reset{min-height:44px}
@media(max-width:420px){.msd-content{padding:14px 11px 30px}.msd-header{padding:5px 8px}.msd-header button{font-size:11px}.msd-label{font-size:9px;letter-spacing:.02em}.msd-book-hero{min-height:105px}.msd-book .msd-book-title{font-size:clamp(31px,8.2vw,35px)}.msd-book-scene{height:88px}.msd-book-lead{font-size:11px}.msd-book-period{font-size:9px}.msd-ticket-grid{gap:5px}.msd-ticket{padding:11px 4px 5px}.msd-ticket::before{inset:9px 4px 30px}.msd-ticket-brand{height:22px}.msd-ticket-foot{font-size:9px}.msd-book-after{padding:10px}.msd-book-after h3{font-size:15px}.msd-book-after p{font-size:11px}.msd-book-after li{font-size:9px}}
@media(max-width:350px){.msd-book-scene{height:68px}}
@media(max-width:420px){.msd-book-hero{min-height:0}}

/* v33: adopted one-sheet stampbook. Artwork below is cropped from the supplied references. */
#map-stamp-demo.msd-book-view,.msd-book-view .msd-panel{background:#133781}
.msd-book-view .msd-header{position:relative;z-index:4;flex:none;box-sizing:border-box;height:112px;min-height:112px;padding:30px 13px 0;align-items:flex-start;justify-content:space-between;background-color:#133781;background-image:url('assets/stampbook-paws-top.png?v=2738d467460e38b4'),url('assets/stampbook-starburst.png?v=17db2ce1e06aa4ba'),url('assets/stampbook-header-left.png?v=f8a8721e77a18f2f'),url('assets/stampbook-header-right.png?v=e68da25c2ec68b10');background-repeat:no-repeat;background-size:82px auto,174px auto,137px auto,119px auto;background-position:calc(50% + 119px) 5px,center 48px,calc(50% - 186px) 82px,calc(50% + 128px) 75px}
.msd-book-view .msd-label{display:none}
.msd-book-view .msd-back{width:117px;min-height:38px;padding:4px 6px;border:2px solid #6d381b;border-radius:5px;background:#fff1c9;color:#4a200c;font-size:16px;font-weight:900;box-shadow:1px 2px 0 #321a14;clip-path:polygon(5% 0,95% 0,98% 11%,100% 11%,100% 89%,97% 89%,95% 100%,5% 100%,2% 89%,0 89%,0 11%,3% 11%)}
.msd-book-view .msd-content{box-sizing:border-box;width:100%;max-width:none;min-height:0;margin:0;padding:0 0 max(18px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;background:#133781}
.msd-book-view .msd-book{position:relative;box-sizing:border-box;width:min(100%,390px);margin:0 auto 0;color:#4f240f}
.msd-book-art{pointer-events:none}
.msd-book-art img{position:absolute;display:block;height:auto;pointer-events:none}
.msd-book-art-stars{z-index:0;width:174px;left:105px;top:-65px}
.msd-book-art-left{z-index:3;width:137px;left:9px;top:-30px}
.msd-book-art-right{z-index:3;width:119px;right:11px;top:-37px}
.msd-book-art-bottom-left{z-index:0;width:82px;left:0;top:647px}
.msd-book-art-bottom-right{z-index:0;width:84px;right:0;top:647px}
.msd-book-art-bottom-left-marks{z-index:3;width:119px;left:0;top:621px}
.msd-book-art-bottom-right-marks{z-index:3;width:61px;right:0;top:621px}
.msd-book-paper{position:relative;z-index:1;box-sizing:border-box;min-height:701px;margin:0 11px;padding:0 15px 0;border:3px solid #804322;border-radius:45% 45% 20% 20% / 7% 7% 5% 5%;background:#fcf1d3;box-shadow:inset 0 0 0 3px #e8c98b,inset 0 0 18px #f5dda5,0 3px 9px #0a1e50aa}
.msd-book-hero{position:relative;display:block;box-sizing:border-box;height:136px;min-height:136px}
.msd-book .msd-book-title{position:absolute;top:23px;left:-3%;width:106%;height:84px;margin:0;line-height:1}
.msd-book-title svg{display:block;width:100%;height:100%;overflow:visible}
.msd-title-ribbon{fill:#fff2ca;stroke:#673116;stroke-width:2.5;paint-order:stroke fill;filter:drop-shadow(0 1px 0 #9b5a2c)}
.msd-book-title text{fill:#4c210d;stroke:#4c210d;stroke-width:1px;paint-order:stroke fill;font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;font-size:33px;font-weight:900;letter-spacing:-1px}
.msd-book-period{position:absolute;top:99px;left:-3px;right:-3px;margin:0!important;color:#502711!important;text-align:center;font-size:12px!important;font-weight:900;letter-spacing:-.03em;white-space:nowrap}
.msd-ticket-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:6px!important;margin:0!important;padding:0!important;overflow:visible!important;scroll-snap-type:none!important}
.msd-ticket{position:relative;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;width:100%;height:189px;min-height:189px!important;margin:0!important;padding:9px 5px 11px!important;border:1.5px solid #9b572c!important;border-radius:7px!important;background:#fff4d8!important;box-shadow:0 3px 4px #673a2140!important;color:#4e220e!important;line-height:1.24;text-align:center;overflow:hidden!important}
.msd-ticket::before{content:none!important}
.msd-ticket>*{z-index:auto}
.msd-ticket.is-empty,.msd-ticket.is-filled{background:#fff4d8!important;color:#4e220e!important}
.msd-ticket .msd-ticket-number{position:relative;box-sizing:border-box;width:100%;margin:3px 0 5px!important;padding:0 0 6px!important;border-bottom:1px solid #c49559!important;color:#4e220e!important;font-size:15px!important;font-weight:900;line-height:1.15;white-space:nowrap}
.msd-ticket-number::before,.msd-ticket-number::after{content:'★';position:absolute;top:2px;color:#d3aa4f;font-size:11px}
.msd-ticket-number::before{left:-1px}.msd-ticket-number::after{right:-1px}
.msd-ticket-number::first-letter,.msd-ticket.is-empty .msd-ticket-number::first-letter{color:inherit;font-size:inherit}
.msd-ticket-mark{display:block;flex:none;width:87px;height:94px;max-width:100%;object-fit:contain;margin:1px auto 1px}
.msd-ticket.is-filled .msd-ticket-mark{width:68px;height:70px;margin:2px auto 1px}
.msd-ticket-empty{display:block;margin:auto 0 8px;font-size:15px;font-weight:900;white-space:nowrap}
.msd-ticket-name{display:block!important;min-height:0!important;max-height:none!important;margin:0!important;width:100%;overflow:visible!important;color:#4e220e;font-size:11px!important;font-weight:900;line-height:1.18;overflow-wrap:anywhere;-webkit-line-clamp:unset!important}
.msd-ticket-map{display:block;margin:2px 0 0!important;color:#67462a!important;font-size:9px!important;font-weight:700;line-height:1.1}
.msd-ticket-date{display:block;margin:auto 0 0;font-size:9px;font-weight:800;white-space:nowrap}
.msd-book .msd-book-main{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:calc(100% - 4px);height:55px;min-height:55px;margin:14px 2px 0;padding:5px 37px 5px 12px;border:2px solid #244c4a;border-radius:6px;background:#9edbd2;color:#1b3436;font-size:16px;font-weight:900;line-height:1.22;text-align:center;clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)}
.msd-book-main::before{content:'★';position:absolute;left:8px;color:#d4aa4e;font-size:13px}
.msd-book-main img{position:absolute;right:11px;top:9px;width:35px;height:35px;object-fit:contain;mix-blend-mode:multiply}
.msd-book-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;box-sizing:border-box;height:117px;margin:12px 2px 0;padding:10px 0 0;border-top:1px solid #a76b38;list-style:none}
.msd-book-steps::before{content:'★';position:absolute;top:-9px;left:50%;transform:translateX(-50%);padding:0 7px;background:#fcf1d3;color:#d5aa4e;font-size:14px}
.msd-book-steps li{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;margin:0;text-align:center;color:#4c220e;font-size:12px;font-weight:900;line-height:1.2}
.msd-book-steps li:not(:last-child)::after{content:'';position:absolute;top:22px;left:calc(50% + 24px);width:calc(100% - 47px);border-top:3px dotted #8b4222}
.msd-book-steps img{display:block;width:55px;height:72px;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.msd-book-steps span{display:block;width:94%;margin-top:0;overflow-wrap:anywhere}
.msd-book .msd-book-prizes{box-sizing:border-box;display:block;width:calc(100% - 4px);height:53px;min-height:53px;margin:6px 2px 0;padding:7px 15px;border:2px solid #872c1f;border-radius:6px;background:#b83a29;color:#fff;font-size:24px;font-weight:900;line-height:1.2;box-shadow:none;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}
.msd-book-links{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:center;box-sizing:border-box;height:48px;margin:11px 2px 0;padding:1px 3px 0;border-top:1px solid #a76b38}
.msd-book-links::before{content:'★';position:absolute;top:-9px;left:50%;transform:translateX(-50%);padding:0 7px;background:#fcf1d3;color:#d5aa4e;font-size:14px}
.msd-book .msd-book-link{box-sizing:border-box;display:block;width:100%;min-height:44px;margin:0;padding:4px 3px;border:0;border-radius:0;background:transparent;color:#4c220e;font-size:13px;font-weight:900;text-decoration:underline;text-underline-offset:3px}
.msd-book-link+.msd-book-link{border-left:1px solid #a76b38!important}
.msd-book-cats{position:absolute;z-index:2;bottom:-1px;left:calc(50% - 5px);display:block;width:88px;height:auto;max-height:63px;object-fit:contain;transform:translateX(-50%);pointer-events:none}
@media(max-width:350px){.msd-book-view .msd-header{height:96px;min-height:96px;padding-top:24px}.msd-book-paper{min-height:728px;margin:0 8px;padding:0 9px}.msd-book-art-stars{left:68px}.msd-book-art-left{left:4px;width:113px}.msd-book-art-right{right:4px;width:100px}.msd-book-hero{height:136px;min-height:136px}.msd-book .msd-book-title{top:30px}.msd-book-title text{font-size:27px}.msd-book-period{top:103px;font-size:10px!important}.msd-ticket-grid{gap:4px!important}.msd-ticket{height:206px;min-height:206px!important;padding:8px 2px 8px!important}.msd-ticket .msd-ticket-number{font-size:12px!important}.msd-ticket-number::before,.msd-ticket-number::after{font-size:8px}.msd-ticket-mark{width:72px;height:85px}.msd-ticket.is-filled .msd-ticket-mark{width:59px;height:62px}.msd-ticket-name{font-size:10px!important}.msd-ticket-empty{font-size:13px}.msd-book .msd-book-main{height:58px;min-height:58px;font-size:14px}.msd-book-steps{height:124px}.msd-book-steps li{font-size:10px}.msd-book .msd-book-prizes{font-size:21px}.msd-book .msd-book-link{font-size:10px}}

/* Preserve the reference's irregular paper and ticket silhouettes. */
.msd-book-view .msd-header{background-image:url('assets/stampbook-bird-top.png?v=70052eebc8454af5'),url('assets/stampbook-bird-left.png?v=08a0481378c8a042'),url('assets/stampbook-paws-top.png?v=2738d467460e38b4'),url('assets/stampbook-starburst.png?v=17db2ce1e06aa4ba'),url('assets/stampbook-header-left.png?v=f8a8721e77a18f2f'),url('assets/stampbook-header-right.png?v=e68da25c2ec68b10');background-size:50px auto,41px auto,82px auto,174px auto,137px auto,119px auto;background-position:calc(50% + 100px) 25px,calc(50% - 145px) 76px,calc(50% + 119px) 5px,center 48px,calc(50% - 186px) 82px,calc(50% + 128px) 75px}
.msd-book-art-scroll-left,.msd-book-art-scroll-right{z-index:4;width:55px;top:75px}
.msd-book-art-scroll-left{left:27px}
.msd-book-art-scroll-right{right:24px}
.msd-book-paper{border:0;border-radius:0;background:transparent;box-shadow:none;isolation:isolate}
.msd-book-paper::before,.msd-book-paper::after{content:'';position:absolute;pointer-events:none;clip-path:polygon(0 7%,3% 5%,10% 3%,20% 1%,35% 0,65% 0,80% 1%,90% 3%,97% 5%,100% 7%,100% 93%,98% 94%,90% 96%,75% 98%,55% 100%,45% 100%,25% 98%,10% 96%,2% 94%,0 93%)}
.msd-book-paper::before{inset:0;background:#804322;z-index:0;filter:drop-shadow(0 3px 9px #0a1e50aa)}
.msd-book-paper::after{inset:3px;background:#fcf1d3;z-index:1}
.msd-book-paper>*{position:relative;z-index:2}
.msd-book-paper>.msd-book-cats{position:absolute;z-index:3}
.msd-ticket{isolation:isolate;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.msd-ticket.is-empty,.msd-ticket.is-filled{border:0!important;background:transparent!important}
.msd-ticket::before,.msd-ticket::after{content:''!important;position:absolute;pointer-events:none;clip-path:polygon(0 4%,4% 2%,7% 0,93% 0,96% 2%,100% 4%,100% 95%,97% 97%,94% 100%,6% 100%,3% 97%,0 95%)}
.msd-ticket::before{inset:0;background:#99532b;z-index:0;box-shadow:0 3px 4px #673a2140}
.msd-ticket::after{inset:1.5px;background:#fff4d8;z-index:1}
.msd-ticket>*{position:relative;z-index:2}
.msd-ticket>.msd-ticket-bottom{position:absolute;z-index:3;left:10px;right:10px;bottom:7px;height:9px;border-top:1px solid #c49559}
.msd-ticket-bottom::before,.msd-ticket-bottom::after{content:'★';position:absolute;top:-8px;color:#d3aa4f;font-size:11px;line-height:1}
.msd-ticket-bottom::before{left:-1px}.msd-ticket-bottom::after{right:-1px}
.msd-ticket-empty{margin-bottom:16px}
.msd-ticket-date{margin-bottom:9px}
.msd-book-paper::before{inset:0;clip-path:none;background:transparent url('assets/stampbook-paper-outline.svg?v=5b2f8e46eb4b94fc') center / 100% 100% no-repeat;filter:drop-shadow(0 3px 5px #0a1e50aa)}
.msd-book-paper::after{content:none}
.msd-book-view .msd-header{background-image:url('assets/stampbook-bird-top.png?v=70052eebc8454af5'),url('assets/stampbook-paws-top.png?v=2738d467460e38b4'),url('assets/stampbook-starburst.png?v=17db2ce1e06aa4ba'),url('assets/stampbook-bird-left.png?v=08a0481378c8a042'),url('assets/stampbook-header-left.png?v=f8a8721e77a18f2f'),url('assets/stampbook-header-right.png?v=e68da25c2ec68b10');background-size:50px auto,82px auto,174px auto,41px auto,137px auto,119px auto;background-position:calc(50% + 100px) 25px,calc(50% + 119px) 5px,calc(50vw - 90px) 47px,calc(50vw - 165px) 75px,calc(50vw - 186px) 82px,calc(50vw + 65px) 75px}
.msd-book-art-bird-left{z-index:3;width:41px;left:30px;top:-37px}
.msd-ticket-date{margin:6px 0 0}
@media(max-width:350px){.msd-book-view .msd-header{background-size:50px auto,82px auto,174px auto,34px auto,113px auto,100px auto;background-position:calc(50% + 78px) 25px,calc(50% + 119px) 5px,68px 31px,25px 61px,4px 66px,216px 59px}.msd-book-art-bird-left{left:25px;top:-35px;width:34px}.msd-ticket{height:206px;min-height:206px!important}.msd-ticket-name{font-size:11px!important;line-height:1.15}.msd-ticket-date{font-size:11px;line-height:1.1;white-space:normal}.msd-ticket-date-label,.msd-ticket-date-value{display:block}.msd-book-steps li{font-size:11px}.msd-book .msd-book-main{font-size:13px;padding:5px 30px 5px 7px;white-space:nowrap}.msd-book-main img{right:5px;top:14px;width:27px;height:27px}.msd-book-links{height:52px;margin-top:3px}.msd-book .msd-book-link{min-height:44px;font-size:11px}}

/* v34: one source-aligned decoration layer across the header/paper boundary. */
.msd-book-view .msd-panel{overflow-x:hidden;overflow-y:auto;scrollbar-width:none}
.msd-book-view .msd-panel::-webkit-scrollbar{display:none}
.msd-book-view .msd-header{background:none;z-index:4}
.msd-book-view .msd-content{flex:none;overflow:visible}
.msd-book-art-stars{left:110px;top:-64px}
.msd-book-art-bird-left{left:30px;top:-37px;width:41px}
.msd-book-art-bird-top{z-index:3;left:245px;top:-87px;width:50px}
.msd-book-art-bird-right{z-index:3;left:277px;top:-53px;width:55px}
.msd-book-art-paws-top{z-index:0;left:304px;top:-107px;width:82px}
.msd-book-art-title-edge{z-index:4;left:0;top:-112px;width:390px}
.msd-book-art-side-left{z-index:5;left:0;top:40px;width:70px}
.msd-book-art-side-right{z-index:5;right:0;top:40px;width:62px}
.msd-title-ribbon{stroke:#673116;stroke-width:1;stroke-opacity:.65;filter:none}
.msd-book-title text{font-family:'Noto Sans JP','Yu Gothic',sans-serif;font-size:31px;stroke:none;font-weight:900;letter-spacing:-1.25px}
@media(max-width:350px){.msd-book-art-stars{left:90px;top:-54px;width:143px}.msd-book-art-bird-left{left:25px;top:-31px;width:34px}.msd-book-art-bird-top{left:201px;top:-75px;width:41px}.msd-book-art-bird-right{left:227px;top:-45px;width:45px}.msd-book-art-paws-top{left:249px;top:-89px;width:67px}.msd-book-art-title-edge{display:none}.msd-book-art-side-left{top:29px;width:57px}.msd-book-art-side-right{top:29px;width:51px}.msd-book-title text{font-size:27px}}

/* Source-derived plaque frame, with accessible live button text. */
#map-stamp-demo.msd-book-view,.msd-book-view .msd-panel,.msd-book-view .msd-content{background-color:#173794}
.msd-book-view .msd-back{position:relative;top:-3px;box-sizing:border-box;width:118px;height:44px;min-height:44px;padding:0 0 1px;border:0;border-radius:0;background:transparent url('assets/stampbook-back-plaque.png?v=27f299433b30239d') center/118px 38px no-repeat;box-shadow:none;clip-path:none;color:#4a200c;font-family:'Noto Sans JP','Yu Gothic',sans-serif;font-size:16px;font-weight:900;line-height:44px}
/* Keep the narrow-screen paper shoulder at the source aspect ratio. */
@media(max-width:350px){.msd-book-paper::after{content:'';position:absolute;z-index:1;inset:0 0 auto;height:190px;background:transparent url('assets/stampbook-paper-outline.svg?v=5b2f8e46eb4b94fc') top center/100% auto no-repeat;pointer-events:none}}
@media(max-width:350px){.msd-book-hero{height:109px;min-height:109px}.msd-book .msd-book-title{top:7px}.msd-book-period{top:80px}}
@media(max-width:350px){.msd-book-art img.msd-book-art-title-edge{display:none}}
/* The refreshed paper artwork already includes its own MAP title plaque. */
#paper-fixed-sign{display:none!important}
@media(min-width:700px){.map-fullscreen #map-demo-toolbar .mdt-inner{max-width:none}.map-fullscreen #map-demo-toolbar .mdt-search{flex:0 1 350px}}
#map-sponsor-entry{position:absolute;z-index:4;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));isolation:isolate;display:flex;align-items:center;justify-content:center;width:104px;height:48px;color:#512d19;font-size:15px;font-weight:900;line-height:1;text-decoration:none}
#map-sponsor-entry::before{content:"";position:absolute;z-index:-1;inset:0;clip-path:polygon(11px 0,100% 0,100% 100%,11px 100%,0 50%);background:#fff1cd;filter:drop-shadow(0 2px 2px #13234766)}
#map-sponsor-entry:focus-visible{outline:3px solid #13b2a1;outline-offset:0;border-radius:3px}
#msd-map-entry{display:none;position:fixed;z-index:55;left:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));box-sizing:border-box;min-width:178px;height:48px;min-height:48px;padding:9px 15px;border:2px solid #14454a;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);background:#a8dcd3;color:#153b42;font-size:16px;font-weight:900;box-shadow:0 3px 7px #101c4380}
.map-fullscreen #msd-map-entry{display:block}.msd-open #msd-map-entry{display:none}
#msd-map-entry:focus-visible{outline:3px solid #fff1cd;outline-offset:2px}
@media(max-width:380px){#msd-map-entry{min-width:164px;font-size:14px}}
#msd-detail-entry{border:2px solid #14454a;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);background:#a8dcd3;color:#153b42;font-size:16px;font-weight:900;box-shadow:0 3px 7px #101c4380}
#msd-detail-entry:focus-visible{outline:3px solid #123d7c;outline-offset:2px}
@media(max-width:380px){#msd-detail-entry{font-size:14px}}
#msd-personal-actions{display:contents}
#msd-personal-actions[hidden]{display:none!important}
#map-detail-quick-actions #msd-personal-actions button{width:100%;min-height:50px;margin:0;padding:5px 3px;font-size:12px;font-weight:800}
#map-detail-quick-actions #msd-detail-favorite[aria-pressed="true"]{border:2px solid #3a9e90;background:#cbe9df;color:#125e5a;box-shadow:inset 0 0 0 1px #fff}
#map-detail-quick-actions #msd-detail-note[data-has-note="true"]{border:2px solid #6f9eb7;background:#e0edf5;color:#24536b}
.msd-bookmark-star{position:relative;display:inline-grid;place-items:center;flex:none;width:20px;height:20px;line-height:1}
.msd-bookmark-star .fa-bookmark{font-size:20px;line-height:1}
.msd-bookmark-star .fa-star{position:absolute;top:5px;left:50%;transform:translateX(-50%);color:#fff;font-size:8px;line-height:1}
#map-detail-quick-actions .msd-bookmark-star .fa-bookmark{font-size:20px}
#map-detail-quick-actions .msd-bookmark-star .fa-star{font-size:8px}
#msd-detail-personal-status{grid-column:1/-1;font-size:11px;color:#a6372c;margin:0}
#msd-detail-personal-status:empty{display:none}
.msd-saved-search,.msd-note-label+textarea{display:block;width:100%;min-height:44px;border:2px solid #a2bfbd;border-radius:10px;background:#fffefa;color:#172e4b;padding:10px 12px;font:inherit}
.msd-note-label{font-weight:900;font-size:13px}
.msd-note-label+textarea{min-height:145px;resize:vertical}
.msd-note-help{font-size:12px;line-height:1.6;color:#596473}
.msd-saved-list{display:grid;gap:12px;margin:16px 0}
.msd-saved-card{padding:15px;border:1px solid #decba9;border-radius:12px;background:#fffefa}
.msd-saved-card[hidden]{display:none!important}
.msd-saved-card small{font-size:11px;color:#a06926;font-weight:800}
.msd-saved-card h3{margin:5px 0 8px}
.msd-saved-labels{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.msd-saved-labels>span{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;background:#d9eee8;color:#1a645f}
.msd-saved-labels .msd-saved-badge-note{background:#e0edf5;color:#24536b}
.msd-saved-labels .msd-bookmark-star{width:16px;height:16px}
.msd-saved-labels .msd-bookmark-star .fa-bookmark{font-size:16px}
.msd-saved-labels .msd-bookmark-star .fa-star{top:4px;font-size:7px}
.msd-saved-labels .fa-file-pen{font-size:13px}
.msd-saved-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;margin:9px 0}
.msd-saved-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.msd-saved-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0;min-height:44px}
.msd-saved-actions button .fa-file-pen{font-size:14px}
@media(max-width:380px){.msd-saved-actions button{box-sizing:border-box;min-width:0;padding:8px 5px;gap:4px;font-size:12px;white-space:nowrap}}
#msd-camera-video{display:block;width:100%;max-height:300px;margin:12px 0;border:3px solid #a8dcd3;border-radius:12px;object-fit:cover;background:#172e4b}
#msd-camera-video[hidden]{display:none}
.msd-camera-message{font-size:12px;font-weight:700;line-height:1.5;color:#49616b}
.msd-survey-form{display:grid;gap:12px;margin:16px 0}
.msd-survey-form fieldset{min-width:0;border:1px solid #d9c59f;border-radius:12px;background:#fffefa;padding:13px}
.msd-survey-form legend{font-size:13px;font-weight:900;line-height:1.5;padding:0 3px}
.msd-survey-form label{display:flex;align-items:flex-start;gap:9px;min-height:42px;padding:8px 2px;font-size:13px;line-height:1.45;cursor:pointer}
.msd-survey-form input{width:18px;height:18px;flex:none;accent-color:#0f8e84}
.msd-survey-form textarea{display:block;width:100%;border:2px solid #a2bfbd;border-radius:10px;padding:10px;font:inherit;color:#172e4b}
.msd-survey-form .msd-survey-group{margin:16px 0 1px;padding:0 0 7px;border-bottom:2px solid #b88b51;color:#5c3f22;font-size:15px}
.msd-survey-form fieldset.msd-invalid{border:2px solid #ba473b;background:#fff7f5}
.msd-field-error{margin:8px 0 0;color:#a23229;font-size:12px;font-weight:800}
.msd-lottery-stage{display:flex;flex:1;min-height:300px;flex-direction:column;align-items:center;justify-content:center;gap:62px;margin:0;padding:12px 0;text-align:center}
.msd-lottery-art{display:block;width:min(100%,320px);height:auto;max-height:124px;object-fit:contain;clip-path:inset(0 26% 12%);filter:hue-rotate(-25deg) saturate(1.8) contrast(1.15) drop-shadow(0 1px 0 #80410f)}
.msd-voucher-code{display:block;padding:15px 8px;border:2px dashed #aa7b40;border-radius:10px;background:#fff5db;color:#172e4b;text-align:center;font-family:monospace;font-size:16px;font-weight:900;overflow-wrap:anywhere;user-select:all}
@media(max-width:699px){#paper-viewport{padding-top:40px!important}}

/* Adopted あそぶ hierarchy, using the original paper-cover artwork. */
#cont-entame #map-demo-play-entry{display:block;margin:12px 0 14px;padding:0;overflow:hidden;border:2px solid #ad8151;border-radius:24px;background:#fff3d4;color:#4a250f;box-shadow:0 8px 22px #172e4b2a}
#cont-entame #map-demo-play-entry .play-entry-art{position:relative;display:flex;justify-content:center;align-items:center;height:170px;overflow:hidden;background:#30449a}
#cont-entame #map-demo-play-entry .play-entry-art img{display:block;width:auto;height:215px;max-width:none;object-fit:contain;transform:translateY(-13px)}
#cont-entame #map-demo-play-entry .play-entry-label{position:absolute;z-index:1;top:13px;left:14px;padding:6px 12px;background:#a8dcd3;color:#173b4b;font-size:14px;font-weight:900;letter-spacing:.08em}
#cont-entame #map-demo-play-entry .play-entry-body{padding:8px 14px 14px;text-align:center}
#cont-entame #map-demo-play-entry h2{margin:0;color:#54280f;font-family:'Noto Sans JP','Yu Gothic',sans-serif;font-size:24px;font-weight:900;line-height:1.3;letter-spacing:.02em}
#cont-entame #map-demo-play-entry p{margin:3px 0 10px;color:#54280f;font-size:12px;font-weight:800;line-height:1.4}
#cont-entame #map-demo-play-entry button{display:block;width:100%;min-height:52px;border:2px solid #26716e;border-radius:999px;background:#a8dcd3;color:#153b42;font-size:18px;font-weight:900;box-shadow:0 3px 0 #26716e}
#cont-entame #map-demo-play-entry button:hover{background:#bae7de}
#cont-entame #map-demo-play-entry button:focus-visible{outline:3px solid #123d7c;outline-offset:3px}
#map-demo-play-grid > :nth-child(2){display:none!important}
#map-demo-play-grid #roulette-btn{grid-column:1/-1;width:100%;min-height:106px;aspect-ratio:auto}
#map-demo-play-grid #roulette-btn #roulette-display{position:absolute;right:18px;top:10px;bottom:10px;width:28%;pointer-events:none}
#map-demo-play-grid #roulette-btn > .absolute.inset-0.p-4{padding:18px 20px}
#map-demo-play-grid #roulette-btn .mt-auto{max-width:68%}
@media(max-width:350px){#cont-entame #map-demo-play-entry .play-entry-art{height:155px}#cont-entame #map-demo-play-entry .play-entry-art img{height:195px}#cont-entame #map-demo-play-entry h2{font-size:21px}#map-demo-play-grid #roulette-btn{min-height:96px}.msd-book .msd-book-link{font-size:13px}}
@media(max-width:350px){#line-stamp-trigger h3{font-size:11px;letter-spacing:-.03em;white-space:nowrap}}

/* Child screens continue the approved stampbook palette and existing artwork. */
#map-stamp-demo.msd-child-view,.msd-child-view .msd-panel{background:#173794}
.msd-child-view .msd-panel{height:100dvh;max-height:100dvh;border-radius:0;box-shadow:none}
.msd-child-view .msd-header{flex:none;box-sizing:border-box;min-height:88px;padding:22px 13px 12px;align-items:flex-start;background-color:#173794;background-image:url('assets/stampbook-paws-top.png?v=2738d467460e38b4');background-size:70px auto;background-repeat:no-repeat;background-position:right 17px top 0}
.msd-child-view .msd-back{box-sizing:border-box;flex:none;width:110px;height:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent url('assets/stampbook-back-plaque.png?v=27f299433b30239d') center/110px 38px no-repeat;box-shadow:none;color:#4a200c;font-size:14px;font-weight:900}
.msd-child-view .msd-label{align-self:center;padding:0 4px;color:#fff1c8;font-size:10px;font-weight:800;letter-spacing:0;line-height:1.3}
.msd-child-view .msd-content{box-sizing:border-box;width:auto;flex:1;min-height:0;margin:0 11px 13px;padding:26px 18px 34px;overflow-x:hidden;overflow-y:auto;border:3px solid #804322;border-radius:32px 32px 22px 22px;background:#fcf1d3;color:#4f240f;box-shadow:inset 0 0 0 2px #e8c98b,0 4px 10px #0a1e5080}
#map-stamp-demo.msd-child-view.msd-prize-view .msd-content{border:1px solid #c6a77b;border-radius:16px;box-shadow:none}
.msd-content.msd-prize-scroll-shell{display:flex;flex-direction:column;overflow:hidden}
#map-stamp-demo.msd-child-view.msd-prize-view .msd-content.msd-prize-scroll-shell{padding-bottom:14px}
.msd-prize-scroll-shell .msd-prize-preview-title{flex:none;margin:0 0 10px}
.msd-prize-scroll{box-sizing:border-box;flex:1;min-height:0;padding-bottom:40px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.msd-child-view .msd-kicker{color:#935322}
.msd-child-view .msd-content h2,.msd-child-view .msd-content h3{color:#4c210d}
.msd-child-view .msd-lead{color:#654429}
.msd-child-view .msd-notice{border-color:#d4aa72;background:#fff8e6;color:#664320}
.msd-child-view .msd-primary{min-height:55px;border:2px solid #244c4a;border-radius:0;background:#9edbd2;color:#1b3436;font-size:16px;clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)}
.msd-child-view .msd-secondary{border:1.5px solid #99532b;background:#fff4d8;color:#4c220e}
.msd-child-view .msd-quiet{border:0;border-top:1px solid #b88b51;border-radius:0;background:transparent;color:#66391f;text-decoration:underline;text-underline-offset:3px}
.msd-child-view .msd-survey-form fieldset,.msd-child-view .msd-prize{border-color:#b88b51;background:#fff8e6}
.msd-child-view .msd-survey-form legend{color:#4c220e}
.msd-child-view .msd-achieved{background:#e0eee1;color:#255c46}
.msd-child-view .msd-result{background:#fff8e6;color:#67451f}
.msd-child-view .msd-lottery-stage{border:0;background:transparent}
.msd-child-view .msd-voucher-code{background:#fff8e6;color:#4c220e}
.msd-child-view .msd-content .msd-prize-list{margin:0 0 16px}
#map-stamp-demo.msd-prize-view .msd-prize-scroll .msd-prize-list{margin-bottom:0}
#map-stamp-demo.msd-prize-view .msd-prize-scroll>.msd-quiet{margin-top:0}
.msd-child-view .msd-content .msd-prize-list .msd-prize{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:11px;min-height:78px;margin:0;padding:8px 2px;border:0;border-bottom:1px solid #d9c8a6;border-radius:0;background:transparent;box-shadow:none}
.msd-child-view .msd-content .msd-prize-list .msd-prize:last-child{border-bottom:0}
.msd-child-view .msd-content .msd-prize-list .msd-prize:not(.msd-prize-photo){grid-template-columns:minmax(0,1fr)}
.msd-child-view .msd-prize-list .msd-prize img{box-sizing:border-box;width:58px;height:58px;object-fit:contain;border:1px solid #e4d5b7;border-radius:6px;background:#fffaf0}
.msd-child-view .msd-prize-list .msd-prize>div{display:grid;gap:3px;min-width:0}
.msd-child-view .msd-prize-list .msd-prize-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;min-width:0}
.msd-child-view .msd-prize-list .msd-prize-label{box-sizing:border-box;flex:0 1 auto;min-width:0;max-width:100%;padding:3px 7px;border-radius:3px;background:#6d381b;color:#fff;font-size:13px;line-height:1.35;font-weight:900;white-space:normal;overflow-wrap:anywhere}
.msd-child-view .msd-prize-list .msd-prize strong{color:#293c54;font-size:13px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.msd-child-view .msd-prize-list .msd-prize-count{box-sizing:border-box;flex:none;display:inline-block;min-height:22px;padding:4px 8px;border-radius:7px 7px 2px 7px;background:#e9d5b1;color:#643f25;font-size:11px;font-weight:900;line-height:14px;white-space:nowrap}
@media(max-width:420px){.msd-child-view .msd-header{padding:19px 10px 10px;gap:6px;min-height:80px}.msd-child-view .msd-back{width:100px;background-size:100px 36px;font-size:13px}.msd-child-view .msd-label{font-size:10px}.msd-child-view .msd-content{margin:0 8px 10px;padding:23px 15px 30px;border-radius:27px 27px 18px 18px}}

/* First-stamp recovery value remains text, not a new illustration. */
.msd-recovery-code{display:block;box-sizing:border-box;width:100%;margin:12px 0;padding:14px 10px;border:2px dashed #aa7b40;border-radius:10px;background:#fff8e6;color:#4c220e;text-align:center;font-size:19px;font-weight:900;line-height:1.55;letter-spacing:.06em;overflow-wrap:anywhere;user-select:all}
.msd-recovery-title{margin:19px 0 7px}.msd-recovery-foot{margin:12px 0 0;font-size:13px;line-height:1.55}
@media(max-width:350px){.msd-book .msd-book-main{white-space:normal}.msd-recovery-code{font-size:17px;letter-spacing:0}}

/* The result and claim screens retain the phone-sized reading column on desktop. */
#map-stamp-demo.msd-focused-view{background:#173794}
.msd-focused-view .msd-panel{box-sizing:border-box;width:min(100%,440px);max-width:440px;margin:0 auto}
.msd-draw-prize{margin:14px 0 8px!important;overflow-wrap:anywhere;font-size:21px!important;line-height:1.4}
.msd-result-status{position:relative;margin:16px 0 10px}
.msd-fine-print{margin:13px 0;color:#705a43;font-size:12px;line-height:1.65}
.msd-claim-qr{box-sizing:border-box;display:grid;place-items:center;width:min(196px,100%);margin:8px auto 18px;padding:8px;border:2px solid #b88b51;border-radius:12px;background:#fff;box-shadow:0 5px 15px #5f3d2920}
.msd-claim-qr canvas{display:block;width:100%;max-width:100%;height:auto}
.msd-voucher-details{box-sizing:border-box;width:100%;margin:12px 0 18px;border:1px solid #d3b387;border-radius:10px;background:#fff8e6}
.msd-voucher-details summary{display:flex;align-items:center;box-sizing:border-box;min-height:48px;padding:10px 13px;cursor:pointer;color:#5c391e;font-size:13px;font-weight:800;line-height:1.4}
.msd-voucher-details summary:focus-visible{outline:3px solid #0f8e84;outline-offset:2px}
.msd-voucher-details .msd-voucher-code{box-sizing:border-box;width:calc(100% - 20px);margin:0 10px 10px;font-size:14px;line-height:1.5}
.msd-celebration{position:fixed;z-index:9;top:22%;left:50%;box-sizing:border-box;display:grid;justify-items:center;gap:3px;width:min(250px,78vw);padding:14px 12px 16px;border:3px solid #ba8c57;border-radius:18px;background:#fff6d9;color:#6b2e1b;box-shadow:0 13px 30px #10235088;pointer-events:none;transform:translateX(-50%);animation:msd-celebration-enter 2.4s ease-out both}
.msd-trial-inline{box-sizing:border-box;margin:4px 2px 6px;padding:4px 6px;border:1px solid #a65d36;border-radius:6px;background:#fff4df;color:#743719;text-align:center;font-size:11px;font-weight:900;line-height:1.35}
.msd-celebration img{display:block;width:86px;height:86px;object-fit:contain;animation:msd-paw-pop .8s ease-out both}
.msd-celebration-draw img{width:102px;height:102px}
.msd-celebration strong{font-size:19px;line-height:1.3;font-weight:900}
.msd-celebration-star{position:absolute;color:#d4aa4e;font-size:22px;line-height:1;animation:msd-star-float 1.8s ease-out both}
.msd-star-1{left:19px;top:18px}.msd-star-2{right:17px;top:12px;animation-delay:.04s}.msd-star-3{right:31px;top:42px;animation-delay:.08s}
.msd-draw-reveal{animation:msd-result-rise 1.25s ease-out both}
.msd-result-star{position:absolute;right:10px;top:2px;color:#d4aa4e;font-size:18px;animation:msd-star-float .75s ease-out both}
@keyframes msd-paw-pop{0%{transform:scale(.85)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes msd-star-float{0%{opacity:0;transform:translateY(0)}25%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translateY(-10px)}}
@keyframes msd-result-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes msd-celebration-enter{0%{opacity:0;transform:translateX(-50%) scale(.72)}18%{opacity:1;transform:translateX(-50%) scale(1.08)}30%,78%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.msd-celebration,.msd-celebration img,.msd-celebration-star,.msd-draw-reveal,.msd-result-star{animation:none}}

/* Keep the lottery outcome paper as tall as its content, with a small closing margin. */
#map-stamp-demo.msd-focused-view:has(.msd-content > [data-action="book"]) .msd-content{flex:0 1 auto;padding-bottom:36px}
/* The manual claim code is a quiet fallback; the QR remains the primary action. */
.msd-focused-view .msd-voucher-details{margin:4px 0 12px;border:0;background:transparent}
.msd-focused-view .msd-voucher-details summary{display:block;min-height:44px;padding:10px 0;color:#6a4b2d;font-size:12px;text-align:center;text-decoration:underline;text-underline-offset:3px}
@media(max-width:350px){.msd-focused-view .msd-content{margin-left:14px;margin-right:14px}.msd-focused-view .msd-claim-qr{width:min(240px,100%)}}
/* Route focus announces the heading; visible controls keep their focus ring. */
#map-stamp-demo .msd-content #msd-title[tabindex="-1"]:focus{outline:none}

/* Adopted gold star lottery and result presentation, retaining production trial UI. */
#map-stamp-demo.msd-child-view:is(.msd-lottery-view,.msd-star-reveal-view,.msd-winning-result) .msd-content{border:1px solid #b58650;border-radius:20px;background:#fff8e4;box-shadow:none}
#map-stamp-demo.msd-lottery-view .msd-content{display:flex;flex-direction:column}
#map-stamp-demo.msd-star-reveal-view .msd-content{display:grid;place-items:center}
#map-stamp-demo.msd-lottery-view .msd-lottery-stage h2{margin:0;color:#4c210d;font-size:clamp(42px,12vw,50px);line-height:1.2;letter-spacing:.08em}
.msd-lottery-actions{flex:none;padding-bottom:8px}
.msd-lottery-actions .msd-primary{margin-top:0}
.msd-lottery-actions .msd-quiet{min-height:43px;margin-top:2px;font-size:12px}
/* Move the existing stampbook star artwork only after the API confirms a win. */
.msd-star-reveal-title{position:relative;z-index:1;margin:0!important;color:#4c210d;font-size:clamp(40px,11vw,48px)!important;text-align:center}
.msd-star-reveal-stage{position:relative;display:grid;place-items:center;width:min(100%,340px);height:400px;margin:0 auto;overflow:hidden}
.msd-star-reveal-stage img{position:absolute;top:24%;left:0;display:block;width:100%;height:auto;clip-path:inset(0 26% 12%);pointer-events:none}
.msd-star-reveal-light{opacity:0;filter:blur(1px) hue-rotate(-18deg) saturate(1.05) brightness(.95);animation:msd-star-light .8s ease-out both}
.msd-star-reveal-burst{opacity:0;filter:hue-rotate(-25deg) saturate(1.8) contrast(1.15) drop-shadow(0 1px 0 #80410f);animation:msd-star-burst 1.55s .45s ease-out both}
@keyframes msd-star-light{0%{opacity:0;transform:translateY(-50%) scale(.25)}45%{opacity:.85;transform:translateY(-50%) scale(.7)}100%{opacity:0;transform:translateY(-50%) scale(1)}}
@keyframes msd-star-burst{0%{opacity:0;transform:translateY(-50%) scale(.35)}30%{opacity:1;transform:translateY(-50%) scale(1.06)}72%{opacity:1;transform:translateY(-50%) scale(1)}100%{opacity:0;transform:translateY(-50%) scale(1.04)}}
#map-stamp-demo.msd-winning-result .msd-content #msd-title{color:#67300f;font-size:clamp(30px,9vw,36px);line-height:1.25;text-align:center;overflow-wrap:anywhere}
#map-stamp-demo.msd-winning-result .msd-result-status{margin:2px 0 8px;padding:3px 0;border:0;background:transparent;color:#765a36;font-size:12px}
.msd-win-hero{position:relative;width:min(100%,340px);margin:18px auto 14px;overflow:hidden;border:1px solid #d7bb84;border-radius:15px;background:#fffdf5;box-shadow:0 5px 15px #452a1920}
.msd-win-hero img{display:block;width:100%;height:clamp(190px,58vw,250px);object-fit:contain;object-position:center;background:#fffdf5}
.msd-win-hero-caption{position:absolute;left:0;right:0;bottom:0;max-height:48%;overflow-y:auto;padding:10px 12px;background:linear-gradient(90deg,#fff3d2,#ffe2a0 50%,#fff3d2);border-top:2px solid #c58d35;color:#593015;font-size:clamp(16px,4.8vw,20px);font-weight:900;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.msd-win-text-only{margin:18px 0!important;padding:25px 12px;border:1px solid #d7bb84;border-radius:15px;background:#fffdf5;text-align:center}
@media(max-width:350px){.msd-lottery-stage{min-height:250px;gap:38px}.msd-star-reveal-stage{height:320px}.msd-win-hero-caption{font-size:16px;padding:9px}}
@media(prefers-reduced-motion:reduce){.msd-star-reveal-light,.msd-star-reveal-burst{animation:none}.msd-star-reveal-light{opacity:0}.msd-star-reveal-burst{opacity:1;transform:translateY(-50%)}}

.msd-book-steps img.msd-book-step-star{object-fit:cover;object-position:center top;clip-path:inset(0 0 15%);filter:contrast(1.8) saturate(2.5)}

/* Adopted review: restore alignment and legible error/status copy. */
#msd-recovery-input{display:block;width:100%;box-sizing:border-box;min-height:48px;padding:11px 12px;margin:6px 0 14px;border:2px solid #668c8b;border-radius:8px;background:#fffdf7;color:#173c43;font:inherit}
.msd-camera-message,.msd-recovery-error{font-size:14px;line-height:1.7;color:#344a50}
.msd-question-status{display:inline-block;white-space:nowrap}
.msd-survey-form fieldset textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
.msd-date{display:inline-block;white-space:nowrap}

/* 2026-10-08 cumulative book. Reuses the existing paper, ribbon and cats. */
.msd-book-hero{height:188px;min-height:188px}
.msd-book .msd-book-cats{position:absolute;top:104px;bottom:auto;left:50%;width:100px;max-height:70px;transform:translateX(-50%)}
.msd-book-period{top:84px!important}
.msd-cumulative-count{margin:0 0 10px;color:#4e220e;text-align:center;font-size:20px;font-weight:900}
.msd-ticket-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
.msd-ticket:nth-child(9){grid-column:2}
.msd-ticket:nth-child(10){grid-column:3}
.msd-ticket{height:158px;min-height:158px!important;padding:6px 3px!important}
.msd-ticket .msd-ticket-number{margin:0 0 3px!important;padding:0 0 4px!important;font-size:14px!important}
.msd-ticket-mark{width:55px;height:66px}
.msd-ticket.is-filled .msd-ticket-mark{width:35px;height:38px;margin:0 auto 2px}
.msd-ticket-name{font-size:11px!important;line-height:1.22;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:3!important;max-height:41px!important;overflow:hidden!important}
.msd-ticket-date{font-size:9px;white-space:normal;line-height:1.1;margin-top:auto}
.msd-ticket-date-label{display:none!important}
.msd-ticket-date-value{display:block}
.msd-ticket-empty{font-size:12px;margin:5px 0}
.msd-book .msd-book-main{padding:6px 12px;font-size:16px}
.msd-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0 10px}
.msd-milestone{min-width:0;border-top:1px solid #b48c53;padding:8px 0}
.msd-milestone h3{margin:0 0 6px;text-align:center;font-size:15px}
.msd-milestone .msd-secondary{box-sizing:border-box;margin:0;width:100%;min-height:52px;padding:7px 5px;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.msd-book-paper{padding-bottom:108px;min-height:0}
.msd-book-links{height:auto;min-height:48px;grid-template-columns:1fr 1fr;margin-top:14px}
.msd-book-links button:last-child{grid-column:1 / -1;border-left:0!important;border-top:1px solid #a76b38!important}
.msd-book-art img.msd-book-art-bottom-left,.msd-book-art img.msd-book-art-bottom-right{display:block;top:auto;bottom:0;z-index:3}
.msd-book-art img.msd-book-art-bottom-left-marks,.msd-book-art img.msd-book-art-bottom-right-marks{display:none}
.msd-book-next{margin:0 0 14px}
.msd-book-next h3{margin:0 0 5px;text-align:center;font-size:17px;line-height:1.4}
.msd-book-next p{margin:0 0 8px;font-size:13px;line-height:1.55;text-align:center;color:#4e220e}
.msd-book .msd-book-next .msd-book-main{margin:0;width:100%;min-height:52px;height:auto;padding:11px 16px}
.msd-book .msd-book-scan{display:block;box-sizing:border-box;width:100%;min-height:44px;margin:8px 0 0;padding:9px 8px;border:1px solid #9a7144;border-radius:6px;background:#fff8e8;color:#4e220e;font-size:13px;font-weight:700;line-height:1.4}
.msd-book-next .msd-secondary{width:100%;margin:0 0 8px;font-size:14px}
.msd-postal-form{display:grid;gap:16px;margin:18px 0}
.msd-postal-form label{display:grid;gap:7px;color:#172e4b;font-weight:700;font-size:15px}
.msd-postal-form input,.msd-postal-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:10px;border:1px solid #9eb4c6;border-radius:5px;background:white;color:#172e4b;font:inherit}
.msd-postal-form textarea{min-height:92px;resize:vertical}
.msd-postal-form input:focus,.msd-postal-form textarea:focus{outline:3px solid #9acbd4;outline-offset:2px}
.msd-postal-form .msd-fine-print{margin:0}
@media(max-width:350px){.msd-book-hero{height:172px;min-height:172px}.msd-book .msd-book-cats{top:98px;width:90px}.msd-book-period{top:79px!important}.msd-cumulative-count{font-size:18px}.msd-ticket-grid{gap:4px!important}.msd-ticket{height:159px;min-height:159px!important;padding:5px 2px!important}.msd-ticket-name{font-size:10px!important;max-height:38px!important}.msd-ticket .msd-ticket-number{font-size:13px!important}.msd-ticket-mark{width:44px;height:59px}.msd-ticket.is-filled .msd-ticket-mark{width:32px;height:35px}.msd-milestone h3{font-size:14px}.msd-milestone .msd-secondary{font-size:11px}.msd-book .msd-book-main{font-size:14px}}

/* Preserve supplied photos and names, with the photo as the main content. */
.msd-child-view .msd-content .msd-prize-list .msd-prize{grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 0;align-items:start}
.msd-child-view .msd-prize-list .msd-prize img{width:100%;height:190px;max-width:100%;object-fit:contain;border-radius:6px}
.msd-child-view .msd-prize-list .msd-prize>div{gap:8px}
.msd-child-view .msd-prize-list .msd-prize strong{font-size:17px;line-height:1.45}
.msd-child-view .msd-prize-list .msd-prize-label{font-size:15px}
.msd-child-view .msd-prize-list .msd-prize-count{font-size:12px}
.msd-book .msd-ticket{height:188px;min-height:188px!important}
.msd-book .msd-ticket-name{font-size:12px!important;line-height:1.25;-webkit-line-clamp:4!important;max-height:60px!important}
.msd-book .msd-ticket-map{font-size:10px!important;line-height:1.2;white-space:nowrap}
.msd-book .msd-ticket-date{font-size:10px;line-height:1.2;margin:auto 0 26px}
.msd-postal-form [data-action="postal-save"]{margin-bottom:18px}
.msd-postal-form .msd-required{display:inline-block;white-space:nowrap}
.msd-award-kicker{font-size:13px;letter-spacing:.02em}
.msd-win-hero[data-prize-id="poster_assortment"] img{object-fit:contain;object-position:50% 50%}
.msd-child-view .msd-prize-list .msd-prize[data-prize-id="poster_assortment"] img{object-fit:contain;object-position:50% 50%}
.msd-win-hero[data-prize-id="poster_assortment"] .msd-win-hero-caption{position:static;max-height:none}
@media(max-width:350px){.msd-book .msd-ticket{height:188px;min-height:188px!important}.msd-book .msd-ticket-name{font-size:11px!important;max-height:55px!important}.msd-book .msd-ticket-date{margin-bottom:27px}}
@media(max-width:350px){.msd-child-view .msd-prize-list .msd-prize img{height:170px}.msd-child-view .msd-prize-list .msd-prize strong{font-size:16px}}

/* Keep the pasta product name in readable groups at narrow widths. */
#map-stamp-demo .msd-content #msd-title .msd-title-part{display:inline-block}

/* 2026-10-10 compact book: existing cats/paws/star pixels, dynamic state retained. */
.msd-book-hero{height:154px!important;min-height:154px!important}
.msd-book .msd-book-cats{top:-38px!important;width:118px!important;max-height:84px!important;z-index:5}
.msd-book .msd-book-title{top:42px!important;height:76px}
.msd-book-period{top:119px!important}
.msd-cumulative-count{margin:0 0 4px;font-size:20px}
.msd-milestones{position:relative;gap:6px;margin:4px 0 8px}
.msd-milestones::before{content:'';position:absolute;left:16%;right:16%;top:43px;border-top:2px solid #b48c53}
.msd-milestone{position:relative;border:0;padding:0;text-align:center}
.msd-milestone h3{margin:0;font-size:14px}
.msd-progress-star{position:relative;display:block;width:30px;height:30px;object-fit:contain;margin:4px auto;background:#fcf1d3}
.msd-milestone .msd-secondary{min-height:32px;padding:4px 2px;font-size:11px;background:transparent;border:0;line-height:1.3}
.msd-book-next{margin:0 0 8px}
.msd-book-next h3{font-size:15px;margin:0 0 3px}
.msd-book-next p{font-size:12px;margin:0 0 5px}
.msd-book .msd-book-next .msd-book-main{min-height:42px;padding:7px 8px;font-size:14px}
.msd-book .msd-book-scan{min-height:36px;margin-top:5px;padding:6px;font-size:12px}
.msd-book .msd-ticket-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row;gap:5px!important;padding:0;margin:0;overflow:visible}
.msd-book .msd-ticket{display:grid;grid-template-columns:21px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:center;height:auto!important;min-height:52px!important;padding:5px 6px!important;border-radius:4px!important;box-shadow:none!important;overflow:visible!important;text-align:left}
.msd-ticket:nth-child(9),.msd-ticket:nth-child(10){grid-column:auto}
.msd-book .msd-ticket .msd-ticket-number{position:static;margin:0!important;padding:0!important;border:0;font-size:11px!important;grid-column:1;grid-row:2;text-align:center}
.msd-ticket-number::before,.msd-ticket-number::after,.msd-ticket::before,.msd-ticket::after,.msd-ticket-bottom{display:none!important}
.msd-book .msd-ticket .msd-ticket-mark{position:static;grid-column:1;grid-row:1;width:21px;height:23px;margin:0;object-fit:contain}
.msd-book .msd-ticket-name{grid-column:2;grid-row:1;display:block!important;min-height:0;max-height:none!important;font-size:12px!important;line-height:1.3;-webkit-line-clamp:unset!important;overflow:visible!important;padding-left:4px}
.msd-book .msd-ticket-date{grid-column:2;grid-row:2;margin:2px 0 0!important;padding-left:4px;font-size:10px;line-height:1.2}
.msd-book .msd-ticket-empty{grid-column:2;grid-row:1 / 3;margin:0;padding-left:4px;font-size:12px}
.msd-book-rule{font-size:11px;line-height:1.45;margin:8px 0 4px}
.msd-book .msd-book-prizes{height:auto;min-height:38px;margin:4px 0;font-size:18px}
.msd-book-links{margin-top:6px}
.msd-book-paper{padding-bottom:80px}
.msd-book .msd-ticket.is-filled,.msd-book .msd-ticket.is-empty{background:#fff4d8!important;border:1px solid #c49559!important}.msd-progress-star{background:transparent}
.msd-book-hero{height:124px!important;min-height:124px!important}.msd-book .msd-book-title{top:16px!important;height:84px}.msd-book-period{top:98px!important}.msd-book-art img.msd-book-art-title-edge{display:none!important}.msd-book-quick{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0 8px}.msd-book .msd-book-quick button{height:auto;min-height:38px;border:1px solid #a76b38!important;background:#fff8e8;font-size:14px}.msd-book .msd-book-prizes{display:none}
.msd-book .msd-book-cats{top:-64px!important;width:104px!important;max-height:74px!important}.msd-book .msd-ticket .msd-ticket-number{border-bottom:0!important}.msd-ticket-grid .msd-ticket .msd-ticket-date-value{display:block}
.msd-progress-star{width:40px;height:40px;padding:7px;box-sizing:border-box;border:1px solid #b48c53;border-radius:50%;background:#fcf1d3}.msd-milestones::before{top:43px}.msd-book-links button:last-child{grid-column:auto;border-top:0!important}.msd-book-links{grid-template-columns:1fr 1fr}
.msd-milestone[data-status="drawn"] .msd-progress-star{background:#a77b37;border-color:#795021}.msd-milestone[data-status="drawn"] .msd-secondary{color:#593b1a;font-weight:900}.msd-milestone[data-status="unknown"] .msd-progress-star{opacity:.45}
.msd-milestone .msd-secondary{background:#ead9b7!important;border-radius:4px;min-height:34px;font-size:12px;color:#593b1a;opacity:1}.msd-milestone[data-next="true"] .msd-secondary{background:#b4dfd7!important;color:#143e43}.msd-milestone[data-status="unknown"] .msd-secondary{background:#eee4cf!important;color:#6e6558}.msd-milestone .msd-secondary:disabled{cursor:default}
@media(max-width:350px){.msd-book .msd-book-cats{left:calc(50% + 30px)!important}}

/* Requested operation-group colors; final ink layout follows browser design. */
.msd-book .msd-book-quick button{background:#fff8e8!important;color:#66391f!important;border:1px solid #a76b38!important;border-radius:6px;font-weight:800;text-decoration:none!important;min-height:42px;font-size:14px;cursor:pointer}
.msd-book .msd-book-quick button:hover{background:#f4e6ca!important}
.msd-book .msd-book-quick button:focus-visible{outline:3px solid #168b73;outline-offset:2px}

/* Adopted browser ChatGPT paper edge and ink assets; records have no actions. */
.msd-book .msd-book-quick button:last-child{background:#fff8e8!important;border-color:#a76b38!important}
.msd-book .msd-book-quick button:last-child:hover{background:#f4e6ca!important}
.msd-book .msd-ticket-grid .msd-ticket.is-filled,.msd-book .msd-ticket-grid .msd-ticket.is-empty{background:transparent!important;border:3px solid transparent!important;border-image:url('assets/stampbook-record-paper.png') 10 / 3px stretch!important;border-radius:0!important;box-shadow:none!important;cursor:default}
.msd-book .msd-ticket-grid .msd-ticket{grid-template-columns:32px 14px minmax(0,1fr);gap:0 4px;padding:4px!important;min-height:52px!important}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-mark{grid-column:1;grid-row:1 / 3;width:32px;height:34px;object-fit:contain}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-number{grid-column:2;grid-row:1 / 3;font-size:12px!important;text-decoration:none}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-name{grid-column:3;grid-row:1;padding-left:0;font-size:12px!important}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-date{grid-column:3;grid-row:2;padding-left:0;font-size:10px}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-empty{grid-column:3;grid-row:1 / 3;padding-left:0;font-size:12px}

/* Exact supplied count/progress reference: source image artwork + dynamic text. */
.msd-cumulative-count{margin:0 0 4px;color:#74290f;text-align:center}
.msd-count-label{margin:0!important;font-size:17px!important;font-weight:900;color:#4e220e;line-height:1.4}
.msd-count-amount{display:flex;align-items:center;justify-content:center;gap:7px;min-height:72px}
.msd-count-value{font-size:64px;line-height:1;font-weight:900;color:#80270e}
.msd-count-unit{font-size:29px;font-weight:900;line-height:1}
.msd-count-small-star{width:20px;height:24px;object-fit:contain;margin:0 14px}
.msd-count-unknown{margin:0;font-size:12px;line-height:1.3}
.msd-milestones{gap:8px;margin:0 0 12px}
.msd-milestone h3{font-size:17px;line-height:23px;margin:0 0 4px}
.msd-milestones::before{top:53px;left:5px;right:5px;border-color:#795328;border-width:2px}
.msd-progress-diamond{position:absolute;top:48px;width:10px;height:10px;object-fit:contain;z-index:1}
.msd-progress-diamond-left{left:0}.msd-progress-diamond-right{right:0}
.msd-book .msd-progress-star{box-sizing:content-box;width:52px;height:52px;object-fit:contain;margin:0 auto;padding:0;border:0!important;border-radius:0;background:transparent!important;position:relative;z-index:2}
.msd-progress-tail{display:block;width:18px;height:13px;margin:0 auto -1px;object-fit:fill}
.msd-milestone .msd-secondary{margin:0!important;min-height:44px;padding:6px 4px;font-size:13px;line-height:1.35;white-space:pre-line;border-radius:5px;background:#d9c9a5!important;color:#342111;font-weight:900}
.msd-milestone[data-next="true"] .msd-secondary{background:#9ed7d5!important;color:#103437}
.msd-milestone[data-status="unknown"] .msd-secondary{background:#eee4cf!important;color:#6e6558}
.msd-milestone[data-status="unknown"] .msd-progress-star{opacity:.45}
/* Reference proportions follow the available paper width. */
.msd-book-paper{container-type:inline-size}
.msd-count-label{font-size:4.6cqw!important;line-height:1.3}
.msd-count-amount{min-height:18cqw;gap:1.2cqw}
.msd-count-value{font-size:16cqw}
.msd-count-unit{font-size:8cqw}
.msd-count-small-star{width:4.3cqw;height:5.6cqw;margin:0 5cqw}
.msd-milestones{box-sizing:border-box;grid-template-columns:repeat(3,25.5cqw);column-gap:6.4cqw;padding-left:3.4cqw;padding-right:0;margin-top:1cqw;margin-bottom:3cqw;align-items:start}
.msd-milestone h3{font-size:5.2cqw;font-weight:900;line-height:6cqw;margin-bottom:2.3cqw}
.msd-book .msd-progress-star{width:11.6cqw;height:11.6cqw}
.msd-milestones::before{top:14cqw;left:4.4%;right:8.3%;border-color:#4b1d11;border-width:1px}
.msd-progress-diamond{top:12.8cqw;width:2.4cqw;height:2.4cqw}
.msd-progress-diamond-left{left:3.2%}.msd-progress-diamond-right{right:7.1%}
.msd-progress-tail{width:4.6cqw;height:3cqw;margin:0 auto -1px}
.msd-milestone .msd-secondary{min-height:9cqw;padding:2cqw 1cqw;font-size:3.8cqw;line-height:1.3;background:#dacaa8!important}
.msd-milestone[data-next="true"] .msd-secondary{background:#9cd9d5!important;min-height:13.5cqw}
/* Shared paper book: actual generated circular stamp positions, DOM records. */
.msd-book .msd-ticket-grid{gap:0!important;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px}
.msd-book .msd-ticket-grid .msd-ticket{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;height:auto!important;min-height:110px!important;margin:0;padding:5px 4px!important;border:0!important;border-image:none!important;border-bottom:1px dashed #d5b77b!important;border-radius:0!important;background:transparent!important;box-shadow:none;cursor:default}
.msd-book .msd-ticket-grid .msd-ticket:is(.is-filled,.is-empty){border-image:none!important;border:0!important;border-bottom:1px dashed #d5b77b!important;background:transparent!important}
.msd-book .msd-ticket-grid .msd-ticket:nth-child(odd){border-right:1px dashed #d5b77b!important}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-number{position:absolute;top:7px;left:8px;right:auto;width:auto;min-width:0;z-index:4;margin:0;font-size:14px!important;color:#795328;line-height:18px}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-mark{width:56px!important;height:56px!important;margin:0 0 3px!important;object-fit:contain;transform:none;flex-shrink:0}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-name{display:block;width:100%;max-height:none!important;overflow:visible!important;font-size:12px!important;line-height:1.3!important;text-align:center;overflow-wrap:anywhere}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-date{display:block!important;width:100%;margin:1px 0 0!important;padding:0!important;font-size:11px!important;line-height:1.2;text-align:center;overflow-wrap:anywhere}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-date-label,.msd-book .msd-ticket-grid .msd-ticket-bottom{display:none!important}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-empty{display:block!important;padding:0!important;font-size:11px;color:#8b7650;line-height:1.3;text-align:center;margin-top:3px}
.msd-book[data-columns="3"] .msd-ticket-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.msd-book[data-columns="5"] .msd-ticket-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.msd-book[data-columns] .msd-ticket-grid .msd-ticket{border-right:1px dashed #d5b77b!important}
.msd-book[data-columns="2"] .msd-ticket:nth-child(2n),.msd-book[data-columns="3"] .msd-ticket:nth-child(3n),.msd-book[data-columns="5"] .msd-ticket:nth-child(5n){border-right:0!important}
.msd-book[data-columns="3"] .msd-ticket:last-child{grid-column:2;border-bottom:0!important}
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket .msd-ticket-mark{width:43px!important;height:43px!important;margin-top:18px!important}
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket .msd-ticket-number{left:50%;transform:translateX(-50%);top:2px;font-size:12px!important}
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket .msd-ticket-name{font-size:11px!important}
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket .msd-ticket-date{font-size:10px!important;overflow-wrap:anywhere}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-date-value{white-space:nowrap}
@media(max-width:350px){.msd-book[data-columns="3"] .msd-ticket-grid .msd-ticket .msd-ticket-number{left:3px;font-size:12px!important}.msd-book[data-columns="3"] .msd-ticket-grid .msd-ticket .msd-ticket-mark{width:50px!important;height:50px!important}.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket{padding-left:2px!important;padding-right:2px!important}}
/* Latest approved comparison: empty-circle number; one-line name and short year. */
.msd-book .msd-ticket-grid .msd-ticket{min-height:95px!important}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-number{left:50%!important;top:24px;transform:translateX(-50%);font-size:14px!important}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-name{white-space:nowrap;overflow:hidden!important;text-overflow:ellipsis;line-height:1.4!important}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-date{white-space:nowrap}
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket .msd-ticket-mark{margin-top:0!important}
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket .msd-ticket-number{top:17px}
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket .msd-ticket-date{font-size:clamp(8.5px,2.6vw,10px)!important}
@media(max-width:350px){.msd-book[data-columns="3"] .msd-ticket-grid .msd-ticket .msd-ticket-number{top:21px}}
/* Stamp emphasis: enlarge the actual artwork; keep record text size. */
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-mark{width:67px!important;height:67px!important;max-width:100%;object-fit:contain}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-name,.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-date{color:#806b50!important}
.msd-book .msd-ticket-grid .msd-ticket .msd-ticket-number{top:30px}
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket .msd-ticket-mark{width:52px!important;height:auto!important;aspect-ratio:1}
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket .msd-ticket-number{top:22px}
@media(max-width:350px){.msd-book[data-columns="3"] .msd-ticket-grid .msd-ticket .msd-ticket-mark{width:60px!important;height:60px!important}.msd-book[data-columns="3"] .msd-ticket-grid .msd-ticket .msd-ticket-number{top:26px}}
.msd-slot-milestone{margin-top:auto;padding-top:5px;text-align:center;width:100%;color:#795328;font-size:10px;line-height:1.35}
.msd-slot-lottery-mark{display:block;font-weight:900;color:#795328;letter-spacing:0;white-space:nowrap}
.msd-slot-lottery-status{display:block;white-space:pre-line;overflow-wrap:anywhere}
.msd-slot-milestone[data-status="drawn"] .msd-slot-lottery-status{color:#806b50}
.msd-slot-milestone[data-status="locked"] .msd-slot-lottery-status{color:#143e43}
.msd-book .msd-ticket-grid .msd-ticket{min-height:125px!important}
/* Latest: short callouts outside the two compact stamp rows. */
.msd-book .msd-ticket-grid{padding:26px 0!important}
.msd-book .msd-ticket-grid .msd-ticket{min-height:95px!important}
.msd-slot-milestone{position:absolute;left:50%;transform:translateX(-50%);width:44px;padding:0;margin:0;color:#795328;font-size:11px;line-height:16px;z-index:4;pointer-events:none}
.msd-slot-milestone.is-above{top:-23px}
.msd-slot-milestone.is-below{bottom:-25px}
.msd-slot-lottery-mark{padding:2px 4px;background:#dacaa8;border-radius:3px;box-shadow:none;white-space:nowrap}
.msd-slot-callout-tail{display:block;width:12px;height:8px;margin:0 auto;object-fit:fill}
.msd-slot-milestone.is-above .msd-slot-callout-tail{transform:rotate(180deg);margin-top:-1px}
.msd-slot-milestone.is-below .msd-slot-callout-tail{margin-bottom:-1px}
.msd-book[data-columns="5"] .msd-ticket:nth-child(6){grid-column:1;grid-row:2}
.msd-book[data-columns="5"] .msd-ticket:nth-child(7){grid-column:2;grid-row:2}
.msd-book[data-columns="5"] .msd-ticket:nth-child(8){grid-column:3;grid-row:2}
.msd-book[data-columns="5"] .msd-ticket:nth-child(9){grid-column:4;grid-row:2}
.msd-book[data-columns="5"] .msd-ticket:nth-child(10){grid-column:5;grid-row:2}
.msd-book[data-columns="5"] .msd-ticket:nth-child(6){border-right:0!important}
.msd-book[data-columns="5"] .msd-ticket:nth-child(10){border-right:1px dashed #d5b77b!important}
.msd-collect-arrow{position:absolute;top:1px;width:10px;height:14px;line-height:14px;font-size:14px;font-weight:400;color:#b49c76;pointer-events:none;z-index:3}
.msd-collect-arrow.is-right{right:-5px}.msd-collect-arrow.is-left{left:-5px}
.msd-collect-arrow.is-turn{right:-6px;top:calc(100% - 7px)}
@media(max-width:350px){.msd-collect-arrow.is-turn{right:-1px}}
/* The new generated paper band supplies the path; cell divider lines are removed. */
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket:is(.is-filled,.is-empty){border:0!important}
.msd-book[data-columns="5"] .msd-ticket-grid{position:relative;background-image:none;row-gap:22px!important}
.msd-milestone-circle{display:block;position:relative;width:52px;max-width:100%;aspect-ratio:1;flex-shrink:0;margin-bottom:3px}
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket .msd-milestone-circle .msd-ticket-mark{display:block;width:100%!important;margin:0!important;clip-path:circle(39% at 50% 50%)}
.msd-milestone-circle::after{content:"";position:absolute;inset:7%;border:2px solid #b17a26;border-radius:50%;pointer-events:none}
.msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket{z-index:1}
.msd-book-art-side-left,.msd-book-art-side-right{display:none!important}

.msd-book .msd-book-title{z-index:10}
.msd-book .msd-book-cats{z-index:11}

.msd-book .msd-book-title{left:-26px;width:calc(100% + 52px);top:-20px!important;height:140px;background:none;clip-path:polygon(0 0,100% 0,100% 100%,82% 100%,82% 84%,65% 76%,50% 73%,35% 76%,18% 84%,18% 100%,0 100%)}
.msd-book-art-left,.msd-book-art-right{display:none!important}
@media(max-width:350px){.msd-book .msd-book-title{left:-20px;width:calc(100% + 40px);height:114px;top:-6px!important}}

/* Compact prize cards: supplied photos stay uncropped, existing badges overlay them. */
.msd-child-view .msd-content .msd-prize-list .msd-prize{min-height:0;gap:7px;padding:12px 0;align-items:start}
.msd-child-view .msd-content .msd-prize-list .msd-prize>.msd-prize-media{position:relative;display:block;min-width:0}
.msd-child-view .msd-prize-list .msd-prize-media img{display:block;width:100%;height:160px;max-width:100%;object-fit:contain;border:0;border-radius:4px;background:transparent}
.msd-child-view .msd-prize-list .msd-prize-media .msd-prize-heading{position:absolute;top:6px;left:4px;right:4px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:0}
.msd-child-view .msd-prize-list .msd-prize-media .msd-prize-label{max-width:calc(100% - 74px);font-size:13px;padding:3px 6px;line-height:1.3}
.msd-child-view .msd-prize-list .msd-prize-media .msd-prize-count{font-size:11px;min-height:0;padding:3px 7px;line-height:17px}
.msd-child-view .msd-content .msd-prize-list .msd-prize>.msd-prize-details{display:grid;gap:5px;min-height:0}
.msd-child-view .msd-prize-list .msd-prize-details strong{font-size:16px;line-height:1.4;margin:0}
.msd-child-view .msd-prize-list .msd-prize-details .msd-fine-print{margin:0;line-height:1.4}
@media(max-width:350px){.msd-child-view .msd-prize-list .msd-prize-media img{height:145px}.msd-child-view .msd-prize-list .msd-prize-details strong{font-size:15px}}
.msd-child-view .msd-prize-list .msd-prize[data-prize-id] .msd-prize-media img{object-fit:contain;object-position:50% 50%}
.msd-child-view .msd-content .msd-prize-list .msd-prize>.msd-prize-media{width:fit-content;max-width:100%;margin:0 auto}.msd-child-view .msd-prize-list .msd-prize-media img{width:auto}
.msd-child-view .msd-content .msd-prize-list .msd-prize>.msd-prize-media{min-width:min(220px,100%)}.msd-child-view .msd-prize-list .msd-prize-media img{margin:0 auto}

.msd-child-view .msd-prize-list .msd-prize-media .msd-prize-label{white-space:nowrap;flex:none;max-width:none;overflow-wrap:normal}

/* Award title outside the supplied photo, shown once. */
.msd-child-view .msd-content .msd-prize-list .msd-prize>.msd-prize-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;min-width:0}
.msd-child-view .msd-prize-list .msd-prize>.msd-prize-heading .msd-prize-label{padding:0;background:transparent;color:#6d381b;font-size:19px;font-weight:900;line-height:1.25;white-space:nowrap;max-width:none;flex:none}
.msd-child-view .msd-prize-list .msd-prize>.msd-prize-heading .msd-prize-count{font-size:12px;min-height:0;padding:3px 7px;line-height:17px;flex:none}
.msd-child-view .msd-content .msd-prize-list .msd-prize{gap:6px}

/* 2026-10-17: help belongs outside the normal stamping flow. */
#map-stamp-demo [hidden] { display: none !important; }
#map-stamp-demo .msd-kicker:empty, #map-stamp-demo .msd-lead:empty { display:none; }
#map-stamp-demo .msd-book-notice { margin:8px 0; padding:10px 14px; border-radius:12px; background:#eaf4ed; color:#214a34; font-size:16px; font-weight:700; text-align:center; }
#map-stamp-demo .msd-help-item { border:1px solid #d8d1c4; border-radius:12px; background:#fffdf8; margin:12px 0; overflow:hidden; }
#map-stamp-demo .msd-help-item summary { padding:16px; font-size:17px; line-height:1.6; font-weight:700; cursor:pointer; }
#map-stamp-demo .msd-help-item summary:focus-visible { outline:3px solid #287f70; outline-offset:-3px; }
#map-stamp-demo .msd-help-body { padding:0 16px 16px; font-size:16px; line-height:1.8; }
#map-stamp-demo .msd-help-body h3 { font-size:17px; line-height:1.6; margin:20px 0 8px; }
#map-stamp-demo .msd-help-body p { margin:8px 0 12px; }
#map-stamp-demo .msd-help-body button { width:100%; min-height:48px; }
#map-stamp-demo .msd-content > output.msd-notice { display:block; margin-bottom:16px; font-size:16px; }
#map-stamp-demo .msd-book-next-remaining { margin:0 0 8px; font-size:16px; font-weight:700; text-align:center; color:#5b321c; }
#map-stamp-demo .msd-book-reward { margin:0 0 12px; }
#map-stamp-demo .msd-book-reward p { margin:0 0 7px; font-size:15px; font-weight:700; }
#map-stamp-demo .msd-book-next .msd-next-stages { margin:6px 0 12px; font-size:14px; line-height:1.5; }
#map-stamp-demo .msd-slot-milestone { width:max-content; max-width:80px; }
#map-stamp-demo .msd-slot-lottery-mark { white-space:nowrap; max-width:none; overflow-wrap:normal; text-align:center; }
#map-stamp-demo .msd-slot-milestone.is-drawn .msd-slot-lottery-mark { color:#666; background:#e9e5da; }
#map-stamp-demo .msd-slot-milestone.is-drawn .msd-slot-callout-tail { opacity:.4; }
/* Same stampbook underneath short QR / lottery / result operations. */
#map-stamp-demo .msd-book-backdrop { display:none; }
#map-stamp-demo.msd-floating-view { align-items:center; background:#173781; isolation:isolate; }
#map-stamp-demo.msd-floating-view .msd-book-backdrop { display:block; position:absolute; inset:0; width:min(100%,440px); margin:auto; padding-top:100px; overflow:hidden; pointer-events:none; filter:blur(4px); opacity:.82; background:#173781; z-index:-2; }
#map-stamp-demo.msd-floating-view::before { content:''; position:absolute; inset:0; background:rgba(238,244,246,.38); z-index:-1; }
#map-stamp-demo.msd-floating-view .msd-panel { width:min(calc(100% - 32px),400px); height:auto; max-height:calc(100dvh - 32px); margin:auto; background:transparent; overflow:visible; border:0; border-radius:0; box-shadow:none; }
#map-stamp-demo.msd-floating-view .msd-header { height:auto; min-height:48px; padding:0 0 10px; background:transparent; background-image:none; flex:none; align-items:center; }
#map-stamp-demo.msd-floating-view .msd-header .msd-label { display:none; }
#map-stamp-demo.msd-floating-view .msd-header .msd-back { width:150px; min-height:44px; font-size:14px; }
#map-stamp-demo.msd-floating-view .msd-content { flex:0 1 auto; width:100%; min-height:0; max-height:calc(100dvh - 104px); margin:0; padding:22px 18px; border:1px solid #b58e58; border-radius:20px; background:#fff8e6; box-shadow:0 10px 36px #192c4940; overflow:auto; overscroll-behavior:contain; }
#map-stamp-demo.msd-floating-view .msd-content > [data-action=book] { display:none; }
#map-stamp-demo.msd-floating-view .msd-content h2 { font-size:24px; }
#map-stamp-demo.msd-lottery-view #msd-title .msd-title-part { white-space:nowrap; }
#map-stamp-demo.msd-floating-view .msd-lottery-stage { flex:none; min-height:0; height:155px; }
#map-stamp-demo.msd-floating-view .msd-star-reveal-stage { min-height:230px; height:260px; }
#map-stamp-demo.msd-floating-view .msd-win-hero img { max-height:190px; }
#map-stamp-demo.msd-floating-view #msd-camera-video { width:100%; height:auto; max-height:260px; aspect-ratio:4/3; object-fit:cover; margin-top:14px; }
#map-stamp-demo.msd-floating-view .msd-camera-message { font-size:15px; line-height:1.65; margin:14px 0 0; }
#map-stamp-demo.msd-floating-view .msd-lottery-actions > [data-action=book] { display:none; }
#map-stamp-demo.msd-floating-view .msd-lottery-art { max-height:155px; }
/* Reading-position guide; decorative art is supplied separately by the design owner. */
#map-stamp-demo .msd-camera-frame { position:relative; width:100%; aspect-ratio:4/3; margin:14px 0 0; border-radius:12px; overflow:hidden; background:#172e4b; }
#map-stamp-demo .msd-camera-frame #msd-camera-video { display:block; width:100%; height:100%; max-height:none; aspect-ratio:auto; object-fit:cover; margin:0; border:0; border-radius:0; }
#map-stamp-demo .msd-camera-frame #msd-camera-video[hidden] { display:none; }
#map-stamp-demo .msd-camera-guide { position:absolute; left:50%; top:50%; width:64%; aspect-ratio:1; transform:translate(-50%,-50%); pointer-events:none; }
#map-stamp-demo .msd-camera-guide span { position:absolute; width:25px; height:25px; border:0 solid #fff8e6; filter:drop-shadow(0 1px 2px #172e4b); }
#map-stamp-demo .msd-camera-guide span:nth-child(1) { top:0; left:0; border-top-width:4px; border-left-width:4px; }
#map-stamp-demo .msd-camera-guide span:nth-child(2) { top:0; right:0; border-top-width:4px; border-right-width:4px; }
#map-stamp-demo .msd-camera-guide span:nth-child(3) { bottom:0; left:0; border-bottom-width:4px; border-left-width:4px; }
#map-stamp-demo .msd-camera-guide span:nth-child(4) { bottom:0; right:0; border-bottom-width:4px; border-right-width:4px; }
#map-stamp-demo #msd-camera-video[hidden] + .msd-camera-guide { display:none; }
#map-stamp-demo .msd-lottery-art { clip-path:none; filter:none; width:min(100%,280px); }
#map-stamp-demo .msd-award-kicker { font-size:20px; font-weight:800; }
#map-stamp-demo .msd-book-main { white-space:normal; line-height:1.6; }
#map-stamp-demo .msd-survey-challenge { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; }
#map-stamp-demo .msd-survey-challenge .msd-action-phrase { display:block; white-space:nowrap; }
#map-stamp-demo .msd-receipt-action { margin:10px 0 16px; font-size:20px; line-height:1.6; font-weight:800; text-align:center; }
#map-stamp-demo .msd-receipt-location { margin:8px 0 14px; font-size:16px; line-height:1.7; color:#654429; }
#map-stamp-demo .msd-receipt-action .msd-action-phrase { display:block; white-space:nowrap; }
#map-stamp-demo .msd-receipt-status { margin:10px 0; font-size:14px; text-align:center; }
#map-stamp-demo .msd-kicker:empty { display:none; }
/* Collection circles and lottery labels are separate; achieved milestone numbers use existing UI shapes. */
#map-stamp-demo .msd-earned-milestone { display:block; position:relative; width:52px; max-width:100%; aspect-ratio:1; flex-shrink:0; margin-bottom:3px; }
#map-stamp-demo .msd-earned-milestone-number { position:absolute; inset:16%; display:grid; place-items:center; border-radius:50%; background:#e81010; color:#fff; font-size:20px; font-weight:800; line-height:1; }
#map-stamp-demo .msd-slot-lottery-mark { display:flex; flex-direction:column; align-items:center; gap:1px; }
#map-stamp-demo .msd-slot-ticket-art { display:block; width:40px; height:26px; object-fit:contain; }
#map-stamp-demo .msd-slot-milestone.is-locked .msd-slot-ticket-art, #map-stamp-demo .msd-slot-milestone[data-status="unknown"] .msd-slot-ticket-art { opacity:.3; }
#map-stamp-demo .msd-slot-milestone.is-above { top:-49px; }
#map-stamp-demo .msd-book .msd-ticket-grid { padding-top:52px!important; row-gap:50px!important; }
#map-stamp-demo .msd-survey-instructions, #map-stamp-demo .msd-receipt-deadline { font-size:15px; line-height:1.65; }
#map-stamp-demo .msd-survey-form .msd-question-status { font-size:14px; }
#map-stamp-demo .msd-voucher-details summary { min-height:44px; padding:12px 4px; font-size:15px; line-height:1.5; }
/* One confirmed new stamp, consumed once after the QR view closes. */
#map-stamp-demo .msd-ticket.msd-stamp-recorded { outline:3px solid #b44735; outline-offset:3px; border-radius:8px!important; }
#map-stamp-demo .msd-stamp-recorded > .msd-ticket-mark, #map-stamp-demo .msd-stamp-recorded > .msd-earned-milestone { animation:msd-record-stamp .58s ease-out 1; }
@keyframes msd-record-stamp { 0% { transform:translateY(-12px) scale(1.22) rotate(-7deg); opacity:.35; } 65% { transform:translateY(1px) scale(.96); opacity:1; } 100% { transform:none; opacity:1; } }
#map-stamp-demo .msd-stamp-announcement { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#map-stamp-demo .msd-duplicate-store { font-size:19px; line-height:1.5; font-weight:800; }
#map-stamp-demo .msd-duplicate-title { font-size:clamp(18px,5.5vw,23px); line-height:1.6; }
#map-stamp-demo .msd-duplicate-title .msd-action-phrase { display:block; white-space:nowrap; }
@media(prefers-reduced-motion:reduce) { #map-stamp-demo .msd-stamp-recorded > .msd-ticket-mark, #map-stamp-demo .msd-stamp-recorded > .msd-earned-milestone { animation:none; } }

/* The event notice stays visible without replacing the shared note editor. */
#map-stamp-demo .msd-phase-banner{position:relative;z-index:6;flex:none;margin:0;padding:9px max(14px,calc((100% - 720px)/2));background:#fff1cb;color:#443315;font-size:12px;font-weight:650;line-height:1.65;border-bottom:1px solid #d9c58e;overflow-wrap:anywhere}
#map-stamp-demo .msd-phase-banner[hidden],.msd-profile-phase[hidden]{display:none}
.msd-profile-phase{margin:12px 0;padding:10px 12px;background:#fff1cb;color:#443315;border-radius:8px;font-size:12px;line-height:1.7}
@media(max-width:380px){#map-stamp-demo .msd-phase-banner{font-size:11px;padding:7px 12px;line-height:1.6}}

/* Current-round context; adopted artwork and stamp-slot design are unchanged. */
.msd-round-label{margin:0 0 3px!important;font-size:14px!important;font-weight:800;line-height:1.4;color:#74290f}
.msd-round-transition{margin:8px 0;font-size:14px;line-height:1.6}
#map-stamp-demo .msd-prize>small{font-size:14px;line-height:1.5}

/* Compact the two stamp rows; only the tenth lottery label sits below its stamp. */
#map-stamp-demo .msd-book[data-columns="5"] .msd-ticket-grid { padding:52px 0 4px!important; row-gap:8px!important; }
#map-stamp-demo .msd-book[data-columns="5"] .msd-ticket-grid .msd-ticket { min-height:0!important; }
#map-stamp-demo .msd-book[data-columns="5"] .msd-slot-milestone[data-threshold="10"] { position:static; top:auto; bottom:auto; left:auto; transform:none; display:flex; flex-direction:column; align-items:center; align-self:center; order:1; width:max-content; max-width:80px; margin:4px 0 0; flex-shrink:0; }
#map-stamp-demo .msd-book[data-columns="5"] .msd-slot-milestone[data-threshold="10"] .msd-slot-callout-tail { order:-1; transform:none; margin:0 auto -1px; }
#map-stamp-demo .msd-book[data-columns="5"] .msd-slot-milestone[data-threshold="10"] .msd-slot-lottery-mark { width:100%; max-width:100%; box-sizing:border-box; padding-inline:3px; white-space:normal; overflow-wrap:anywhere; }
#map-stamp-demo .msd-book[data-columns="5"] .msd-slot-milestone[data-threshold="10"] .msd-slot-lottery-mark > span { width:100%; min-width:0; }
#map-stamp-demo .msd-book[data-columns="5"] .msd-slot-milestone[data-threshold="10"] .msd-slot-ticket-art { max-width:100%; }
#map-stamp-demo .msd-book[data-columns="5"] .msd-ticket[data-sequence="10"] > .msd-ticket-name { order:2; }
#map-stamp-demo .msd-book[data-columns="5"] .msd-ticket[data-sequence="10"] > .msd-ticket-date { order:3; }

/* Keep supplied ticket art and tails; omit only the visible preparing label. */
#map-stamp-demo .msd-slot-milestone[data-threshold] .msd-slot-lottery-mark { background:transparent; box-shadow:none; }
#map-stamp-demo .msd-ticket[aria-label$="：受付準備中"] .msd-slot-milestone[data-status="preparing"] .msd-slot-lottery-mark > span { display:none; }
#map-stamp-demo .msd-ticket[aria-label$="：受付準備中"] .msd-slot-milestone[data-status="preparing"] .msd-slot-lottery-mark { padding:0; gap:0; }
#map-stamp-demo .msd-book[data-columns="5"] .msd-ticket[aria-label$="：受付準備中"] .msd-slot-milestone[data-status="preparing"]:is([data-threshold="3"],[data-threshold="5"]) { top:5px; transform:translate(-50%,-100%); }
