@charset "UTF-8";
/* VENUS LAB: light belongs to the exhibit, never to the navigation. */

/* A quiet threshold: the existing brush-made lace planet is the sole artwork. */
.museum-entry{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#f2f0ea;color:#5d6565;box-shadow:none;isolation:isolate}
.museum-entry[open]{display:grid;place-items:center}
.museum-entry::backdrop{background:#efeee9}
.museum-entry:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 37% 38%,#e0e9e0b3,transparent 53%),radial-gradient(ellipse at 69% 56%,#dfd9e8a3,transparent 57%),linear-gradient(130deg,#fffdf6,#e9eae6);animation:museum-room-in 1.6s ease-out both}
.museum-entry:after{content:"";position:absolute;inset:clamp(12px,3.4vw,34px);border:1px solid #a9b2ac4a;border-radius:2px;pointer-events:none}
.entry-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.entry-sky i{--x:18%;--y:28%;--delay:0s;position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;background:#fffef2;box-shadow:0 0 12px 3px #fffbea;transform:rotate(45deg);animation:entry-spark 1.8s var(--delay) ease-out both}
.entry-sky i:before,.entry-sky i:after{content:"";position:absolute;left:50%;top:50%;background:#fffcf0;transform:translate(-50%,-50%);width:1px;height:14px}
.entry-sky i:after{width:14px;height:1px}
.entry-sky i:nth-child(2){--x:74%;--y:23%;--delay:.08s}.entry-sky i:nth-child(3){--x:25%;--y:61%;--delay:.15s}.entry-sky i:nth-child(4){--x:82%;--y:59%;--delay:.22s}.entry-sky i:nth-child(5){--x:50%;--y:15%;--delay:.3s}.entry-sky i:nth-child(6){--x:14%;--y:45%;--delay:.38s}.entry-sky i:nth-child(7){--x:67%;--y:72%;--delay:.15s}.entry-sky i:nth-child(8){--x:88%;--y:38%;--delay:.3s}.entry-sky i:nth-child(9){--x:35%;--y:20%;--delay:.4s}.entry-sky i:nth-child(10){--x:40%;--y:74%;--delay:.2s}.entry-sky i:nth-child(11){--x:60%;--y:34%;--delay:.1s}.entry-sky i:nth-child(12){--x:17%;--y:78%;--delay:.5s}
.entry-arch{position:absolute;left:50%;top:43%;width:min(49vw,290px);aspect-ratio:.76;border:1px solid #aab7ae9e;border-radius:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 7px #fff7,inset 0 0 0 8px #b7b5ad44,0 0 46px #ffffff9c;animation:entry-arch-in 1.65s cubic-bezier(.2,.7,.2,1) both}
.entry-arch:before,.entry-arch:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.entry-arch:before{inset:13px;border:1px solid #c2c8bd73}
.entry-arch:after{inset:-9px;border:1px solid #fdfbf3c4;box-shadow:0 0 28px #f8f7ef}
.entry-planet{position:absolute;left:50%;top:42%;width:min(72vw,420px);height:auto;transform:translate(-50%,-50%);object-fit:contain;filter:drop-shadow(0 16px 20px #5f776b25);animation:entry-planet-in 1.8s cubic-bezier(.16,.7,.2,1) both;pointer-events:none}
.entry-copy{position:absolute;top:70%;left:24px;right:24px;text-align:center;animation:entry-type-in 1.4s .18s ease-out both}
.entry-kicker{font:8px/1.6 var(--ui);letter-spacing:.3em;padding-left:.3em;color:#89918b}
.entry-copy h1{font:400 clamp(25px,5vw,40px)/1.4 Didot,"Bodoni 72",serif;letter-spacing:.23em;padding-left:.23em;margin:9px 0 5px;color:#53645b}
.entry-copy p{font:12px/1.8 var(--serif);letter-spacing:.24em;padding-left:.24em;margin:0;color:#80877e}
.entry-actions{position:absolute;bottom:max(40px,env(safe-area-inset-bottom));left:30px;right:30px;display:flex;justify-content:center;align-items:center;gap:24px;animation:entry-type-in .8s .4s both}
#entry-enter{min-height:43px;min-width:133px;padding:0 23px;border:1px solid #a4b1a778;border-radius:5px;background:#fff9;box-shadow:inset 0 1px #fff;color:#5f7165;font-size:11px;letter-spacing:2px}
#entry-skip{min-height:43px;padding:0 3px;font-size:10px;letter-spacing:1px;color:#8a8e88}
.museum-entry[data-phase="leaving"]{animation:museum-depart .65s ease-in both;pointer-events:none}
.museum-entry[data-phase="leaving"] .entry-arch{animation:entry-arch-open .65s cubic-bezier(.4,0,.6,1) both}
.museum-entry[data-phase="leaving"] .entry-planet{animation:entry-planet-depart .6s ease-in both}

/* A reveal uses the same card artwork. The show lives outside its edge. */
.rarity-dialog{--reveal-color:#ccd7d5;--reveal-hot:#fbfffd;--reveal-edge:#bccdc8;--reveal-wash:#bfcfc733;--charge-time:.18s;--burst-time:1.25s;--ink:#545c58;--muted:#858d86;--accent:#6a8175;width:min(510px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:16px 23px 16px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(140deg,#f7f6f0,#edf0e8);border:1px solid #ffffffc4;box-shadow:0 24px 100px #252c3045;transition:background .35s,color .35s}
.rarity-dialog[data-rarity="R"]{--reveal-color:#dec8a4;--reveal-hot:#fff9e1;--reveal-edge:#cdb585;--reveal-wash:#e1ca9f3a;--charge-time:.3s;background:linear-gradient(140deg,#fbf7ed,#f0eae0)}
.rarity-dialog[data-rarity="SR"]{--reveal-color:#c7b1ee;--reveal-hot:#fbf4ff;--reveal-edge:#ac8fcd;--reveal-wash:#ba9de74a;--charge-time:.7s;--burst-time:1.65s;--ink:#625076;--muted:#93809f;--accent:#8b69ab;background:radial-gradient(ellipse at 50% 35%,#fdf6ff,#eee5f3 64%,#e7dfef)}
.rarity-dialog[data-rarity="UR"]{--reveal-color:#e7c889;--reveal-hot:#fffbe5;--reveal-edge:#eee0a9;--reveal-wash:#d6b77b4a;--charge-time:1.15s;--burst-time:2.15s;--ink:#f1e9dc;--muted:#c0b5c8;--accent:#f1d89c;background:radial-gradient(ellipse at 50% 37%,#43384f,#252334 60%,#1c1b28);border-color:#e7d6a94a;box-shadow:0 24px 100px #1713227a,inset 0 0 0 1px #fff3df0a}
.rarity-dialog[data-rarity="SR"]::backdrop{background:#382940ab}
.rarity-dialog[data-rarity="UR"]::backdrop{background:#18121ec4}
.draw-dialog-header{position:relative;z-index:12;min-height:35px}
.draw-dialog-header h2{letter-spacing:1.6px}
.draw-dialog-header .close-button{flex:0 0 36px;min-height:36px;position:relative;z-index:13}
.draw-track{display:flex;gap:5px;justify-content:center;margin:8px 0 11px;padding:0;list-style:none;position:relative;z-index:4}
.draw-track li{flex:1;max-width:43px;min-width:0;min-height:35px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;border:1px solid color-mix(in srgb,var(--reveal-edge) 42%,transparent);border-radius:4px;background:#fff1;color:var(--muted);font:8px/1 var(--ui);font-variant-numeric:tabular-nums}
.draw-track li strong{font:400 10px/1 Didot,"Times New Roman",serif;letter-spacing:.2px}
.draw-track li[data-state="pending"] strong{opacity:.3}
.draw-track li[data-state="current"]{border-color:var(--reveal-edge);color:var(--ink);background:var(--reveal-wash);box-shadow:0 0 10px var(--reveal-wash)}
.draw-track li[data-state="revealed"]{background:var(--reveal-wash);color:var(--ink)}
.draw-track li[data-state="revealed"][data-rarity="SR"]{border-color:#b998ce80;color:#9473ad}
.draw-track li[data-state="revealed"][data-rarity="UR"]{border-color:#c5a25d9c;color:#b69450;background:#e7c77e1a}
.rarity-dialog[data-rarity="UR"] .draw-track li[data-state="revealed"][data-rarity="SR"]{color:#dac4f0}
.rarity-dialog[data-rarity="UR"] .draw-track li[data-state="revealed"][data-rarity="UR"]{color:#f9df9c}
.draw-stage{width:min(100%,310px,calc((100dvh - 318px)*5/7));min-height:0;margin:0 auto;isolation:isolate;overflow:visible}
.draw-fx{position:absolute;inset:-12% -16%;pointer-events:none;z-index:0;opacity:1;isolation:isolate}
.draw-fx>i{position:absolute;display:block;pointer-events:none;font-style:normal}
.fx-aura{inset:8% 2%;border-radius:50%;background:radial-gradient(ellipse,var(--reveal-hot),var(--reveal-color) 32%,transparent 69%);opacity:0;filter:blur(9px)}
.fx-ring{left:50%;top:50%;width:91%;aspect-ratio:1;border:1px solid var(--reveal-edge);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.5);box-shadow:0 0 17px var(--reveal-color),inset 0 0 13px var(--reveal-color)}
.fx-ring-outer{width:110%;border-width:1px;border-style:dotted}
.fx-rays{inset:0 -10%;opacity:0;transform:rotate(-12deg);background:repeating-conic-gradient(from 0deg,transparent 0deg 12deg,var(--reveal-hot) 13deg 13.3deg,transparent 14deg 25deg);mask:radial-gradient(ellipse,transparent 16%,#000 33%,transparent 66%);-webkit-mask:radial-gradient(ellipse,transparent 16%,#000 33%,transparent 66%)}
.fx-gem{left:50%;top:49%;width:29%;aspect-ratio:1;opacity:0;clip-path:polygon(50% 0,88% 20%,100% 50%,50% 100%,0 50%,12% 20%);background:conic-gradient(from 45deg,#fffbdb,#bcdadf,#eee6ff,#f8e1aa,#fffde9,#c2c9ea,#fffbdb);transform:translate(-50%,-50%) scale(.3);filter:drop-shadow(0 0 25px var(--reveal-hot))}
.fx-gem:before{content:"";position:absolute;inset:10%;clip-path:polygon(50% 0,100% 34%,50% 100%,0 34%);background:conic-gradient(from 110deg,#fff7,#d6c0ed77,#faffef,#fff2,#fff9);border:1px solid #fff}
.fx-star{--angle:calc(var(--i,0)*20deg);--star-size:6px;left:50%;top:50%;width:var(--star-size);height:var(--star-size);background:var(--reveal-hot);opacity:0;clip-path:polygon(50% 0,60% 37%,100% 50%,60% 61%,50% 100%,39% 61%,0 50%,39% 38%);transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-35px);filter:drop-shadow(0 0 5px var(--reveal-color))}
.fx-star:nth-of-type(3n){--star-size:10px}.fx-star:nth-of-type(4n){--star-size:4px}
.draw-stage .draw-card-frame{z-index:2;opacity:0;transform:translateY(9px) scale(.96);will-change:opacity,transform}
.draw-stage .letter-scene{z-index:1;opacity:0;transition:opacity .16s;visibility:hidden}
.rarity-dialog[data-count="3"] .letter-scene:before,.rarity-dialog[data-count="3"] .letter-scene:after{content:"";position:absolute;left:14%;top:22%;width:72%;aspect-ratio:5/7;max-height:61%;border:1px solid #b5bfb47a;border-radius:6px;background:radial-gradient(ellipse at center,#e2e8dc 0 13%,transparent 14%),linear-gradient(135deg,#f9f6e9,#e1e7df);box-shadow:inset 0 0 0 6px #f7f6ec,inset 0 0 0 7px #b5bdb04a,0 12px 25px #3c493b17;opacity:0;transform-origin:50% 85%}
.rarity-dialog[data-count="3"] .letter-scene:after{background:radial-gradient(ellipse at center,#e1dde9 0 13%,transparent 14%),linear-gradient(135deg,#f7f3ec,#e4dfe8)}
.rarity-dialog[data-count="3"] .draw-stage[data-phase="opening"] .letter-scene:before{animation:museum-batch-fan-left .6s cubic-bezier(.15,.7,.2,1) both}
.rarity-dialog[data-count="3"] .draw-stage[data-phase="opening"] .letter-scene:after{animation:museum-batch-fan-right .6s cubic-bezier(.15,.7,.2,1) both}
.rarity-dialog[data-count="3"] .wish-letter{z-index:2}
.draw-stage .wish-letter{width:77%;color:#7a8379;background:linear-gradient(140deg,#fffcf0,#e7ebe1);box-shadow:0 15px 40px #38423a26}
.draw-stage .letter-seal{background-image:url('./assets/museum-v20/lace-planet.webp');background-size:200% auto;background-position:center}
.draw-stage[data-phase="opening"] .letter-scene{opacity:1;visibility:visible}
.draw-stage[data-phase="opening"] .wish-letter{animation:museum-letter-arrive .5s cubic-bezier(.16,.7,.2,1) both}
.draw-stage[data-phase="opening"] .wish-letter i{animation:museum-letter-open .4s .1s ease-out both}
.draw-stage[data-phase="opening"] .draw-orbit{animation:museum-orbit .5s ease-out both}
.draw-stage[data-phase="charging"] .fx-aura{animation:museum-charge var(--charge-time) ease-in both}
.draw-stage[data-phase="charging"] .fx-ring{animation:museum-ring-charge var(--charge-time) ease-in both}
.draw-stage[data-phase="charging"] .fx-gem{animation:museum-gem-charge var(--charge-time) ease-in both}
.draw-stage[data-rarity="N"] .fx-gem,.draw-stage[data-rarity="N"] .fx-rays,.draw-stage[data-rarity="N"] .fx-ring-outer{display:none}
.draw-stage[data-rarity="R"] .fx-gem,.draw-stage[data-rarity="R"] .fx-rays{display:none}
.draw-stage[data-rarity="N"] .fx-star:nth-of-type(n+12){display:none}
.draw-stage[data-rarity="R"] .fx-star:nth-of-type(n+17){display:none}
.draw-stage[data-phase="revealed"] .draw-card-frame{opacity:1;transform:none;pointer-events:auto;animation:museum-card-arrive .65s cubic-bezier(.16,.75,.2,1) both}
.draw-stage[data-phase="revealed"] .fx-aura{animation:museum-aura-bloom var(--burst-time) ease-out both}
.draw-stage[data-phase="revealed"] .fx-ring{animation:museum-ring-burst var(--burst-time) cubic-bezier(.14,.6,.2,1) both}
.draw-stage[data-phase="revealed"] .fx-ring-outer{animation-delay:.09s}
.draw-stage[data-phase="revealed"] .fx-rays{animation:museum-rays var(--burst-time) ease-out both}
.draw-stage[data-phase="revealed"] .fx-star{animation:museum-star-burst var(--burst-time) calc(var(--i,0)*.012s) cubic-bezier(.16,.6,.2,1) both}
.draw-stage[data-phase="revealed"][data-rarity="UR"] .draw-card-frame{animation:museum-ur-arrive 1.1s cubic-bezier(.15,.7,.2,1) both}
.draw-stage[data-phase="revealed"][data-rarity="UR"] .fx-aura{background:radial-gradient(ellipse,#fff8d9,#e5d6f2 20%,#c6e1da 36%,#d9b98555 49%,transparent 70%);filter:blur(6px)}
.draw-stage[data-phase="revealed"][data-rarity="UR"] .fx-ring{border-width:2px;box-shadow:0 0 23px #fff4c2,inset 0 0 17px #f4d98c}
.draw-stage[data-phase="revealed"][data-rarity="UR"] .fx-ring-outer{border-width:1px;border-color:#d8c9f3;box-shadow:0 0 24px #dac9f299}
.draw-stage[data-phase="revealed"][data-rarity="UR"] .fx-rays{background:repeating-conic-gradient(from 9deg,transparent 0deg 7deg,#fff5c9 7.4deg 8deg,transparent 9deg 19deg,#e3ccf9 19.3deg 20deg,transparent 21deg 30deg)}
.draw-stage[data-phase="revealed"][data-rarity="UR"] .fx-star{--star-size:9px;filter:drop-shadow(0 0 8px #fff2b1)}
.draw-stage[data-phase="revealed"][data-rarity="UR"] .fx-star:nth-of-type(3n){--star-size:14px;background:#e4d3ff}
.draw-stage[data-phase="revealed"][data-rarity="UR"] .fx-star:nth-of-type(4n){--star-size:6px;background:#e4f5eb}
.draw-stage[data-phase="revealed"] .card .craft-foil:after{animation:none;opacity:0}
.draw-phase-label{position:relative;z-index:3;margin:14px 0 0;min-height:17px;font-size:10px;color:var(--muted);letter-spacing:1px}
.draw-result-copy{position:relative;z-index:3;min-height:48px;margin-top:5px}
.draw-result-title{gap:10px;align-items:baseline}
.draw-result-title h3{font-size:19px;letter-spacing:1.6px}
.rarity-pill{font-size:21px;letter-spacing:.5px}
.rarity-dialog[data-rarity="SR"] .rarity-pill{color:#9d79bf}
.rarity-dialog[data-rarity="UR"] .rarity-pill{color:#f5d997;text-shadow:0 0 14px #efd69770}
.draw-result-copy p{margin-top:4px;color:var(--muted);font-size:10px}
.draw-bottom{position:sticky;bottom:-16px;z-index:12;display:flex;flex-wrap:wrap;align-items:center;gap:7px 13px;margin-top:12px;padding:11px 0 0;background:linear-gradient(transparent,var(--page) 13px);min-height:47px}
.draw-bottom>span{margin-right:auto;color:var(--muted);font-size:11px;letter-spacing:1px;white-space:nowrap}
.draw-bottom .text-button{min-height:38px;font-size:10px;white-space:nowrap}
.draw-bottom .primary-button{height:38px;min-width:92px;padding-inline:15px;border-radius:8px;gap:8px;letter-spacing:.8px;font-size:11px;background:linear-gradient(130deg,#ffffffb3,#deebe280);border-color:#c2d0c7;color:#566e5f}
.rarity-dialog[data-rarity="UR"] .draw-bottom{background:linear-gradient(transparent,#211f30 13px)}
.rarity-dialog[data-rarity="UR"] .draw-bottom .primary-button{color:#f4e1b2;border-color:#b9a16d66;background:linear-gradient(125deg,#a890572e,#f4dba317);box-shadow:inset 0 1px #fff4d512}
.rarity-dialog[data-rarity="SR"] .draw-bottom{background:linear-gradient(transparent,#ece3f2 13px)}
.rarity-dialog[data-rarity="SR"] .draw-bottom .primary-button{color:#7d5e9a;border-color:#bdaccd8c;background:#fbf6ff85}

/* The reveal has a destination: a whole batch with equal visual alignment. */
.batch-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 13px;margin:15px 0 0}
.batch-tile{min-width:0;padding:6px 6px 9px;text-align:center;border:1px solid color-mix(in srgb,var(--reveal-edge) 30%,transparent);border-radius:8px;background:#ffffff16;position:relative}
.batch-tile:hover{border-color:var(--reveal-edge);background:var(--reveal-wash)}
.batch-tile .card{width:100%;box-shadow:0 5px 14px #1513211c;pointer-events:none}
.batch-rarity{display:block;font:italic 18px/1.1 Didot,"Times New Roman",serif;font-weight:400;letter-spacing:.5px;margin:10px 0 5px;color:var(--ink)}
.batch-tile[data-rarity="SR"]{border-color:#bfa1d380;background:linear-gradient(145deg,#ccafe91a,#fff0)}
.batch-tile[data-rarity="UR"]{border-color:#c9ab6f8f;background:linear-gradient(145deg,#f9dda32b,#c1a4d31a);box-shadow:0 0 19px #e8cd8420}
.batch-tile[data-rarity="SR"] .batch-rarity{color:#9b78b7}.batch-tile[data-rarity="UR"] .batch-rarity{color:#b8944e}
.rarity-dialog[data-rarity="UR"] .batch-tile[data-rarity="SR"] .batch-rarity{color:#d5bbed}.rarity-dialog[data-rarity="UR"] .batch-tile[data-rarity="UR"] .batch-rarity{color:#f6db99}
.batch-name{display:block;font:11px/1.5 var(--serif);letter-spacing:.5px;color:var(--ink);overflow-wrap:anywhere}
#batch-total{text-align:center;margin:17px 0 3px;color:var(--muted);font:10px/1.8 var(--ui);letter-spacing:.4px}
.rarity-dialog[data-mode="summary"]{width:min(620px,calc(100% - 24px))}
.rarity-dialog[data-mode="summary"] :is(.draw-stage,.draw-phase-label,.draw-result-copy,.draw-track){display:none}
.rarity-dialog[data-mode="reveal"] :is(.batch-results,#batch-total){display:none}

@keyframes museum-room-in{from{opacity:0}to{opacity:1}}
@keyframes entry-spark{0%{opacity:0;transform:rotate(45deg) scale(.2)}45%{opacity:.9}100%{opacity:.15;transform:rotate(45deg) scale(.8)}}
@keyframes entry-arch-in{from{opacity:0;transform:translate(-50%,-50%) scale(.86)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes entry-planet-in{from{opacity:0;transform:translate(-50%,-44%) scale(.9) rotate(-7deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes entry-type-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes museum-depart{0%{opacity:1}100%{opacity:0}}
@keyframes entry-arch-open{from{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(2.6)}}
@keyframes entry-planet-depart{to{opacity:0;transform:translate(-50%,-50%) scale(1.16)}}
@keyframes museum-letter-arrive{from{opacity:0;transform:translateY(15px) rotate(-5deg) scale(.93)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes museum-letter-open{to{transform:rotateX(165deg)}}
@keyframes museum-batch-fan-left{0%{opacity:0;transform:translateY(10px) rotate(0) scale(.8)}35%{opacity:.8}100%{opacity:.85;transform:translate(-9%,-5%) rotate(-12deg) scale(.85)}}
@keyframes museum-batch-fan-right{0%{opacity:0;transform:translateY(10px) rotate(0) scale(.8)}35%{opacity:.8}100%{opacity:.85;transform:translate(9%,-5%) rotate(12deg) scale(.85)}}
@keyframes museum-orbit{from{opacity:0;transform:rotate(-20deg) scaleY(.6) scale(.8)}to{opacity:.5;transform:rotate(0) scaleY(.6)}}
@keyframes museum-charge{0%{opacity:0;transform:scale(.5)}100%{opacity:.8;transform:scale(.93)}}
@keyframes museum-ring-charge{0%{opacity:0;transform:translate(-50%,-50%) rotate(-35deg) scale(1.25)}100%{opacity:.8;transform:translate(-50%,-50%) rotate(0) scale(.48)}}
@keyframes museum-gem-charge{0%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(-16deg)}30%{opacity:.65}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes museum-card-arrive{0%{opacity:0;transform:translateY(9px) scale(.96)}35%{opacity:1}100%{opacity:1;transform:none}}
@keyframes museum-ur-arrive{0%{opacity:1;transform:translateY(8px) scale(.87)}20%{opacity:1}62%{transform:translateY(0) scale(1.015)}100%{opacity:1;transform:none}}
@keyframes museum-aura-bloom{0%{opacity:0;transform:scale(.65)}12%{opacity:.95}45%{opacity:.55;transform:scale(1.15)}100%{opacity:.08;transform:scale(1.2)}}
@keyframes museum-ring-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}14%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}
@keyframes museum-rays{0%{opacity:0;transform:rotate(-12deg) scale(.7)}15%{opacity:.8}100%{opacity:0;transform:rotate(13deg) scale(1.25)}}
@keyframes museum-star-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-35px) scale(.2)}15%{opacity:1}55%{opacity:.8}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-220px) scale(.4)}}

:root[data-theme="dark"] .museum-entry{background:#242b2a;color:#d8dfd6}
:root[data-theme="dark"] .museum-entry:before{background:radial-gradient(ellipse at 37% 38%,#40564caa,transparent 53%),radial-gradient(ellipse at 69% 56%,#40364e8a,transparent 57%),linear-gradient(130deg,#303b34,#252a2a)}
:root[data-theme="dark"] .entry-copy h1{color:#e2eadc}:root[data-theme="dark"] .entry-kicker,:root[data-theme="dark"] .entry-copy p{color:#b9c6b8}
:root[data-theme="dark"] #entry-enter{background:#dbe7db13;color:#d9e5d6;border-color:#9fb6a563}:root[data-theme="dark"] #entry-skip{color:#aebcae}
:root[data-theme="dark"] .entry-arch{border-color:#d3deca6e;box-shadow:inset 0 0 0 7px #b7cbb30b,inset 0 0 0 8px #a3b7a532,0 0 46px #d4e0c915}
:root[data-theme="dark"] .rarity-dialog:not([data-rarity="SR"]):not([data-rarity="UR"]){--ink:#dfe4d9;--muted:#aab8aa;--accent:#c2d4c1;background:linear-gradient(140deg,#313c35,#29322c);border-color:#becbbd3d}
:root[data-theme="dark"] .rarity-dialog:not([data-rarity="SR"]):not([data-rarity="UR"]) .draw-bottom{background:linear-gradient(transparent,#29332c 13px)}
:root[data-theme="dark"] .rarity-dialog:not([data-rarity="SR"]):not([data-rarity="UR"]) .primary-button{color:#d8e4d5;background:#c2d6bf17;border-color:#c2d1bd40}

@media(max-width:740px){.rarity-dialog{padding:12px 16px 15px;max-height:calc(100dvh - 20px)}.draw-dialog-header h2{font-size:15px}.draw-track{margin:5px 0 10px;gap:4px}.draw-stage{width:min(100%,310px,calc((100dvh - 304px)*5/7));margin:0 auto}.draw-phase-label{margin-top:12px;font-size:9px}.draw-result-copy{min-height:46px}.draw-result-title h3{font-size:18px}.draw-result-copy p{font-size:9px}.draw-bottom{bottom:-15px;padding-top:9px;gap:5px 10px}.batch-results{gap:13px 9px;margin-top:12px}.batch-tile{padding:4px 4px 8px}.batch-name{font-size:10px}.batch-rarity{font-size:17px;margin:8px 0 4px}.entry-arch{width:min(54vw,240px)}.entry-planet{width:min(80vw,370px)}.entry-copy{top:68%}.entry-actions{bottom:max(37px,env(safe-area-inset-bottom))}}
@media(max-width:355px){.rarity-dialog{padding-inline:12px}.draw-track{gap:3px}.draw-track li{font-size:7px;min-height:33px}.draw-track li strong{font-size:9px}.draw-bottom{gap:4px 8px}.draw-bottom .text-button{font-size:9px}.draw-bottom .primary-button{min-width:82px;padding-inline:12px;font-size:10px}.draw-bottom>span{font-size:10px}.batch-results{gap:12px 7px}.batch-name{font-size:9px;letter-spacing:0}.batch-rarity{font-size:16px}.entry-copy h1{font-size:25px}}
@media(max-height:600px){.draw-stage{width:min(100%,230px,calc((100dvh - 245px)*5/7))}.draw-track{margin-block:2px 7px}.draw-track li{min-height:27px;gap:2px}.draw-dialog-header{min-height:30px}.draw-phase-label{margin-top:9px}.draw-result-copy{min-height:37px;margin-top:3px}.draw-result-title h3{font-size:16px}.draw-result-copy p{margin-top:2px}.draw-bottom{margin-top:7px;padding-top:7px}.entry-arch{top:43%;width:min(26vw,160px)}.entry-planet{top:42%;width:min(36vw,240px)}.entry-copy{top:auto;bottom:66px}.entry-copy h1{font-size:23px;margin:4px 0 0}.entry-kicker{font-size:6px}.entry-copy p{font-size:10px}.entry-actions{bottom:16px;gap:20px}#entry-enter,#entry-skip{min-height:34px}}
@media(max-height:600px) and (min-width:600px){.museum-entry .entry-arch{left:32%;top:48%;width:160px}.museum-entry .entry-planet{left:32%;top:47%;width:250px}.museum-entry .entry-copy{top:34%;bottom:auto;left:49%;right:9%}.museum-entry .entry-actions{left:49%;right:9%;bottom:24%;gap:17px}}
@media(prefers-reduced-motion:reduce){.museum-entry *,.museum-entry:before,.museum-entry:after,.draw-stage *{animation:none!important;transition:none!important}.museum-entry[data-phase="leaving"]{animation:none;opacity:0}.entry-sky i,.draw-fx .fx-rays,.draw-fx .fx-star,.draw-fx .fx-ring,.draw-fx .fx-gem{display:none}.entry-arch,.entry-planet{opacity:1}.entry-copy,.entry-actions{opacity:1;translate:none}.draw-stage[data-phase="charging"] .fx-aura{opacity:.25;transform:none}.draw-stage[data-phase="revealed"] .fx-aura{opacity:.15;transform:none}.draw-stage[data-phase="revealed"] .draw-card-frame{opacity:1;transform:none}.draw-stage[data-phase="opening"] .wish-letter{opacity:1;transform:none}}
@media(forced-colors:active){.museum-entry,.rarity-dialog{background:Canvas!important;color:CanvasText!important;border:1px solid CanvasText}.museum-entry:before,.entry-sky,.draw-fx{display:none}.entry-copy h1,.entry-copy p,.entry-kicker,.draw-phase-label,.draw-result-copy p,.rarity-pill,.batch-name,.batch-rarity,.draw-bottom>span,#batch-total{color:CanvasText!important}.entry-arch{border-color:CanvasText;box-shadow:none}.draw-track li,.batch-tile,#entry-enter,.draw-bottom .primary-button{border:1px solid ButtonText!important;color:ButtonText!important}.draw-bottom{background:Canvas!important}}

/* Explicit art previews never write a collection record. */
.effect-preview{margin-top:15px;border-top:1px solid var(--rule);padding-top:12px;font:10px/1.8 var(--ui);color:var(--muted)}
.effect-preview p{font-size:9px;margin:8px 0 0}.effect-preview-options{display:flex;gap:9px;margin-top:12px}.effect-preview-options button{min-height:40px;min-width:46px;border:1px solid var(--rule);border-radius:8px;font:italic 17px/1 Didot,serif;background:#ffffff25}.effect-preview-options button[data-effect-preview="SR"]{color:#9d7eb8}.effect-preview-options button[data-effect-preview="UR"]{color:#ae8b4d}.effect-preview-options button:hover{background:#ffffff60;border-color:var(--accent)}
.page-footer{align-items:center;flex-wrap:wrap}.page-footer #replay-arrival{min-height:24px;font-size:8px;letter-spacing:1px}.draw-stage:focus-visible{outline:1px solid var(--reveal-edge);outline-offset:7px;border-radius:8px}
@media(forced-colors:active){.effect-preview-options button{color:ButtonText!important;background:ButtonFace;border:1px solid ButtonText}}
/* The burst starts at the card edge so the opaque print cannot hide it. */
.entry-actions{animation:none}
.fx-star{left:var(--sx,50%);top:var(--sy,50%);transform:translate(-50%,-50%) scale(.2)}
@keyframes museum-star-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) scale(.2)}18%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) scale(1.2)}58%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--dx,0px)),calc(-50% + var(--dy,0px))) rotate(var(--angle)) scale(.4)}}
.draw-stage[data-phase="revealed"][data-rarity="UR"] .draw-card-frame:after{content:"";position:absolute;inset:-2px;border:1px solid #fff3c7;border-radius:12px;pointer-events:none;z-index:3;box-shadow:0 0 13px 3px #fff4c4b3,0 0 35px #d8b9e59c;animation:ur-edge-light 2.15s ease-out both}
@keyframes ur-edge-light{0%{opacity:0}17%{opacity:1}50%{opacity:.8}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.draw-stage[data-phase="revealed"][data-rarity="UR"] .draw-card-frame:after{animation:none;opacity:.35;box-shadow:0 0 10px #e9ce8b33}}
/* Static review and an explicit animation skip must stay static. */
.draw-stage[data-animate="false"] .draw-fx{display:none}
.draw-stage[data-phase="revealed"][data-animate="false"] .draw-card-frame{animation:none;opacity:1;transform:none}
.draw-stage[data-phase="revealed"][data-animate="false"] .draw-card-frame:after{animation:none;opacity:.24;box-shadow:0 0 10px #e9ce8b33}
.draw-dialog-header .close-button{flex-basis:44px;width:44px;min-height:44px}
.draw-bottom .primary-button,.draw-bottom .text-button,#entry-enter,#entry-skip{min-height:44px}
@media(max-height:500px) and (min-width:600px){
 .rarity-dialog[data-mode="reveal"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:26px;width:min(680px,calc(100% - 28px));padding:12px 20px 14px}
 .rarity-dialog[data-mode="reveal"] .draw-dialog-header{grid-column:1/-1;grid-row:1}
 .rarity-dialog[data-mode="reveal"] .draw-track{grid-column:1/-1;grid-row:2;margin:0 0 5px}
 .rarity-dialog[data-mode="reveal"] .draw-stage{grid-column:1;grid-row:3/6;width:min(220px,calc((100dvh - 145px)*5/7));align-self:center;justify-self:center}
 .rarity-dialog[data-mode="reveal"] .draw-phase-label{grid-column:2;grid-row:3;align-self:end;margin:0 0 10px}
 .rarity-dialog[data-mode="reveal"] .draw-result-copy{grid-column:2;grid-row:4;align-self:start;margin:0;min-height:0}
 .rarity-dialog[data-mode="reveal"] .draw-bottom{grid-column:2;grid-row:5;position:relative;bottom:0;align-self:end;margin-top:15px;padding-top:0;background:none}
 .rarity-dialog[data-mode="summary"] .batch-tile .art-slot{max-width:110px;margin:auto}
 .rarity-dialog[data-mode="summary"] .batch-results{margin-top:5px}
}
