/* A quiet collection of story pages, laid over the existing rooftop room. */
.shop-overlay{position:fixed;inset:0;z-index:30;overflow-y:auto;overscroll-behavior:contain;background:#070e20e8;backdrop-filter:blur(14px);padding:32px 24px;color:#f2e9e5;scrollbar-color:#7b7f99 #141d32}.shop-shell{max-width:1080px;min-height:min(720px,90dvh);margin:auto;border:1px solid #e2d5e336;border-radius:17px;overflow:hidden;background:linear-gradient(150deg,#283049,#18243b 70%);box-shadow:0 30px 130px #0008}.shop-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 32px 23px;border-bottom:1px solid #e5d5e31a}.shop-kicker{display:block;font:8px/1.8 'Segoe UI',sans-serif;letter-spacing:2.5px;color:#d4babb}.shop-header h2{font:400 28px/1.6 var(--serif);letter-spacing:2px;margin:8px 0 0}.shop-close{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;padding:0;border-radius:50%;font:25px/1 sans-serif;color:#bfc3d4;border-color:#c6c5dc33;background:#ffffff04}.shop-test-banner{display:flex;gap:13px;align-items:center;padding:14px 32px;background:#ceb79e0b;border-bottom:1px solid #e9c9af22}.shop-test-banner>span{font-size:23px;color:#e9c1a6}.shop-test-banner strong{display:block;font-size:11px;font-weight:500;letter-spacing:.5px;color:#e9cdb8}.shop-test-banner div>span{display:block;font-size:10px;color:#adaebf;line-height:1.8;margin-top:4px}.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 32px;border-bottom:1px solid #e5d5e31a;background:#111d301c}.shop-tabs{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none}.shop-tabs button{position:relative;border:0;border-radius:0;background:none;padding:14px 0;color:#969fb7;font-size:11px;letter-spacing:1px;white-space:nowrap}.shop-tabs button:hover:not(:disabled){background:none;transform:none;color:#e4c6bd}.shop-tabs button[aria-pressed=true]{color:#f2d0bd}.shop-tabs button[aria-pressed=true]:after{content:'';position:absolute;bottom:3px;left:0;right:0;height:1px;background:#e8bca9}.shop-market{display:flex;border:1px solid #b9bdd434;border-radius:20px;padding:3px;flex-shrink:0;gap:3px}.shop-market button{font-size:10px;border:0;padding:6px 12px;background:none;border-radius:20px;white-space:nowrap;color:#8f9bb5}.shop-market button[aria-pressed=true]{background:#d9b9b31c;color:#e4c7ba}.shop-market button:hover:not(:disabled){transform:none;background:#d9b9b319}.shop-body{padding:26px 32px 0}.shop-collection-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:23px}.shop-collection-intro h3{font:400 26px/1.7 var(--serif);letter-spacing:1px;margin:8px 0}.shop-collection-intro p{font-size:11px;margin:5px 0 0;line-height:1.9;color:#a9b2c5}.shop-shared-seal{font-size:9px;line-height:2;text-align:center;letter-spacing:1px;min-width:83px;height:83px;border:1px solid #e9c7b552;border-radius:50%;display:flex;justify-content:center;flex-direction:column;color:#c5a8a7;transform:rotate(-8deg);background:#ead0bc05}.shop-shared-seal strong{font:400 13px/1.8 var(--serif);color:#e8c7b5}.shop-active-pass{font-size:11px;color:#bbd9cd;border:1px solid #b1d8c633;background:#b1d8c609;border-radius:9px;padding:14px;white-space:nowrap}.shop-active-pass small{font-size:9px;display:block;margin:6px 0 0;color:#9fb9b2}.shop-payment-strip{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-block:1px solid #c7c5d91c;padding:14px 0;margin-bottom:23px}.shop-methods{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 20px}.shop-methods legend{font-size:9px;letter-spacing:1px;color:#b5b9ca;margin-bottom:10px;padding:0}.shop-methods label{display:flex;align-items:flex-start;gap:7px;cursor:pointer;font-size:10px;color:#e0d5d6;line-height:1.6}.shop-methods input{accent-color:#e8c0ac;margin:3px 0 0}.shop-methods small{display:block;font-size:8px;color:#8f9bb3;line-height:1.7;margin-top:3px}.shop-payment-strip>p{font-size:9px;line-height:1.9;color:#8795af;margin:2px 0 0;max-width:420px}.shop-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.shop-products-cosmetic{grid-template-columns:minmax(0,1fr);max-width:630px;margin:auto}.shop-product{position:relative;border-radius:12px;border:1px solid #e2cdd83b;overflow:hidden;min-width:0;background:linear-gradient(140deg,#8c718d18,#26324b66);box-shadow:0 8px 30px #09132925}.shop-pass-card:first-child{background:radial-gradient(ellipse at 95% 0,#dfb08e17,transparent 70%),linear-gradient(135deg,#31344b,#253048)}.shop-product-mark{position:absolute;top:28px;right:25px;font:48px/1 var(--serif);color:#ecc5b237;pointer-events:none}.shop-product-copy{padding:25px;position:relative}.shop-kind{font-size:9px;letter-spacing:1.4px;color:#d7b9b0}.shop-product h3{font:400 25px/1.7 var(--serif);letter-spacing:2px;margin:10px 0 9px}.shop-product-copy>p{font-size:11px;line-height:1.9;margin:9px 0 13px;color:#afb8cc;white-space:pre-line;overflow-wrap:anywhere}.shop-includes{margin:18px 0 23px;padding:0;list-style:none;color:#aeb6c9;font-size:10px;line-height:2.5}.shop-includes li:before{content:'✧';font-size:12px;margin-right:9px;color:#bca9b7}.shop-price{margin-top:21px;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px}.shop-price strong{font:400 27px/1.5 var(--serif);color:#edcdbb;letter-spacing:1px}.shop-price span{font-size:9px;color:#8694ad}.shop-product-copy .shop-renewal{font-size:9px;line-height:1.9;color:#94a0b8;min-height:35px;margin:9px 0 15px}.shop-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;align-items:center}.shop-buy{width:100%;border-color:#e4b9a55e;background:#e9bfae14;color:#e8c8b7;font-size:11px;letter-spacing:1px;padding:13px 14px;border-radius:8px}.shop-buy:disabled{opacity:1;background:#9aa4be05;border-color:#aab6cc24;color:#7f8da7}.shop-buy.shop-owned{color:#b3cdbf;border-color:#b6dac13f;background:#bdd8c00b}.shop-purchase-hint{font-size:9px!important;color:#8e9bb3!important;margin:10px 0 0!important}.shop-preview-button{font-size:11px;padding:10px 0;color:#e7c4b6;letter-spacing:.8px;border:0;background:none;border-radius:0}.shop-preview-button:hover:not(:disabled){transform:none;background:none;color:#ffe1cd}.shop-story-card .shop-product-copy{padding-top:19px}.shop-story-art{height:170px;background-image:linear-gradient(0deg,#2631499c,transparent 65%),url('/assets/story-fireworks-v1.webp'),url('/assets/anime-rooftop-v2.webp');background-position:center;background-size:cover;position:relative;border-bottom:1px solid #e6cbd522}.shop-story-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a12233b,transparent)}.shop-scene-snow .shop-story-art{background-image:linear-gradient(0deg,#2631499c,transparent 65%),url('/assets/story-snow-v1.webp'),url('/assets/anime-rooftop-v2.webp')}.shop-story-art>span{position:absolute;z-index:1;left:22px;top:20px;font:9px/1 sans-serif;letter-spacing:2.8px;color:#f8e6dd;text-shadow:0 1px 8px #17243d}.shop-story-card .shop-price{margin-top:13px}.shop-story-card h3{margin-top:8px}.shop-story-card .shop-card-note{font-size:9px;margin-top:8px;color:#8f9eb5}.shop-story-card .shop-card-actions{margin-top:8px}.shop-cosmetic-card{background:radial-gradient(ellipse at 75% 45%,#bfbbef12,transparent 60%),linear-gradient(140deg,#2e354c,#243047)}.shop-halo-preview{display:grid;place-items:center;position:absolute;right:50px;top:45px;width:120px;height:160px;border:1px solid #d3c7ea1c;border-radius:70% 70% 40% 40%;background:radial-gradient(ellipse,#d8cee012,transparent 68%);box-shadow:0 0 28px #bba9df0a,inset 0 0 22px #bba9df08;pointer-events:none}.shop-halo-preview>span{font:70px/1 var(--serif);color:#d7c9e0;filter:drop-shadow(0 0 16px #d4bdf7a6)}.shop-cosmetic-card .shop-product-copy>p{max-width:65%}.shop-free-promise{text-align:center;font-size:9px;line-height:1.9;margin:23px 0 18px;color:#929bb3;letter-spacing:.5px}.shop-notice{padding:0 32px;min-height:12px;font-size:11px;line-height:1.9;color:#ebc4b0;overflow-wrap:anywhere;white-space:pre-line}.shop-notice:not(:empty){padding-block:12px}.shop-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #d0c2d61a;padding:14px 32px 18px}.shop-footer>span{font-size:9px;letter-spacing:1px;color:#7585a2}.shop-footer .quiet{font-size:10px;color:#b6b6cb;white-space:nowrap}.shop-empty{text-align:center;max-width:650px;margin:40px auto;padding:28px 12px}.shop-empty>span{display:block;font:42px var(--serif);color:#c9b2c0;margin-bottom:15px}.shop-empty>p{font-size:12px;line-height:2;color:#9eaac1}.shop-empty .shop-preview-button{margin-top:9px}.shop-orders>p{font-size:10px}.shop-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.shop-section-heading h3{font:400 24px/1.7 var(--serif);margin:8px 0;letter-spacing:1px}.shop-section-heading .quiet{font-size:10px}.shop-orders ol{padding:0;list-style:none;margin:22px 0}.shop-orders li{display:flex;justify-content:space-between;align-items:center;gap:18px;border-block-start:1px solid #d7c9dc21;padding:18px 0}.shop-orders li>div{min-width:0}.shop-orders li>div:last-child{text-align:right;flex-shrink:0}.shop-orders li strong{font-size:12px;font-weight:400;color:#ded7df;overflow-wrap:anywhere}.shop-orders li small{display:block;font-size:9px;color:#8493ac;line-height:1.8;margin-top:6px}.shop-orders li span{font-size:10px;color:#c6c2d2}.shop-portal{font-size:11px;padding:12px 18px;color:#e1bfae;border-color:#e3bea83d;background:#edc3a808}.shop-orders .shop-card-note{font-size:9px;margin:13px 0 22px;color:#8796af}.shop-opening{display:grid;grid-template-columns:44% 1fr;min-height:470px;background:#17253d}.shop-opening-art{background:linear-gradient(90deg,transparent 60%,#17253d),url('/assets/story-fireworks-v1.webp') center/cover,url('/assets/anime-rooftop-v2.webp') center/cover}.shop-scene-snow .shop-opening-art{background:linear-gradient(90deg,transparent 60%,#17253d),url('/assets/story-snow-v1.webp') center/cover,url('/assets/anime-rooftop-v2.webp') center/cover}.shop-opening-copy{padding:25px 35px 35px 20px}.shop-opening-copy>.quiet{padding-left:0;font-size:10px;margin-bottom:26px;color:#9da9bd}.shop-opening-copy h3{font:400 32px/1.7 var(--serif);letter-spacing:3px;margin:10px 0 12px}.shop-intro-badge{font-size:9px;letter-spacing:1px;color:#c4c4d7;border:1px solid #c1c8e03b;border-radius:20px;padding:5px 10px}.shop-opening-copy .shop-story-opening{font:400 14px/2.25 var(--serif);white-space:pre-wrap;color:#ded5da;letter-spacing:.5px;margin:27px 0;overflow-wrap:anywhere}.shop-preview-disclaimer{font-size:9px;line-height:1.9;color:#8795ae;max-width:420px;border-top:1px solid #d5cad91c;padding-top:16px}.shop-opening-copy>.shop-preview-button{font-size:10px}
/* Story markup sits inside the room's game-area, beneath both travellers. */
.game-area:has(.premium-story){padding:0}.premium-story{text-align:center;min-width:0;overflow:hidden;background:#1c2b46}.premium-story-art{height:195px;position:relative;background-image:linear-gradient(0deg,#1c2b46,transparent 65%),url('/assets/story-fireworks-v1.webp'),url('/assets/anime-rooftop-v2.webp');background-position:center 48%;background-size:cover}.premium-story-snow .premium-story-art{background-image:linear-gradient(0deg,#1c2b46,transparent 65%),url('/assets/story-snow-v1.webp'),url('/assets/anime-rooftop-v2.webp')}.premium-story-art>span{position:absolute;top:23px;left:23px;right:23px;font:8px/1.7 sans-serif;color:#efe0db;letter-spacing:3px;text-align:left;text-shadow:0 1px 8px #13203c}.premium-story-content{padding:0 30px 26px;position:relative}.premium-story-content .eyebrow{font-size:9px;margin-top:-3px;line-height:1.9;letter-spacing:2px}.premium-story-content h2{margin:12px 0 9px;font:400 29px/1.6 var(--serif);letter-spacing:3px;color:#f4e3d9}.premium-story-chapter{font-size:10px;letter-spacing:1px;color:#c1bfd0}.premium-story-progress{display:flex;justify-content:center;align-items:center;gap:7px;margin:24px 0}.premium-story-progress i{height:3px;width:25px;background:#bec9de24;border-radius:4px}.premium-story-progress i.filled{background:#e7bca7;box-shadow:0 0 10px #edc1ac22}.premium-story-progress>span{font-size:8px;margin-left:5px;color:#929fb7}.premium-story-content .premium-story-text{font:400 14px/2.1 var(--serif);color:#dfd9e1;white-space:pre-line;margin:22px auto;max-width:480px;letter-spacing:.5px;overflow-wrap:anywhere}.premium-story-clue{margin:24px auto;padding:15px 18px;border:1px solid #d9c1d83b;border-radius:9px;background:#edc4ba08;text-align:left;max-width:440px}.premium-story-clue>small{font-size:9px;color:#dfbcb1;letter-spacing:1px}.premium-story-clue>p{font-size:12px;margin:8px 0 0;color:#c3c6d7;white-space:pre-line;overflow-wrap:anywhere}.premium-story-content .premium-story-instruction{font-size:11px;line-height:1.9;color:#acb9ce;white-space:pre-line;margin:19px auto;max-width:440px}.premium-story-choices{display:grid;gap:9px;max-width:410px;margin:22px auto}.premium-story-choices button{font-size:12px;color:#dbc9c8;border-color:#d6c3d53b;background:linear-gradient(100deg,#d4a9b00b,#a3b6d008);padding:14px 18px;line-height:1.7}.premium-story-choices button:hover:not(:disabled){background:#e4bdac16;border-color:#eac1ad77}.premium-story-choices button:disabled{opacity:.5}.premium-story-content .premium-story-status{font-size:10px;line-height:1.9;color:#8e9eb8;margin:23px auto 0;max-width:430px}.premium-story-result{margin:22px auto;max-width:450px;border-block:1px solid #e8bda22a;padding:20px 0}.premium-story-result>span{color:#e6c2b0;font-size:28px}.premium-story-result>p{font:400 14px/2.1 var(--serif);color:#dfced3;white-space:pre-line}.premium-story-complete .premium-story-art{height:230px}.premium-story-complete .premium-story-content h2{color:#efd3bc}
@media(max-width:760px){.shop-overlay{padding:12px 10px}.shop-shell{border-radius:12px;min-height:calc(100dvh - 24px)}.shop-header{padding:22px 20px 18px;gap:12px}.shop-kicker{font-size:7px;letter-spacing:1.7px}.shop-header h2{font-size:23px;letter-spacing:1px;margin-top:9px}.shop-close{width:33px;height:33px;font-size:23px}.shop-test-banner{padding:13px 20px;gap:10px}.shop-test-banner>span{font-size:20px}.shop-test-banner strong{font-size:10px;line-height:1.8}.shop-test-banner div>span{font-size:9px;line-height:1.8}.shop-toolbar{padding:10px 18px;align-items:flex-start;flex-direction:column;gap:9px}.shop-tabs{width:100%;gap:0;justify-content:space-between}.shop-tabs button{font-size:10px;letter-spacing:.3px;padding:12px 0}.shop-market{align-self:flex-end;padding:2px}.shop-market button{font-size:9px;padding:5px 12px}.shop-body{padding:22px 18px 0}.shop-collection-intro{gap:12px;margin-bottom:20px}.shop-collection-intro h3{font-size:22px;line-height:1.7;margin:7px 0}.shop-collection-intro p{font-size:10px;line-height:1.9}.shop-shared-seal{height:66px;min-width:66px;font-size:8px;line-height:1.8}.shop-shared-seal strong{font-size:11px}.shop-active-pass{font-size:9px;white-space:normal;line-height:1.7;padding:9px;max-width:100px;flex-shrink:0}.shop-active-pass small{font-size:8px;line-height:1.8;margin-top:4px}.shop-payment-strip{display:block;padding:13px 0;margin-bottom:20px}.shop-methods{gap:10px 18px}.shop-methods legend{font-size:9px}.shop-methods label{font-size:10px}.shop-methods small{font-size:8px}.shop-payment-strip>p{font-size:8px;line-height:1.9;margin-top:12px}.shop-products{gap:16px;grid-template-columns:1fr}.shop-product-copy{padding:22px}.shop-product h3{font-size:25px}.shop-kind{font-size:9px;letter-spacing:1px}.shop-product-copy>p{font-size:11px}.shop-includes{font-size:10px;line-height:2.5;margin:14px 0 19px}.shop-product-mark{font-size:45px;right:23px;top:29px}.shop-price{margin-top:17px}.shop-price strong{font-size:26px}.shop-price span{font-size:8px}.shop-product-copy .shop-renewal{font-size:9px;min-height:0;line-height:1.9}.shop-card-actions{margin-top:16px;gap:8px}.shop-buy{font-size:11px;padding:13px 12px}.shop-purchase-hint{font-size:9px!important}.shop-story-art{height:173px}.shop-story-art>span{font-size:8px;left:22px;top:19px}.shop-story-card .shop-product-copy{padding-top:18px}.shop-preview-button{font-size:10px;padding:10px 0}.shop-halo-preview{width:80px;height:130px;right:24px;top:45px}.shop-halo-preview>span{font-size:50px}.shop-cosmetic-card .shop-product-copy>p{max-width:65%}.shop-free-promise{font-size:8px;line-height:1.9;margin:20px 0 15px}.shop-notice{padding-inline:18px;font-size:10px}.shop-footer{gap:10px;padding:12px 18px 15px}.shop-footer>span{font-size:8px;letter-spacing:0;line-height:1.8;max-width:150px}.shop-footer .quiet{font-size:9px;padding-right:0}.shop-empty{margin:23px auto;padding:25px 5px}.shop-empty>p{font-size:11px;line-height:2}.shop-empty>span{font-size:35px}.shop-section-heading h3{font-size:21px}.shop-section-heading .quiet{font-size:9px;padding-right:0}.shop-orders>p{font-size:9px;line-height:1.9}.shop-orders li{gap:12px;padding:16px 0;align-items:flex-start}.shop-orders li strong{font-size:11px}.shop-orders li small{font-size:8px}.shop-orders li span{font-size:9px}.shop-orders .shop-card-note{font-size:8px}.shop-portal{font-size:10px;padding:11px 16px}.shop-opening{display:block;min-height:0}.shop-opening-art{height:200px;background:linear-gradient(0deg,#17253d,transparent 60%),url('/assets/story-fireworks-v1.webp') center/cover,url('/assets/anime-rooftop-v2.webp') center/cover}.shop-scene-snow .shop-opening-art{background:linear-gradient(0deg,#17253d,transparent 60%),url('/assets/story-snow-v1.webp') center/cover,url('/assets/anime-rooftop-v2.webp') center/cover}.shop-opening-copy{padding:0 25px 27px}.shop-opening-copy>.quiet{margin-bottom:20px;font-size:9px}.shop-opening-copy h3{font-size:28px;margin-top:9px}.shop-opening-copy .shop-story-opening{font-size:13px;line-height:2.15;margin-block:25px}.shop-intro-badge{font-size:8px;padding:4px 9px}.shop-preview-disclaimer{font-size:9px;line-height:1.9}.play-layout .game-area:has(.premium-story){padding:0}.premium-story-art{height:165px}.premium-story-art>span{font-size:7px;left:19px;right:19px;top:19px;letter-spacing:2px}.premium-story-content{padding:0 20px 22px}.premium-story-content .eyebrow{font-size:8px;letter-spacing:1px}.play-layout .premium-story-content h2{font-size:26px;line-height:1.7;margin:9px 0 8px;letter-spacing:2px}.premium-story-chapter{font-size:9px}.premium-story-progress{gap:6px;margin-block:20px}.premium-story-progress i{width:21px}.premium-story-content .premium-story-text{font-size:13px;line-height:2.1;margin-block:20px;letter-spacing:.3px}.premium-story-clue{margin-block:20px;padding:13px}.premium-story-clue>small{font-size:8px}.premium-story-clue>p{font-size:11px;line-height:1.9}.premium-story-content .premium-story-instruction{font-size:10px;line-height:1.9}.premium-story-choices{gap:9px;margin-block:20px}.premium-story-choices button{font-size:11px;padding:13px 15px}.premium-story-content .premium-story-status{font-size:9px;margin-top:20px}.premium-story-result{padding-block:17px}.premium-story-result>p{font-size:12px;line-height:2.1}.premium-story-complete .premium-story-art{height:190px}}
