/* Physical choices and recoverable opening sessions. */
.play-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:2px 0 18px}.play-journey span{font-size:10px;color:#c1b6aa;display:flex;align-items:center;gap:6px}.play-journey b{display:grid;place-items:center;width:19px;height:19px;border:1px solid #6d5b4c;border-radius:50%;font-size:9px;color:#ecb28a}.pending-play{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#372a20;border:1px solid #7e5438;border-radius:10px;padding:14px 18px;margin:20px 0}.pending-play b{font-size:13px;display:block;color:#f3dac5}.pending-play small{font-size:10px;color:#c7b6a5;display:block;margin-top:5px}.pending-play button{background:transparent;color:#ffb18b;border:0;font-size:12px;font-weight:700;white-space:nowrap}.flow-backdrop{background:#080a0ee8;padding:24px;backdrop-filter:blur(8px)}.flow-dialog{position:relative;width:min(850px,100%);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;padding:30px 34px 28px;background:#1d2025;border:1px solid #62594e;border-radius:20px;box-shadow:0 24px 100px #000b;text-align:center}.flow-dialog h2{font-size:28px;letter-spacing:-.04em;line-height:1.35;margin:26px 0 22px;outline:none}.flow-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-right:32px}.flow-dialog-top>span{font-size:12px;color:#e0b393;font-weight:700}.flow-dialog-top small{font-size:10px;color:#8e98a7}.flow-steps{display:flex;list-style:none;justify-content:space-between;padding:0;margin:25px 0 0;gap:10px}.flow-steps li{display:flex;align-items:center;gap:7px;flex:1;font-size:10px;color:#818b99;position:relative}.flow-steps li:not(:last-child):after{content:'';height:1px;flex:1;background:#40464f;margin-left:4px}.flow-steps li>b{font-size:10px;width:23px;height:23px;border-radius:50%;border:1px solid #525a68;display:grid;place-items:center;flex-shrink:0}.flow-steps li.current{color:#fff1e5}.flow-steps li.current>b{background:#ff7845;color:#25160f;border-color:#ff7845}.flow-steps li.done{color:#b4c6aa}.flow-steps li.done>b{border-color:#839678;color:#c8dfb8}.flow-help{font-size:12px;line-height:1.85;color:#aeb6c2;max-width:600px;margin:22px auto 18px}.flow-save-note{display:block;font-size:10px;color:#919aa7;margin-top:18px}.flow-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}.physical-selection{display:grid;gap:13px;max-width:710px;margin:0 auto}.pack-selection{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:12px 0}.physical-choice{padding:17px 8px;color:#ede3d7;border:1px solid #7c7568;border-radius:6px;min-width:0;position:relative;background:linear-gradient(135deg,#45424f,#282b37);display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:18px;transition:transform .18s,border-color .18s,box-shadow .18s}.physical-choice>span{font-size:7px;letter-spacing:.11em}.physical-choice>b{font-size:49px;color:#e3d2b0;font-weight:500}.physical-choice>strong{font-size:18px;letter-spacing:.07em}.physical-choice>small{font-size:8px;color:#c3b5a6}.physical-choice:hover:not(:disabled){transform:translateY(-5px);border-color:#edbb90}.physical-choice.chosen{border-color:#ff9e62;box-shadow:0 0 0 2px #ff9e6266,0 12px 28px #0005;transform:translateY(-5px)}.physical-choice.chosen>small{color:#ffc198}.physical-choice:disabled{opacity:.3;filter:grayscale(1)}.pack-selection .physical-choice{height:210px;border-top:5px double #b7a58c;border-bottom:5px double #b7a58c}.bag-selection{grid-template-columns:repeat(6,minmax(0,1fr))}.bag-selection .physical-choice{min-height:140px;gap:9px;border-radius:4px 4px 18px 18px;background:linear-gradient(150deg,#6a5044,#363039)}.bag-selection .physical-choice>b{font-size:30px}.ticket-selection{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.ticket-selection .physical-choice{background:linear-gradient(135deg,#674855,#302734);border:1px solid #c599ad;gap:10px;height:140px;border-bottom:4px dashed #9c738a}.ticket-selection .physical-choice>b{font-size:30px}.ticket-selection .physical-choice>span{font-size:6px}.opening-object{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:220px;min-height:280px;padding:22px 18px 16px;margin:10px auto 24px;border:2px solid #b8aa8c;background:linear-gradient(145deg,#514a61,#242736 66%);border-radius:7px;box-shadow:12px 18px 35px #0007;gap:14px}.opening-object>span{font-size:9px;letter-spacing:.15em;color:#d8c8ad}.opening-object>b{font-size:80px;line-height:1.2;font-weight:500;color:#e7d7ba}.opening-object>strong{font-size:18px;color:#f2e2d0}.opening-object>small{font-size:10px;color:#c4b9a8}.tear-line{border-top:1px dashed #d9c7a3;width:calc(100% + 36px);margin-top:10px;padding:13px 14px 0;font-size:10px;color:#ecd3b0;display:flex;justify-content:space-between}.opening-kuji{width:290px;min-height:190px;background:linear-gradient(135deg,#684357,#302535);border-color:#c298ae}.opening-kuji>b{font-size:55px}.opening-chougu{background:linear-gradient(150deg,#765744,#37303a);border-radius:5px 5px 30px 30px}.opening-lucky{background:linear-gradient(150deg,#755337,#30282c);border-radius:30px 30px 8px 8px}.is-opening{animation:open-pack .7s ease-in-out}.flow-machine{width:230px;margin:10px auto 24px;filter:drop-shadow(8px 10px 16px #0006)}.flow-globe{height:170px;position:relative;border:5px solid #bab9a0;border-radius:90px 90px 22px 22px;background:linear-gradient(135deg,#e8f8c432,#263b2922);overflow:hidden}.flow-globe i{position:absolute;width:55px;height:55px;border-radius:50%;border:2px solid #e6dfc6;background:linear-gradient(0deg,#dddac7 48%,#89b091 49%);bottom:6px;left:16px;transform:rotate(-24deg)}.flow-globe i:nth-child(2){left:70px;bottom:0;background:linear-gradient(0deg,#dddac7 48%,#af946a 49%);transform:rotate(20deg)}.flow-globe i:nth-child(3){left:123px;bottom:11px;background:linear-gradient(0deg,#dddac7 48%,#9587ac 49%)}.flow-globe i:nth-child(4){left:38px;bottom:57px;background:linear-gradient(0deg,#dddac7 48%,#b67e60 49%)}.flow-globe i:nth-child(5){left:107px;bottom:66px;background:linear-gradient(0deg,#dddac7 48%,#768eae 49%);transform:rotate(40deg)}.flow-machine-body{border:3px solid #ccc7ac;border-radius:7px 7px 25px 25px;background:#909d77;padding:15px;color:#23311e}.flow-machine-body>span{font-size:9px;letter-spacing:.1em;font-weight:800;display:block}.turn-handle{width:70px;height:70px;border:3px solid #58684b;border-radius:50%;background:#e4dfc9;font-size:48px;line-height:1;color:#384c2c;display:block;margin:12px auto}.capsule-slot{padding:8px;background:#3a4134;border-radius:10px 10px 5px 5px;width:110px;margin:8px auto 0;font-size:9px;color:#d2dcc4}.is-turning .turn-handle{animation:turn-knob .7s cubic-bezier(.4,0,.2,1)}.is-turning .flow-globe i{animation:capsule-tumble .6s ease-in-out}.arrived-capsule{position:relative;width:190px;height:190px;display:block;margin:35px auto 30px;background:linear-gradient(165deg,#97b9a8 0 48%,#eddfc7 49% 100%);border:3px solid #d7d9c8;border-radius:50%;box-shadow:12px 16px 30px #0007;color:#20392c;animation:capsule-arrive .45s ease-out}.arrived-capsule i{position:absolute;inset:15px;border:1px solid #fffb;border-radius:50%}.arrived-capsule span{position:relative;font-weight:800;font-size:13px;display:inline-block;background:#ffffff9c;padding:10px;border-radius:8px}.arrived-capsule:hover{transform:rotate(-5deg)}.flow-cards{display:flex;justify-content:center;gap:18px;align-items:stretch;margin:25px auto}.flow-reveal{width:180px;min-width:0;padding:0 0 14px;background:#292d35;border:1px solid #686c70;border-radius:12px;color:#e8e9eb;text-align:left;overflow:hidden;box-shadow:0 8px 16px #0004}.flow-reveal:disabled{opacity:1;cursor:default}.flow-reveal:not(:disabled):hover{transform:translateY(-5px);border-color:#e6b889}.flow-reveal>.art{height:190px}.flow-reveal>span{display:block;color:#e5b58f;font-size:10px;margin:12px 12px 7px}.flow-reveal>strong{font-size:14px;display:block;margin:0 12px}.flow-card-back{min-height:252px;background:repeating-linear-gradient(45deg,#d3b88b0a 0 1px,transparent 1px 9px),radial-gradient(ellipse at top,#555345,#242527);border:5px double #a99a7b;border-radius:9px;margin:7px 7px -7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#e8d6b4}.flow-card-back>span{font-size:10px;letter-spacing:.1em}.flow-card-back>b{font-size:55px;font-weight:500}.flow-card-back>strong{font-size:22px}.flow-card-back>small{font-size:10px}.flow-reveal.revealed{animation:reveal-in .3s ease-out}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 20px}.theme-options button{padding:20px 16px;background:#292c32;border:1px solid #5a606b;border-radius:12px;color:#eae2d7;text-align:left}.theme-options button[aria-pressed=true]{border-color:#ff9f66;background:#453427;box-shadow:inset 0 0 0 1px #ff9f6655}.theme-options b{font-size:16px;display:block}.theme-options span{font-size:11px;line-height:1.8;display:block;color:#b6b4b1;margin:13px 0}.theme-options small{font-size:11px;color:#efc6a5}.theme-probability{text-align:left;background:#171b21;border:1px solid #434a55;border-radius:10px;padding:18px 20px;max-width:550px;margin:0 auto}.theme-probability>strong{display:block;font-size:12px;color:#dfceb7;margin-bottom:13px}.theme-probability>span{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#b2bdcb;padding:7px 0}.theme-probability b{color:#d7dccf}.session-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #4c514f;border-radius:13px;background:#282d2c;margin:20px 0}.session-metrics>div{padding:18px 8px}.session-metrics>div+div{border-left:1px solid #424b49}.session-metrics b{display:block;font-size:29px;color:#e7d0b4}.session-metrics b small{font-size:13px;color:#a2ada8}.session-metrics span{display:block;font-size:10px;color:#aeb9b3;margin-top:7px}.progress-message{font-size:12px;color:#b6c5ae;margin:20px 0}.summary-items{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:left;margin:20px 0}.summary-items>div{display:flex;align-items:center;gap:10px;border:1px solid #464c56;border-radius:9px;padding:10px;background:#242930;min-width:0}.summary-items .art{width:52px;height:64px;flex-shrink:0;padding:3px}.summary-items b{display:block;font-size:11px;line-height:1.5}.summary-items small{display:block;font-size:9px;color:#b3a795;margin-top:5px}.summary-items:has(>div:only-child){grid-template-columns:1fr;max-width:340px;margin:20px auto}.summary-items:has(>div:only-child) .art{width:75px;height:85px}.flow-followup{text-align:left;background:#242930;border:1px solid #454c56;border-radius:12px;padding:17px 20px;margin:16px 0}.flow-followup h3{font-size:14px;margin:0 0 8px}.flow-followup p{font-size:10px;color:#a5aebc;line-height:1.8;margin:0 0 13px}.flow-followup>button{display:flex;justify-content:space-between;width:100%;gap:10px;background:#1d222a;border:1px solid #62616a;border-radius:7px;padding:10px;color:#c6cbd4;font-size:10px;margin-top:7px}.flow-followup button[aria-pressed=true]{border-color:#9b8269;color:#f2ceab}.flow-followup b{font-size:10px;color:#e3af89}.missing-wishes{display:flex;flex-wrap:wrap;gap:8px}.missing-wishes button{padding:9px 11px;border:1px solid #555d6b;border-radius:7px;background:#1e242d;color:#c4cbd7;font-size:10px}.summary-actions{margin-top:23px}.summary-actions .link-button{margin-left:8px}.item-series-link{display:block;font-size:11px;color:#dab592;margin:19px 0}.exchange-detail{margin-top:8px;width:100%;font-size:12px}.exchange-footnote{display:block;font-size:9px;color:#9da6b3;line-height:1.6;margin-top:10px}.flow-dialog .modal-close{top:15px;right:17px}.flow-steps span{white-space:nowrap}
@keyframes open-pack{0%{transform:rotate(0)}25%{transform:rotate(-3deg)}55%{transform:rotate(3deg)}80%{transform:scale(1.03)}100%{transform:scale(1)}}@keyframes turn-knob{to{transform:rotate(360deg)}}@keyframes capsule-tumble{50%{transform:translateY(-22px) rotate(65deg)}}@keyframes capsule-arrive{0%{transform:translateY(-30px) scale(.85);opacity:0}70%{transform:translateY(6px) scale(1.03)}100%{transform:translateY(0) scale(1);opacity:1}}
@media(max-width:760px){.flow-backdrop{padding:12px}.flow-dialog{padding:25px 17px 24px;max-height:calc(100dvh - 24px);border-radius:15px}.flow-dialog h2{font-size:23px;margin:24px 0 22px}.flow-dialog-top{display:block;text-align:left}.flow-dialog-top>span{font-size:11px}.flow-dialog-top small{display:block;font-size:9px;margin-top:7px}.flow-steps{gap:5px;margin-top:20px}.flow-steps li{font-size:9px;gap:5px;flex-direction:column}.flow-steps li:not(:last-child):after{position:absolute;right:-15px;top:10px;width:25px;flex:none;margin:0}.flow-steps li>b{width:21px;height:21px;font-size:9px}.pack-selection{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pack-selection .physical-choice{height:175px}.physical-choice{gap:10px}.physical-choice>b{font-size:39px}.physical-choice>small{font-size:7px}.physical-choice>span{font-size:6px}.bag-selection,.ticket-selection{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.ticket-selection .physical-choice,.bag-selection .physical-choice{height:112px;min-height:0;padding:11px 5px;gap:7px}.ticket-selection .physical-choice>b,.bag-selection .physical-choice>b{font-size:25px}.ticket-selection .physical-choice>span{font-size:5px}.physical-choice>strong{font-size:15px}.ticket-selection .physical-choice>small,.bag-selection .physical-choice>small{font-size:6px}.flow-help{font-size:11px;margin-top:18px}.flow-cards{gap:9px}.flow-reveal{flex:1;max-width:180px}.flow-reveal>span{font-size:8px;margin:10px 7px 6px;line-height:1.5}.flow-reveal>strong{font-size:11px;line-height:1.5;margin:0 7px}.flow-reveal>.art{height:130px;padding:5px}.flow-card-back{min-height:190px;margin:4px 4px -8px;border-width:3px;gap:13px}.flow-card-back>b{font-size:40px}.flow-card-back>small{font-size:8px}.flow-card-back>span{font-size:9px}.flow-dialog .btn{font-size:12px;min-height:43px}.theme-options{grid-template-columns:1fr;gap:9px;margin-top:20px}.theme-options button{padding:13px 15px;display:grid;grid-template-columns:1fr auto;gap:7px 15px}.theme-options b{font-size:14px}.theme-options span{grid-row:2;grid-column:1/-1;font-size:10px;margin:0;line-height:1.7}.theme-options small{grid-column:2;grid-row:1;font-size:10px}.theme-probability{padding:15px}.theme-probability>span{font-size:10px}.session-metrics b{font-size:25px}.session-metrics span{font-size:9px}.session-metrics>div{padding:15px 5px}.summary-items{grid-template-columns:1fr;gap:7px}.summary-items>div{padding:8px 11px}.summary-items .art{width:46px;height:52px}.summary-items b{font-size:12px}.summary-items small{font-size:10px}.flow-followup{padding:15px}.flow-followup>button{flex-wrap:wrap;line-height:1.8}.flow-actions{gap:8px}.summary-actions .link-button{width:100%;margin:8px 0 0}.play-journey{gap:5px}.play-journey span{font-size:9px;gap:4px}.play-journey b{width:16px;height:16px;font-size:8px;flex-shrink:0}.pending-play{padding:13px 12px;gap:12px}.pending-play b{font-size:11px}.pending-play small{font-size:9px;line-height:1.6}.pending-play button{font-size:10px}.opening-object{width:195px;min-height:250px}.opening-kuji{width:250px;min-height:185px}}
@media(max-width:360px){.flow-dialog{padding-inline:12px}.flow-dialog h2{font-size:21px}.flow-steps li{font-size:8px}.flow-steps li:not(:last-child):after{right:-10px;width:17px}.pack-selection{gap:9px}.pack-selection .physical-choice{height:160px}.flow-card-back{min-height:170px}.flow-card-back>small{font-size:7px}.flow-reveal>.art{height:110px}.physical-choice>small{font-size:6px}.play-journey span{font-size:8px}.flow-followup p{font-size:9px}.flow-cards{gap:7px}}
@media(prefers-reduced-motion:reduce){.is-opening,.is-turning .turn-handle,.is-turning .flow-globe i,.arrived-capsule,.flow-reveal.revealed{animation:none}.physical-choice,.flow-reveal{transition:none}}
.physical-choice:disabled>b{font-size:14px;white-space:nowrap;letter-spacing:0}.flow-card-back{overflow:hidden}.flow-dialog h2:focus-visible{outline:none}
/* Route changes and focus restoration must not compete with smooth scrolling. */
html{scroll-behavior:auto}
.summary-actions{padding:0 0 18px;margin-top:20px;border-bottom:1px solid #414852}
