*{box-sizing:border-box} :root{color-scheme:dark;font-family:"Microsoft JhengHei","Microsoft YaHei",sans-serif;background:#131210;color:#e1d9ca}body{margin:0}button,input,select{font:inherit}button,select{color:#e1d9ca;background:#28251f;border:1px solid #514737;border-radius:3px}button{cursor:pointer;padding:9px 13px;transition:background .15s,border-color .15s}button:hover{background:#393226;border-color:#aa9061}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #d6b880;outline-offset:3px}button:disabled{opacity:.4;cursor:default}header{max-width:1110px;margin:0 auto;padding:26px 10px 22px;display:flex;justify-content:space-between;align-items:center;font-size:14px;letter-spacing:2px}header>div{display:flex;align-items:center;gap:18px}.wordmark{font:26px Georgia,serif;letter-spacing:5px;color:#c7ad79}.edition{font-size:11px;color:#958d7e;letter-spacing:1px}main{max-width:1110px;display:grid;grid-template-columns:minmax(0,760px) minmax(240px,1fr);gap:24px;margin:auto;padding:0 10px 30px}.play-area{min-width:0}#viewport{width:100%;aspect-ratio:760/680;position:relative;box-shadow:0 12px 45px #0008;border:1px solid #5e513d;overflow:hidden}#stage{width:760px;height:680px;position:absolute;left:0;top:0;transform-origin:top left;overflow:hidden;background:#c8c5bf}#background{position:absolute;width:760px;height:680px;inset:0;pointer-events:none}.game-title{position:absolute;top:3px;left:15px;color:#fff;font:bold 20px Georgia,serif;text-shadow:0 1px 2px #000}.game-title small{font:12px "Microsoft JhengHei",sans-serif;color:#222;margin-left:12px;text-shadow:0 0 3px white}#caption{position:absolute;left:140px;top:47px;width:595px;height:77px;padding:0;margin:0;color:#252323;font-size:16px;line-height:1.75;white-space:pre-line}.draw-button{position:absolute;top:326px;width:90px;height:124px;padding:0;background:transparent!important;border:0;border-radius:0}.draw-button:hover,.draw-button:focus-visible{box-shadow:0 0 12px #edd8a2a6;outline:1px solid #e3d2ae}.gold{left:214px}.silver{left:334px}.bronze{left:454px}#tickets{position:absolute;left:91px;top:611px;min-width:48px;color:#211e18;text-shadow:0 0 2px white;font:bold 15px Georgia,serif}#enter{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#100d0be8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px}#enter strong{font:32px Georgia,"Microsoft JhengHei",serif;letter-spacing:8px;color:#d7c29b}#enter span{font-size:13px;color:#b6aa93}#enter[hidden]{display:none}#skip{position:absolute;bottom:28px;right:24px;padding:5px 12px;font-size:12px}#cards{position:absolute;inset:0;pointer-events:none}.card{width:168px;height:240px;position:relative;color:#191a16;font-family:"Microsoft JhengHei",sans-serif;overflow:hidden;flex-shrink:0}.card img{position:absolute;pointer-events:none}.card .face,.card .frame,.card .over{inset:0;width:168px;height:240px}.card .item-art{left:-17px;top:0;width:200px;height:200px}.card .part-art{left:28px;top:55px;width:128px;height:128px}.card .name{position:absolute;top:10px;left:30px;width:133px;text-align:center;font-size:12px;font-weight:bold;line-height:16px;text-shadow:0 0 2px #fff}.card .level{position:absolute;top:9px;left:9px;font-size:14px;font-weight:bold;text-shadow:0 0 2px white}.card .stats{position:absolute;top:214px;left:18px;width:126px;display:flex;justify-content:space-between;font: bold 17px Georgia,serif;text-shadow:0 0 2px #fff}.card .description{position:absolute;top:180px;left:15px;width:140px;font-size:10px;line-height:14px;max-height:54px;overflow:hidden;text-shadow:0 0 2px white}.card.item .name{left:4px;top:6px;width:160px}.card .quantity{position:absolute;right:12px;bottom:22px;font:bold 38px Georgia,serif;color:white;text-shadow:0 0 4px #b60000,1px 1px 1px #a00000}.card .ac{position:absolute;left:84px;top:100px;width:100px;height:100px;transform:translate(-50%,-50%)}.card .ac img{width:100px;height:100px;inset:0}.card .ac .lower{transform:rotate(180deg)}.flying{position:absolute;transform-origin:top left;will-change:transform,opacity;filter:drop-shadow(0 4px 5px #0008)}#preview-strip{position:absolute;left:172px;top:490px;width:550px;height:142px;overflow:hidden;display:flex;gap:12px;pointer-events:none}#preview-strip .mini{width:84px;height:120px;flex-shrink:0;opacity:.85}#preview-strip .card{transform:scale(.5);transform-origin:top left}.game-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:18px 0 5px;font-size:12px;color:#c0b6a3}.game-toolbar label{display:flex;align-items:center;gap:7px}.game-toolbar input[type=range]{width:78px;accent-color:#bd9c63}.game-toolbar input[type=checkbox]{accent-color:#bd9c63}.game-toolbar select{padding:4px}.game-toolbar button{margin-left:auto;padding:6px 10px;font-size:12px}.provenance{font-size:11px;line-height:1.8;color:#8e8679;margin:10px 0}aside{padding:14px 0}h1{font-size:24px;font-weight:500;letter-spacing:3px;margin:0 0 10px}.aside-intro{color:#9b907d;font-size:13px;margin:0 0 25px}.counters{display:flex;justify-content:space-between;border-top:1px solid #383025;border-bottom:1px solid #383025;padding:20px 0;gap:12px}.counters dt{font-size:11px;color:#9b907d}.counters dd{margin:8px 0 0;font:23px Georgia,serif;color:#dfcaa2}.last-result{min-height:65px;margin:22px 0;color:#d4c5a8;font-size:14px;line-height:1.6}.actions{display:grid;gap:8px;grid-template-columns:1fr 1fr}.actions button{font-size:12px;padding:10px 7px}.actions button:first-child{grid-column:1/-1}.settings{font-size:12px;border-top:1px solid #383025;margin-top:24px;padding-top:17px}.settings summary{cursor:pointer;color:#ab9b82}.settings label{display:grid;gap:9px;margin:15px 0}.settings select{max-width:100%;font-size:11px;padding:6px}.settings p{font-size:11px;line-height:1.8;color:#9b907d}.about-link{margin-top:21px;background:none;border:0;padding:0;color:#a9977b;font-size:12px}#status{font-size:11px;color:#9b907d;line-height:1.7}dialog{width:min(920px,94vw);max-height:88vh;background:#1d1b17;color:#e1d9ca;border:1px solid #7a6648;border-radius:5px;padding:22px;box-shadow:0 25px 100px #000b}dialog::backdrop{background:#000b}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.dialog-top h2{margin:0;font-size:21px;font-weight:500}.dialog-top button{font-size:24px;padding:0 10px}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button.active{background:#655338;color:#fff}.pool-note{font-size:12px;color:#b7a88e;line-height:1.8}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:20px 14px}.gallery-item{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12px;text-align:center}.gallery-item .card-wrap{width:134px;height:192px}.gallery-item .card{transform:scale(.8);transform-origin:top left}.gallery-item .prob{color:#ccb27c;font-family:Georgia,serif}.history-table{width:100%;border-collapse:collapse;font-size:13px}.history-table td,.history-table th{padding:12px 8px;text-align:left;border-bottom:1px solid #393127}.history-table th{color:#ac9879;font-weight:400}.empty{padding:40px;text-align:center;color:#9d917a}.about{font-size:14px;line-height:1.9}.about a{color:#d8bb83}.about li{margin:8px 0}#viewport:fullscreen{background:#111;width:100vw;height:100vh;aspect-ratio:auto;border:0}#viewport:fullscreen #stage{left:50%;top:50%;transform-origin:center center}@media(max-width:900px){header{padding:18px 12px}.edition{display:none}main{grid-template-columns:minmax(0,760px);justify-content:center;gap:5px}aside{border-top:1px solid #383025;padding-top:20px}.counters{max-width:440px}.actions{grid-template-columns:repeat(4,1fr)}.actions button:first-child{grid-column:auto}.settings .actions{grid-template-columns:1fr 1fr}h1{font-size:19px}.aside-intro{margin-bottom:12px}.game-toolbar{gap:10px}.last-result{min-height:0;margin:15px 0}}
/* Revive uses the same 760-wide art, with a 656-high playfield. */
[hidden]{display:none!important}
header,main{max-width:1220px}main{grid-template-columns:minmax(0,950px) minmax(220px,1fr);gap:22px}header{padding:18px 10px}
#viewport{aspect-ratio:760/656}#stage{height:656px}#background{height:656px}
.game-title{top:0;left:0;width:100%;height:32px;padding:2px 7px;background:repeating-linear-gradient(90deg,#263034 0 23px,#202a2d 23px 46px);border-bottom:2px solid #0c1010;color:#eee;font:bold 26px Georgia,serif;letter-spacing:-1px;text-shadow:2px 2px #000}
#caption{left:120px;top:58px;width:620px;height:66px;font-size:16px;line-height:1.35}
#probability-panel{position:absolute;left:192px;top:136px;width:376px;height:168px;pointer-events:none}
.draw-button{top:312px;width:90px;height:124px;background-repeat:no-repeat!important;background-size:100% 100%!important}
.draw-button.gold{left:196px;background-image:url('assets/ui/draw-gold.svg')!important}.draw-button.silver{left:336px;background-image:url('assets/ui/draw-silver.svg')!important}.draw-button.bronze{left:476px;background-image:url('assets/ui/draw-bronze.svg')!important}
.draw-button:hover,.draw-button:focus-visible{outline:1px solid white;border-radius:3px;box-shadow:0 0 5px #fff7}
#scene-options{position:absolute;left:684px;top:400px;display:grid;gap:1px;color:#eee;font:14px 'Microsoft JhengHei',sans-serif;white-space:nowrap}
#scene-options label{display:flex;align-items:center;gap:3px;cursor:pointer}#scene-options input{margin:0;accent-color:#519bd6;width:13px;height:13px}
#ticket-stock{position:absolute;left:0;bottom:0;width:120px;height:51px;z-index:6;pointer-events:none}#ticket-stock img{width:120px;height:51px}#tickets{left:81px;top:24px;font-size:15px;min-width:30px}
#pool-browser{position:absolute;top:472px;left:0;width:760px;height:184px}
#preview-strip{inset:0 0 14px;width:760px;height:170px;display:flex;gap:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;pointer-events:auto;overscroll-behavior:contain;padding:2px 47px 0}
#preview-strip::-webkit-scrollbar{display:none}.pool-group{display:flex;position:relative;border-top:1px solid var(--tier);height:168px;flex-shrink:0;gap:1px;padding-top:0;margin-right:1px}
.pool-group::before{content:attr(data-prob);position:absolute;left:2px;top:0;z-index:2;padding:0 3px;color:var(--tier);background:#181612d9;font:bold 11px Georgia,serif;pointer-events:none}
.pool-entry{position:relative;border:1px solid var(--tier);width:117.6px;height:168px;flex-shrink:0;padding:0;background:none;border-radius:0;overflow:hidden}.pool-entry:hover{background:none;filter:brightness(1.12);border-color:var(--tier)}
.pool-entry .card{transform:scale(.69);transform-origin:top left}.pool-arrow{position:absolute;top:53px;width:62px;height:73px;border:0;padding:0;background:radial-gradient(ellipse,#17180deb,transparent 68%);color:#c3be82;text-shadow:0 0 3px #000;font:36px Georgia,serif;z-index:5}.pool-arrow:before,.pool-arrow:after{content:'❧';position:absolute;font-size:35px;left:16px;color:#aca976;text-shadow:1px 1px #000}.pool-arrow:before{top:-6px}.pool-arrow:after{bottom:-6px;transform:scaleY(-1)}.pool-arrow:hover{background:radial-gradient(ellipse,#211f0def,transparent 70%);color:#fff0bc}#pool-left{left:0}#pool-right{right:0}
#pool-scroll{position:absolute;bottom:1px;left:120px;width:590px;height:11px;margin:0;accent-color:#7298c2;cursor:ew-resize}
.card .full-card{inset:0;width:168px;height:240px;object-fit:fill}.card .remote-item{left:15px;top:37px;width:138px;height:138px;object-fit:contain}.card .part-art{left:18px;top:38px;width:132px;height:132px;object-fit:contain;background:#969694}
.card.item .name{left:5px;top:8px;width:158px;font-size:11px;line-height:15px;color:white;text-shadow:1px 1px #000,-1px -1px #000,1px -1px #000,-1px 1px #000}
.card.item .description{left:11px;top:190px;width:146px;font-size:10px;line-height:1.3;text-align:center;color:white;text-shadow:1px 1px #000,-1px -1px #000;max-height:44px;overflow:hidden}
.card .event-color{position:absolute;left:18px;top:37px;width:132px;height:132px;border-radius:5px}.card .event-art{inset:0;width:168px;height:240px}.card .event-label{position:absolute;left:0;top:154px;width:168px;text-align:center;color:#dfdfdc;font:bold 18px Georgia,serif;letter-spacing:-1px;text-shadow:1px 2px #000,-1px -1px #444}.card .quantity{right:9px;bottom:61px;top:auto;color:white;text-shadow:1px 1px #000;font:bold 15px Georgia}
#stage.drawing #probability-panel,#stage.drawing #scene-options,#stage.drawing #draw-buttons{visibility:hidden}
#ten-cards{position:absolute;left:169px;top:150px;width:506px;display:grid;grid-template-columns:repeat(5,92.4px);gap:24px 10px;z-index:7;perspective:1000px}
.flip-card{position:relative;width:92.4px;height:132px;border:0;background:none!important;border-radius:2px;padding:0;perspective:800px}
.flip-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.65,.2,1)}.flip-card.revealed .flip-inner{transform:rotateY(180deg)}
.flip-front,.flip-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-front{transform:rotateY(180deg)}.flip-front .card{transform:scale(.55);transform-origin:top left}.flip-back img{width:100%;height:100%}
.flip-card.rare-glow:not(.revealed){box-shadow:0 0 9px 2px #ffca4b,0 0 25px 5px #e09d2480;animation:rare-pulse 1.8s ease-in-out infinite}.flip-card.rare-glow:not(.revealed):after{content:'✦';position:absolute;right:-9px;top:12px;color:#fff2aa;text-shadow:0 0 8px gold;animation:rare-spark 1.8s infinite}
.flip-card.revealed{cursor:default}.flip-card:hover:not(.revealed){filter:brightness(1.18)}.flip-label{position:absolute;left:-3px;right:-3px;top:134px;font-size:9px;color:#f4e5c7;text-align:center;line-height:12px;text-shadow:1px 1px #000}
@keyframes rare-pulse{50%{box-shadow:0 0 15px 4px #ffde69,0 0 28px 7px #e09d2480}}@keyframes rare-spark{50%{opacity:.2;transform:scale(.6)}}
#batch-done{position:absolute;top:451px;left:335px;padding:4px 12px;font-size:11px;z-index:8}#skip{z-index:8}#cards{z-index:7}#enter{z-index:20}
.reward-detail{display:flex;gap:28px;align-items:center;justify-content:center;min-height:275px}.reward-detail .card{box-shadow:0 4px 20px #0009}.reward-detail p{max-width:360px;line-height:1.8;color:#c2b69e}
@media(max-width:1050px){main{grid-template-columns:minmax(0,950px)}aside{border-top:1px solid #383025;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}aside h1,aside .aside-intro{display:none}.counters{margin:0;padding:10px 0}.last-result{margin:0}.settings{margin:0}.about-link{text-align:left;margin:0}.actions{grid-template-columns:1fr 1fr}.actions button:first-child{grid-column:1/-1}}
@media(max-width:560px){aside{display:block}.actions,.counters{margin-bottom:16px}.last-result{margin:12px 0}.reward-detail{flex-direction:column}header{padding:12px 10px}}
#preview-strip .card{transform:scale(.69)}.card .event-art{clip-path:inset(24% 31% 36% 31%)}
.pool-arrow{font-size:0;background:linear-gradient(90deg,#211c18dc,transparent)!important;height:64px;top:54px}.pool-arrow:before{content:"";inset:4px 0;background:url('assets/ui/arrow.svg') center/62px 54px no-repeat}.pool-arrow:after{content:none}#pool-left:before{transform:scaleX(-1)}#pool-right{background:linear-gradient(270deg,#211c18dc,transparent)!important}.pool-arrow:hover{filter:brightness(1.4)}
#stage.drawing #scene-options{visibility:visible}.flip-card:not(.revealed) .flip-front{visibility:hidden}
#pool-left:before{transform:none}#pool-right:before{transform:scaleX(-1)}
#pool-scroll{-webkit-appearance:none;appearance:none;background:#c6c5bd;border-radius:0;height:10px;border:1px solid #666e62}#pool-scroll::-webkit-slider-thumb{-webkit-appearance:none;width:31px;height:8px;border-radius:2px;background:#6385b4;border:1px solid #98afc5}#pool-scroll::-moz-range-thumb{width:31px;height:8px;border-radius:2px;background:#6385b4;border:1px solid #98afc5}
