/* Candidate-only scope. No global selectors, network fonts, inline style sheets, or data URLs. */
dialog.tosRevealDialog{--tos-grade:#77808F;position:fixed;inset:0;width:min(920px,calc(100vw - 48px));max-width:calc(100vw - 48px);height:fit-content;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #b294555c;border-radius:18px;background:radial-gradient(ellipse at 30% 20%,#1a2b20,#0a110e 70%);color:#f1ebdb;overflow:auto;overscroll-behavior:contain;scroll-padding-block-start:76px;box-shadow:0 28px 100px #000a,0 0 0 4px #c6a65708;font:13px/1.5 system-ui,'Microsoft JhengHei',sans-serif;color-scheme:dark;}
dialog.tosRevealDialog[open]{display:block}.tosRevealDialog::backdrop{background:#020805c9;backdrop-filter:blur(5px)}
.tosRevealDialog *,.tosRevealDialog *:before,.tosRevealDialog *:after{box-sizing:border-box}
.tosRevealDialog button{min-height:44px;padding:11px 17px;border:1px solid #ffffff25;border-radius:8px;background:#c9b1700b;color:#e5eaf1;font:inherit;font-size:12px;cursor:pointer}
.tosRevealDialog button:disabled{opacity:.4;cursor:default}.tosRevealDialog button:focus-visible{outline:2px solid #ead399;outline-offset:3px}
.tosRevealDialog .tosHeader{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px;padding:16px max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left));background:#0e1812f5;border-bottom:1px solid #b99a5933}
.tosRevealDialog .tosHeader>div>span{font-size:8px;letter-spacing:2px;color:#84919e}.tosRevealDialog h2{font-size:20px;line-height:1.4;margin:6px 0 0;letter-spacing:1px}
.tosRevealDialog .tosClose{width:44px;height:44px;min-width:44px;padding:0;font-size:27px;border:0;background:transparent;color:#a9b1bb}
.tosRevealDialog .tosLayout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.9fr);width:min(1080px,100%);margin:0 auto;align-items:start;min-height:0}
.tosRevealDialog .tosMain{min-width:0;padding:18px 24px 26px;background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--tos-grade) 6%,transparent),transparent 65%)}
.tosRevealDialog .tosStep{display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#929caa;letter-spacing:1px;padding-bottom:12px}
.tosRevealDialog .tosStage{--tos-pull:0;--tos-light:0;--tos-rays:0;--tos-core:0;--tos-black:0;--tos-result:0;--tos-summary:0;position:relative;isolation:isolate;height:clamp(280px,calc(100dvh - 270px),440px);width:auto;aspect-ratio:6/7;max-width:100%;margin:auto;overflow:hidden;border:1px solid #bfa36640;border-radius:12px;background:#091a11;box-shadow:inset 0 0 60px #0007,0 12px 35px #0005}
.tosRevealDialog .tosStage svg{display:block;pointer-events:none}.tosRevealDialog .tosScene,.tosRevealDialog .tosMachine,.tosRevealDialog .tosHardware{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.tosRevealDialog .tosScene{z-index:0}.tosRevealDialog .tosMachine{z-index:1}.tosRevealDialog .tosHardware{z-index:6}
.tosRevealDialog .tosFeed{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:visible}
.tosRevealDialog .tosCard{position:absolute;left:32%;top:0;width:36%;aspect-ratio:2/3;transform-origin:50% 0%;overflow:hidden;will-change:transform,opacity;pointer-events:none}
.tosRevealDialog .tosCardArt{display:block;width:100%;height:100%;filter:none}
.tosRevealDialog .tosBacklight{position:absolute;z-index:3;left:0;top:24%;width:100%;aspect-ratio:1;background:radial-gradient(ellipse,color-mix(in srgb,var(--tos-grade) 76%,transparent),color-mix(in srgb,var(--tos-grade) 20%,transparent) 28%,transparent 66%);opacity:var(--tos-light);transform:translateY(calc(var(--tos-pull)*38%));mix-blend-mode:screen;pointer-events:none}
.tosRevealDialog .tosRays{position:absolute;z-index:7;inset:-10%;opacity:var(--tos-rays);pointer-events:none;mix-blend-mode:screen;background:linear-gradient(60deg,transparent 20%,color-mix(in srgb,var(--tos-grade) 60%,white) 20.15%,transparent 20.7%),linear-gradient(116deg,transparent 22%,color-mix(in srgb,var(--tos-grade) 70%,white) 22.2%,transparent 22.7%),linear-gradient(67deg,transparent 66%,color-mix(in srgb,var(--tos-grade) 80%,white) 66.1%,transparent 66.5%),linear-gradient(106deg,transparent 76%,color-mix(in srgb,var(--tos-grade) 70%,white) 76.25%,transparent 76.65%);mask-image:radial-gradient(ellipse,transparent 15%,#0009 50%,transparent 78%)}
.tosRevealDialog .tosCrest{position:absolute;z-index:8;width:56%;aspect-ratio:1;left:22%;top:35.4%;border-radius:50%;opacity:var(--tos-core);background:radial-gradient(circle,color-mix(in srgb,var(--tos-grade) 18%,white),color-mix(in srgb,var(--tos-grade) 40%,white) 44%,color-mix(in srgb,var(--tos-grade) 68%,transparent) 61%,transparent 73%);mix-blend-mode:screen;pointer-events:none;transform:scale(calc(.62 + var(--tos-core)*.5))}
.tosRevealDialog .tosDust{position:absolute;inset:0;z-index:7;opacity:var(--tos-rays);pointer-events:none;overflow:hidden}
.tosRevealDialog .tosDust b{position:absolute;left:calc(5% + var(--i)*8%);top:calc(70% + mod(var(--i),4)*6%);width:calc(2px + mod(var(--i),3)*1px);height:calc(2px + mod(var(--i),3)*1px);border-radius:50%;background:var(--tos-grade);box-shadow:0 0 9px 2px color-mix(in srgb,var(--tos-grade) 75%,transparent)}
.tosRevealDialog .tosStage[data-phase=charging] .tosDust b{animation:tos-reveal-dust 1.9s linear infinite;animation-delay:calc(var(--i)*-.13s)}
@keyframes tos-reveal-dust{from{translate:0 30px;opacity:0}30%{opacity:.8}to{translate:10px -60px;opacity:0}}
.tosRevealDialog .tosBlack{position:absolute;inset:0;z-index:10;pointer-events:none;background:#000;opacity:var(--tos-black)}
.tosRevealDialog .tosResultScreen{position:absolute;inset:0;z-index:12;background:radial-gradient(ellipse at 50% 47%,color-mix(in srgb,var(--tos-grade) 8%,#10202a),#0b111a 48%,#070b11);opacity:var(--tos-result);pointer-events:none}
.tosRevealDialog .tosResultScreen:before{content:'';position:absolute;inset:5% 6%;border:1px solid #7f91a026;clip-path:polygon(0 0,100% 0,100% 94%,50% 100%,0 94%)}
.tosRevealDialog .tosOrbit{position:absolute;width:80%;aspect-ratio:1;left:10%;top:27%;border:1px solid color-mix(in srgb,var(--tos-grade) 15%,transparent);border-radius:50%;box-shadow:0 0 0 10px #abb9c404,0 0 0 22px #abb9c403,inset 0 0 0 11px #abb9c405}
.tosRevealDialog .tosIcon{position:absolute;width:21%;aspect-ratio:1;left:39.5%;top:44%;perspective:700px}
.tosRevealDialog .tosIcon:before{content:'';position:absolute;inset:-60%;background:radial-gradient(circle,color-mix(in srgb,var(--tos-grade) 25%,transparent),transparent 70%);pointer-events:none}
.tosRevealDialog .tosIconRotator{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.tosRevealDialog .tosIconBack,.tosRevealDialog .tosIconFace{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;border:1px solid var(--tos-grade);background:#101722;box-shadow:0 0 20px color-mix(in srgb,var(--tos-grade) 20%,transparent)}
.tosRevealDialog .tosIconFace{transform:rotateY(180deg);display:flex;align-items:center;justify-content:center;padding:4px}
.tosRevealDialog .tosIconFace>img{width:100%;height:100%;object-fit:contain;filter:none;mix-blend-mode:normal;background:none}
.tosRevealDialog .tosProductSummary{position:absolute;left:6%;right:6%;top:62%;text-align:center;opacity:var(--tos-summary)}
.tosRevealDialog .tosProductSummary>span{font-size:11px;color:var(--tos-grade);letter-spacing:1px}.tosRevealDialog .tosProductSummary h3{font-size:15px;line-height:1.6;margin:9px 0;overflow-wrap:anywhere}.tosRevealDialog .tosProductSummary small{font-size:9px;color:#95a0b1}
.tosRevealDialog .tosStatus{min-height:42px;padding-top:13px;text-align:center;font-size:11px;line-height:1.8;color:#bac3cd}
.tosRevealDialog .tosActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.tosRevealDialog .tosActions>button{flex:1;min-width:110px;max-width:250px}
.tosRevealDialog .tosPrimary{background:#d7bd80;color:#142016;border-color:#e4d09f;font-weight:600}
.tosRevealDialog .tosResults{min-width:0;padding:25px 22px;border-left:1px solid #ffffff10;align-self:stretch;background:#111d1477}
.tosRevealDialog .tosResultsHead{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:15px}.tosRevealDialog .tosResultsHead h3{margin:0;font-size:14px}.tosRevealDialog .tosResultsHead>span{font-size:10px;color:#9ba8ba}
.tosRevealDialog .tosResultList{list-style:none;display:grid;gap:8px;margin:0 0 16px;padding:0;max-height:400px;overflow:auto;overscroll-behavior:contain}
.tosRevealDialog .tosResultRow{min-width:0;border:1px solid #ffffff0d;border-left:2px solid var(--row-grade,#77808F);border-radius:8px;background:#111d1477;overflow:hidden}.tosRevealDialog .tosResultRow.isCurrent{outline:1px solid #aab9d344;outline-offset:-1px}
.tosRevealDialog .tosResultRow>button,.tosRevealDialog .tosResultRow>div{display:flex;align-items:center;gap:11px;width:100%;min-height:76px;margin:0;padding:10px;border:0;border-radius:0;text-align:left;background:transparent;color:#d7dfe9}
.tosRevealDialog .tosResultRow img,.tosRevealDialog .tosPendingIcon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;object-fit:contain;filter:none;background:transparent;mix-blend-mode:normal}
.tosRevealDialog .tosPendingIcon{font-size:26px;color:#62728b}.tosRevealDialog .tosResultRow>button>span,.tosRevealDialog .tosResultRow>div>span:last-child{min-width:0;flex:1}
.tosRevealDialog .tosResultRow small{display:block;font-size:9px;line-height:1.5;color:var(--row-grade,#77808F)}.tosRevealDialog .tosResultRow strong{display:block;margin-top:5px;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.tosRevealDialog .tosResultRow b{font-size:12px;color:#afc2d8}
.tosRevealDialog .tosAll{width:100%}.tosRevealDialog .tosRevisit{font-size:10px;color:#a0abba;margin:14px 0}.tosRevealDialog .tosNote{font-size:10px;color:#7e8da2;line-height:1.8}.tosRevealDialog .tosRights{font-size:9px;color:#69788c;line-height:1.8;border-top:1px solid #ffffff0c;padding-top:15px;margin-top:18px}
.tosRevealDialog .tosImageMissing{font-size:8px;color:#8291a5}.tosRevealDialog .tosBrokenImage:after{content:'◇';color:#8291a5;font-size:22px}
.tosRevealDialog .tosEmpty{padding:30px}.tosRevealDialog .tosEmpty button{margin-top:20px}
@media(max-width:700px){.tosRevealDialog .tosHeader{min-height:72px;padding:12px 16px}.tosRevealDialog h2{font-size:17px}.tosRevealDialog .tosLayout{grid-template-columns:1fr;min-height:0}.tosRevealDialog .tosMain{padding:15px 16px 22px}.tosRevealDialog .tosStage{height:clamp(270px,calc(100dvh * .41),380px)}.tosRevealDialog .tosStep{font-size:9px}.tosRevealDialog .tosResults{padding:20px 16px;border-left:0;border-top:1px solid #ffffff10}.tosRevealDialog .tosResultList{max-height:180px}.tosRevealDialog .tosProductSummary h3{font-size:13px}.tosRevealDialog .tosStatus{font-size:10px}}
@media(prefers-reduced-motion:reduce){.tosRevealDialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.tosRevealDialog .tosDust{display:none}}

.tosRevealDialog .tosCardReady{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;pointer-events:none;filter:none}

/* Keep the whole 2:3 user artwork inside the small square flip viewport; no opaque letterbox. */
.tosRevealDialog .tosIconBack{background:none;border:0;box-shadow:none;filter:none}

/* Enlarge only the revealed prize, after the small card-back has finished flipping. */
.tosRevealDialog .tosIcon{transform-origin:50% 50%;transition:transform .22s ease-out}
.tosRevealDialog .tosStage[data-phase=result] .tosIcon{transform:scale(1.6)}

/* A full-stage native button, separate from every modal/result control. */
.tosRevealDialog .tosStageTrigger{position:absolute;inset:0;z-index:20;width:100%;height:100%;margin:0;padding:0;min-height:0;max-width:none;border:0;border-radius:inherit;background:transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.tosRevealDialog .tosStageTrigger[aria-disabled=true]{cursor:default}
.tosRevealDialog .tosStageTrigger:focus-visible{outline:2px solid #e5cf91;outline-offset:-6px}
.tosRevealDialog .tosStage:is([data-phase=pulling],[data-phase=exiting]) .tosFeed{clip-path:inset(44.8% 0 0)}
.tosRevealDialog .tosStatus{min-height:46px;color:#c6bb9f}
.tosRevealDialog .tosResultScreen{background:radial-gradient(ellipse at 50% 44%,color-mix(in srgb,var(--tos-grade) 13%,#182c20),#0b170f 62%,#07100b)}
.tosRevealDialog .tosProductSummary{top:68%}
.tosRevealDialog .tosIcon{width:25%;left:37.5%;top:36%}
.tosRevealDialog .tosRights{color:#9e967e;font-size:9px}
@media(max-width:700px){dialog.tosRevealDialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:14px}.tosRevealDialog .tosHeader{min-height:66px;padding:10px 16px}.tosRevealDialog .tosMain{padding:12px 14px 16px}.tosRevealDialog .tosResults{padding:16px 14px}.tosRevealDialog .tosNote{margin-block:8px}.tosRevealDialog .tosRights{margin-top:10px;padding-top:10px}.tosRevealDialog .tosResultRow>button,.tosRevealDialog .tosResultRow>div{min-height:64px}.tosRevealDialog .tosRevisit{margin:9px 0}}
@media(max-height:520px) and (min-width:701px){dialog.tosRevealDialog{max-height:calc(100dvh - 20px)}.tosRevealDialog .tosStage{height:280px}}
.tosRevealDialog button:disabled{opacity:.4;cursor:default}.tosRevealDialog button:focus-visible{outline:2px solid #ead399;outline-offset:3px}.tosRevealDialog .tosStageTrigger:focus-visible{outline-offset:-6px}
