:root{color-scheme:dark;--ink:#fff0ce;--muted:#d2b797;--gold:#f0cf86;--gold-edge:#b17c3b;--red:#8f2018;--deep:#310d17;--panel:#48131b;--error:#ffc2b7;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#210b12;color:var(--ink);font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #ffdc83;outline-offset:3px}a{color:var(--muted)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button{touch-action:manipulation}button:active:not(:disabled){filter:brightness(1.13)}
.app-shell{max-width:520px;min-height:100svh;margin:auto;padding-bottom:calc(134px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#64151d 0,#3b0e17 500px,#280b13);box-shadow:0 0 70px #11040b}.hero{position:relative;min-height:163px;overflow:hidden;background:linear-gradient(90deg,#46101a22,#46101a66),url('/assets/background.jpg') 15% 17%/auto 315px;border-bottom:1px solid #be813f}.hero:after{content:"";position:absolute;inset:90px 0 0;background:linear-gradient(transparent,#51131b)}.hero-inner{position:relative;z-index:2;padding:37px 21px 16px}.hero h1{font-family:STSong,"Songti SC",SimSun,serif;font-size:35px;font-weight:600;letter-spacing:5px;color:#ffe3a0;text-shadow:0 2px 7px #4c0718}.hero-subtitle{margin-top:2px;font-family:STSong,"Songti SC",SimSun,serif;font-size:13px;letter-spacing:2px;color:#f3d799}.hero-mail{font-size:11px;color:#ffe0b0;margin-top:16px;max-width:240px}.hero-character{position:absolute;z-index:1;width:166px;right:-13px;top:-19px;filter:drop-shadow(-10px 6px 10px #25050c66);pointer-events:none}.account-button{position:absolute;right:15px;top:11px;padding:5px 11px;border:1px solid #dbba7360;border-radius:18px;background:#260d1599;font-size:11px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-strip{display:flex;align-items:center;gap:12px;padding:14px 19px 12px;background:#2c0b13a1;border-bottom:1px solid #bd884738}.role-summary{display:flex;flex:1;flex-direction:column;text-align:left;min-width:0;padding:0;border:0;background:none}.role-summary strong{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.role-summary span:last-child{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.muted{color:var(--muted);font-size:11px}.ticket-balance{min-width:67px;text-align:center;border-left:1px solid #c89c4940;padding-left:15px}.ticket-balance span{display:block;font-size:11px;color:var(--muted)}.ticket-balance strong{font-family:Georgia,serif;font-weight:400;line-height:1.1;font-size:29px;color:#ffe29c;font-variant-numeric:tabular-nums}
.turntable{padding:15px 14px 13px;background:radial-gradient(ellipse at 50% 42%,#aa2b22 0,#6e161d 54%,#400f18 100%);position:relative}.turntable:before{content:"";position:absolute;inset:11px 9px;border:1px solid #c38c4833;border-radius:13px;pointer-events:none}.board-heading{display:flex;align-items:center;justify-content:space-between;padding:0 5px 10px}.board-heading h2{font-size:15px;font-family:STSong,"Songti SC",SimSun,serif;font-weight:600;letter-spacing:2px}.text-link{border:0;background:transparent;padding:3px;color:#dabd94;font-size:11px}.prize-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(87px,auto));gap:4px 6px;position:relative}.prize{position:relative;padding:0;border:0;background:transparent;min-width:0;text-align:center;align-self:start;isolation:isolate}.prize-art{position:relative;display:block;width:100%;aspect-ratio:1}.prize-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.prize-icon{position:absolute;width:66%;height:66%;left:17%;top:17%;object-fit:contain;filter:drop-shadow(0 2px 4px #200710)}.prize-fx{position:absolute;inset:-5%;width:110%;height:110%;pointer-events:none}.prize-quantity{position:absolute;right:9%;bottom:15%;font-family:Georgia,serif;font-size:12px;color:#fff7d8;text-shadow:0 1px 3px #000;pointer-events:none}.prize-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.25;min-height:27.5px;color:#fce4bc;overflow-wrap:anywhere}.prize.active .prize-art{filter:drop-shadow(0 0 10px #ffdf81);transform:scale(1.06)}.prize.active:after{content:"";position:absolute;inset:5px 2px 24px;border:2px solid #fff4ac;box-shadow:0 0 14px #ffb62c;border-radius:7px;pointer-events:none}.prize.central{grid-column:2/span 2;grid-row:2/span 2;align-self:center;padding:5px 5px 0}.central .prize-art{width:100%;max-width:178px;margin:auto}.central .prize-icon{width:68%;height:68%;left:16%;top:16%}.central .prize-name{font-size:16px;font-family:STSong,"Songti SC",SimSun,serif;color:#ffe6a4;min-height:auto;margin:4px 0 1px}.central .prize-quantity{font-size:17px}.central .prize-role{display:block;font-size:11px;color:#d5a761;letter-spacing:2px}.prize.broken .prize-art:after{content:"图片加载失败";position:absolute;inset:24% 8%;display:grid;place-items:center;background:#371019db;color:#eccda3;font-size:10px}.pity-strip{display:flex;justify-content:space-between;margin:8px 5px 5px;color:#dbbb92;font-size:11px}.pity-strip strong{font-size:13px;color:#ffde8d;font-weight:500;font-variant-numeric:tabular-nums}progress{display:block;appearance:none;width:calc(100% - 10px);height:4px;border:0;margin:0 5px;background:#260c13;border-radius:4px;overflow:hidden}progress::-webkit-progress-bar{background:#260c13}progress::-webkit-progress-value{background:linear-gradient(90deg,#bb7430,#f3d185)}progress::-moz-progress-bar{background:#d8ac5d}
.activity-actions{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d29b4e38;border-bottom:1px solid #d29b4e38;margin:4px 16px 0}.activity-actions button{padding:13px 1px 11px;border:0;background:none;display:flex;align-items:center;flex-direction:column;gap:4px;font-size:11px;color:#e6cba0}.nav-symbol{font-family:STSong,"Songti SC",SimSun,serif;font-size:18px;color:#f8d490;width:29px;height:29px;border:1px solid #b988414d;border-radius:50%;line-height:26px;background:#9e57341f}.milestone-banner{width:calc(100% - 32px);display:flex;align-items:center;gap:12px;margin:12px 16px 0;padding:12px;border:1px solid #b984403b;border-radius:5px;background:linear-gradient(95deg,#6c241e,#47121b);text-align:left}.milestone-banner>span:first-child{font-family:STSong,"Songti SC",SimSun,serif;color:#edcd88;font-size:15px}.milestone-banner strong{flex:1;font-size:11px;color:#d6b78d;font-weight:400}.milestone-banner>span:last-child{font-size:22px;color:#d1a65e}.player-reminder{text-align:center;margin:15px 16px 9px;color:#ba967c;font-size:10px;line-height:1.7}.page-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 13px;padding:6px 15px;color:#b7997e}.page-footer a{font-size:10px;text-decoration:none;color:#a58672}.page-footer .text-link{font-size:10px;color:#b7997e}.draw-bar{position:fixed;z-index:10;bottom:0;width:100%;max-width:520px;padding:9px 15px calc(13px + env(safe-area-inset-bottom));background:linear-gradient(#42131cf5,#280c15);border-top:1px solid #ac7b39;box-shadow:0 -8px 20px #19060e50;backdrop-filter:blur(12px)}.skip-toggle{display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:8px;color:#cba87e;font-size:10px}.skip-toggle input{accent-color:#dcb45e;margin:0;width:13px;height:13px}.draw-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.draw-buttons button{border:1px solid #be914d;border-radius:7px;background:linear-gradient(#d2a459,#91602c);box-shadow:inset 0 0 0 3px #f1d09024,0 3px 7px #16040b55;padding:9px 2px 7px;color:#fff4d6;text-shadow:0 1px 2px #6d3c1b}.draw-buttons button:nth-child(2){background:linear-gradient(#f1d28a,#b47d36);color:#522716;text-shadow:0 1px #fce4a5}.draw-buttons strong{display:block;font-family:STSong,"Songti SC",SimSun,serif;font-size:17px;font-weight:600}.draw-buttons span{display:block;font-size:10px;opacity:.9;margin-top:1px}.inline-notice{margin:10px 16px 0;padding:10px 12px;border-left:2px solid #e9bd68;color:#f2cfa2;background:#71271e;font-size:12px}.pending-banner{margin:10px 16px;padding:11px;border:1px solid #dbb56a;background:#52221b;border-radius:5px}.pending-banner p{font-size:12px;margin-bottom:8px}.small-gold,.gold-button{border:1px solid #cfab67;border-radius:5px;background:linear-gradient(#d4b06c,#9b6b32);color:#371a14;padding:9px 14px;font-weight:600;font-size:13px}.gold-button{width:100%;padding:12px}.plain-button{border:1px solid #ac804f80;border-radius:5px;background:#6d2a25;color:#f2d1a0;padding:9px 12px;font-size:12px}.danger-button{border:1px solid #cd8070;background:#67251f;color:#ffd3c8;border-radius:5px;padding:9px 12px;font-size:12px}.toast{position:fixed;left:50%;bottom:calc(143px + env(safe-area-inset-bottom));z-index:100;transform:translateX(-50%);width:max-content;max-width:min(88vw,440px);padding:12px 17px;border:1px solid #bb9454;border-radius:7px;background:#271016f2;color:#fff1d2;box-shadow:0 6px 25px #0008;text-align:center;font-size:13px;overflow-wrap:anywhere}.toast.error{border-color:#c27b6b;color:#ffd1c7}
.sheet{position:fixed;inset:auto 0 0;width:min(100%,520px);max-width:520px;max-height:90svh;margin:0 auto;padding:0;border:1px solid #b58748;border-bottom:0;border-radius:18px 18px 0 0;background:#321018;color:var(--ink);box-shadow:0 -10px 70px #13040e88}.sheet::backdrop{background:#10050de0;backdrop-filter:blur(4px)}.sheet-head{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;background:#3e121c;border-bottom:1px solid #b587483f;padding:14px 18px}.sheet-head h2{font-family:STSong,"Songti SC",SimSun,serif;font-size:20px;font-weight:500;letter-spacing:1px}.sheet-close{border:0;background:#7a393144;border-radius:50%;width:31px;height:31px;font-size:24px;line-height:25px;color:#dfbf8d}.sheet-content{padding:18px 18px calc(22px + env(safe-area-inset-bottom));min-height:160px}.field{display:block;margin-bottom:14px}.field>span{display:block;font-size:12px;color:#e0bd91;margin-bottom:6px}.field input,.field select,.field textarea{display:block;width:100%;background:#210a12;border:1px solid #a0764e8a;border-radius:5px;padding:11px 12px;color:#ffefd0;font-size:16px;min-height:44px;outline-offset:2px}.field textarea{min-height:85px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#92715f;font-size:13px}.field small,.form-help{display:block;font-size:11px;line-height:1.7;color:#bd9a7b;margin-top:5px}.form-error{font-size:12px;color:var(--error);margin:0 0 12px;overflow-wrap:anywhere}.form-help{margin:9px 0 14px}.auth-tabs,.tab-bar{display:flex;gap:7px;margin-bottom:17px}.auth-tabs button,.tab-bar button{flex:1;border:1px solid #a2754980;border-radius:5px;background:#421720;color:#c9a984;font-size:12px;padding:9px 5px}.auth-tabs button.selected,.tab-bar button.selected{background:#a76b32;border-color:#d1aa65;color:#fff0c8}.account-name{font-size:24px;font-family:STSong,"Songti SC",SimSun,serif;margin-bottom:6px;color:#ffe0a2}.account-actions{display:flex;gap:10px;margin-top:18px}.account-actions>*{flex:1}.account-actions a{text-align:center;text-decoration:none}.sheet-intro{color:#d0ad88;font-size:12px;line-height:1.7;margin-bottom:17px}.sheet-intro.emphasis{padding:12px;background:#61271f;border-radius:6px;color:#ffe1a3}.sheet-intro strong{color:#ffe1a3}.empty-state{text-align:center;padding:34px 10px;color:#c5a17d;font-size:13px;line-height:1.8}.empty-state button{margin-top:14px}.item-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 7px}.item-grid .prize-name{font-size:11px;min-height:28px}.item-grid .prize-art{min-height:55px}.pagination{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:20px}.pagination button{min-width:87px}.pagination span{color:#c4a480;font-size:11px}.image-retry{margin-top:14px;text-align:center}.image-retry button{font-size:11px}.detail-item{display:block;width:175px;margin:3px auto 15px}.detail-name{text-align:center;font-family:STSong,"Songti SC",SimSun,serif;font-size:23px;line-height:1.4;color:#ffe3a4;margin-bottom:12px}.detail-meta{text-align:center;color:#cba87e;font-size:12px;margin:5px 0}.detail-copy{font-size:12px;color:#d5b38d;line-height:1.9;text-align:center}.status-pill{display:inline-block;font-size:10px;padding:3px 8px;border-radius:4px;background:#96632e44;border:1px solid #c0934a77;color:#edcb87}.status-pill.sent{background:#3e67443d;border-color:#81ac7a77;color:#c6ddb9}.order-list{display:flex;flex-direction:column;gap:10px}.order-button{padding:13px;border:1px solid #ab7b444d;border-radius:6px;background:#4a1b20;text-align:left;width:100%;display:block}.order-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:6px}.order-heading time{font-size:10px;color:#bd9978}.order-summary{color:#e9cfa8;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.order-role{font-size:11px;color:#bd9978;margin-top:6px}.recipient-box{padding:12px;border:1px solid #b6844355;border-radius:6px;margin-bottom:13px;background:#4b1d20}.recipient-box dl{display:grid;grid-template-columns:64px 1fr;gap:6px;margin:0;font-size:12px}.recipient-box dt{color:#bd9c7e}.recipient-box dd{margin:0;overflow-wrap:anywhere;color:#f3dbb2}.order-notice{font-size:12px;line-height:1.8;color:#f2cf8a;margin-bottom:15px}.reward-heading{display:flex;align-items:center;justify-content:space-between;margin:18px 0 13px;font-size:13px}.reward-heading span{font-size:11px;color:#be9a78}.celebration{position:relative;padding:16px 0 8px;text-align:center;overflow:hidden}.celebration:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse,#eec36922,transparent 65%);pointer-events:none}.celebration h3{font-family:STSong,"Songti SC",SimSun,serif;color:#ffdc8b;font-size:24px;letter-spacing:3px;margin-bottom:10px}.celebration .detail-item{width:142px}.celebration-name{font-size:17px;color:#ffe1a2}.celebration-caption{font-size:11px;color:#bd9976;margin-top:6px}.rules-list{padding-left:20px;margin:0;display:flex;flex-direction:column;gap:13px;font-size:12px;color:#ddbf98;line-height:1.85}.milestone-list{display:flex;flex-direction:column;gap:12px}.milestone-row{display:grid;grid-template-columns:65px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid #a778444d;border-radius:6px;background:#4a1b20}.milestone-row .prize{width:65px}.milestone-copy{font-size:12px;color:#e1c196}.milestone-copy strong{display:block;color:#ffe0a0;font-size:14px;margin-bottom:4px}.milestone-copy small{color:#b58f70;font-size:10px}.milestone-row>button{font-size:11px;padding:8px}.busy-label{font-size:12px;color:#efd393;display:block;text-align:center;padding:10px}.noscript-notice{position:fixed;inset:40% 10% auto;background:#4c1119;padding:20px;border:1px solid #f0cf86;z-index:200}
.manage-view{padding:18px 16px}.manage-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.manage-heading h2{font-size:20px;font-family:STSong,"Songti SC",SimSun,serif;font-weight:500}.manage-heading a{font-size:12px}.manage-section{margin-bottom:18px;border:1px solid #b284484f;padding:15px;border-radius:7px;background:#44151d}.manage-section h3{font-size:15px;font-weight:500;color:#f2d08e;margin-bottom:14px}.manage-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.manage-form-grid .full{grid-column:1/-1}.manage-view .field>span{font-size:11px}.manage-view .field input{padding:9px 10px}.player-results{margin:15px 0;display:flex;flex-direction:column;gap:8px}.player-choice{border:1px solid #9e764c;background:#341018;text-align:left;display:flex;gap:9px;align-items:center;padding:11px;border-radius:5px;cursor:pointer}.player-choice input{accent-color:#dab465}.player-choice strong{font-size:12px;display:block;overflow-wrap:anywhere}.player-choice small{font-size:10px;color:#b89775;display:block;overflow-wrap:anywhere}.player-choice.selected{border-color:#f0cf86;background:#70402355}.code-output{white-space:pre-wrap;overflow-wrap:anywhere;user-select:all;margin:12px 0;padding:13px;border:1px dashed #bb914f80;background:#281018;color:#f4dba7;font-size:12px;border-radius:5px;font-family:ui-monospace,monospace}.manage-hint{color:#c5a07c;font-size:11px;line-height:1.7;margin:10px 0}.manage-view .order-list{margin-top:15px}.manage-view .gold-button{margin-top:4px}.full-width{width:100%}.inline-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.inline-buttons>*{flex:1}.danger-note{font-size:11px;color:#efb3a1;margin-top:12px;line-height:1.7}
@media(min-width:440px){.prize-board{gap:6px 10px;grid-template-rows:repeat(4,minmax(100px,auto))}.prize-name{font-size:12px;min-height:30px}.hero{min-height:177px}.hero-inner{padding-top:40px}.hero-character{width:185px;right:3px;top:-25px}.hero h1{font-size:39px}.hero-mail{font-size:12px}.prize-quantity{font-size:14px}.central .prize-name{font-size:18px}}
@media(max-width:359px){.hero-inner{padding-left:15px}.hero h1{font-size:31px;letter-spacing:3px}.hero-character{right:-27px}.turntable{padding-left:9px;padding-right:9px}.prize-board{gap:4px}.prize-name{font-size:10px}.central .prize-name{font-size:14px}.draw-bar{padding-left:10px;padding-right:10px}.draw-buttons{gap:6px}.draw-buttons strong{font-size:15px}.sheet-content{padding-left:14px;padding-right:14px}.item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.player-strip{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.prize.active .prize-art{transform:none}}

.celebration-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.celebration>h3,.celebration>.prize,.celebration>p{position:relative;z-index:1}
/* Original 1596×892 composition; form sheets remain at readable device size. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body{background:#17080e}.app-shell{max-width:none;min-height:100dvh;padding:0;background:#17080e;box-shadow:none}.player-viewport{position:relative;width:100%;height:calc(100dvh - 30px);overflow:hidden}.original-stage{position:absolute;left:50%;top:50%;width:1596px;height:892px;transform:translate(-50%,-50%) scale(var(--stage-scale,1));transform-origin:center;background:#441b15 url('/assets/background.jpg') center top/2081px 892px no-repeat;isolation:isolate;font-family:KaiTi,STKaiti,SimSun,serif;overflow:hidden}.stage-empress{position:absolute;left:-40px;top:148px;width:496px;height:744px;object-fit:contain;pointer-events:none}.original-title{position:absolute;left:419px;top:103px;width:418px;text-align:center;color:#f8e6a2;pointer-events:none}.original-title h1{font-size:82px;line-height:1.25;font-weight:400;text-shadow:1px 3px #633514}.original-title p{font-size:21px;letter-spacing:3px;margin-top:0}.original-mail{position:absolute;left:885px;top:138px;width:410px;font-size:28px;color:#e9f6bb;white-space:nowrap}.original-wallet{position:absolute;left:1040px;top:9px;width:260px;height:49px;background:url('/assets/wallet.png') center/100% 100% no-repeat;display:flex;align-items:center;gap:13px;color:white;font-size:25px}.original-wallet img{height:48px;width:48px;object-fit:contain}.original-wallet strong{font-weight:400;color:#fff0be;min-width:50px;font-family:Georgia,serif}.original-stage .account-button{position:absolute;left:1332px;top:82px;right:auto;width:230px;max-width:230px;font-size:21px;border-radius:0;padding:6px 8px;background:#230b2099}.stage-button{position:absolute;border:0;border-radius:0;background:url('/assets/button.png') center/100% 100% no-repeat;color:#fff1cf;font:30px KaiTi,STKaiti,SimSun,serif;text-shadow:1px 2px #60441c;min-width:0;padding:0;box-shadow:none;touch-action:manipulation}.stage-button:hover{filter:brightness(1.1)}.stage-return{left:1430px;top:15px;width:145px;height:52px}.original-stage .role-summary{position:absolute;left:24px;top:592px;width:300px;height:95px;padding:10px;background:#210b1699;border:1px solid #b3834166;color:#ffefd0;z-index:3}.original-stage .role-summary .muted{font-size:16px}.original-stage .role-summary strong{font-size:23px}.original-stage .role-summary span:last-child{font-size:18px}.original-binding{left:25px;top:699px;width:260px;height:49px;font-size:26px;z-index:4}.original-stage .turntable{position:absolute;inset:0;padding:0;background:none;pointer-events:none}.original-stage .turntable:before{display:none}.original-stage .prize-board{position:absolute;inset:0;display:block}.original-stage .prize-board>.prize{position:absolute;transform:translate(-50%,-50%);padding:0;align-self:auto;grid-area:auto!important;pointer-events:auto}.original-stage .prize-board .prize-art{width:100%;height:100%;aspect-ratio:1;max-width:none;margin:0}.original-stage .prize-board .prize-name{position:absolute;left:0;right:0;top:100%;font-size:18px;line-height:1.2;min-height:0;max-height:42px;display:none}.original-stage .prize-board .prize-role{display:none}.original-stage .prize-board .prize-quantity{font-size:23px;right:18%;bottom:18%}.original-stage .prize-board .prize-icon{width:62%;height:62%;left:19%;top:19%;filter:none}.original-stage .prize-board .prize.central .prize-icon{width:62%;height:62%;left:19%;top:19%}.original-stage .prize-board .prize.active:after{inset:0;border:0;background:url('/assets/selected.png') center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 0 12px #ffe17b);border-radius:0}.original-stage .prize-board .prize.active .prize-art{transform:none}.original-count{position:absolute;left:695px;top:575px;width:247px;text-align:center;line-height:1.2;font-size:30px;color:#fff2cc;pointer-events:none}.original-count strong{display:block;color:#fff883;font-size:39px;font-weight:400;margin-top:8px}.pity-banner{position:absolute;left:443px;top:673px;width:737px;height:58px;background:url('/assets/banner.png') center/100% 100% no-repeat;text-align:center;font-size:32px;line-height:58px;color:#fff6d7;pointer-events:none}.pity-banner>span:not(.sr-only){color:#fff38a}.original-milestones{position:absolute;left:1310px;top:41px;width:211px;height:846px;background:url('/assets/cumulative.png') center/100% 100% no-repeat}.cumulative-title{position:absolute;left:33px;top:94px;width:145px;height:145px}.cumulative-text{position:absolute;left:53px;top:117px;width:105px;height:100px}.original-milestones #milestone-stage>.prize{position:absolute;left:48px;width:108px;height:105px}.original-milestones .prize-name{display:none}.original-milestones .prize-art{height:105px}.original-milestones .prize-frame{background:url('/assets/rewardBase.png') center/100% 100% no-repeat}.original-milestones .prize-quantity{font-size:22px;right:8%;bottom:8%}.original-milestones #milestones-button{left:45px;top:602px;width:112px;height:43px;font-size:26px}.original-stage .draw-bar{position:absolute;inset:0;width:1596px;height:892px;max-width:none;padding:0;pointer-events:none;border:0;background:none;box-shadow:none;backdrop-filter:none}.original-stage .skip-toggle{position:absolute;left:26px;top:760px;width:185px;height:48px;justify-content:center;gap:8px;margin:0;background:url('/assets/button.png') center/100% 100% no-repeat;font-size:25px;color:#fff1cf;pointer-events:auto}.original-stage .skip-toggle input{width:22px;height:22px}.original-help{left:210px;top:760px;width:50px;height:48px;pointer-events:auto;font-size:29px}.original-stage .draw-buttons{display:block;position:absolute;inset:0;pointer-events:none}.original-stage .draw-buttons button{width:288px;height:80px;top:748px;padding:0;border:0;border-radius:0;background:url('/assets/button.png') center/100% 100% no-repeat;color:#fff0cf;font-size:34px;font-weight:400;box-shadow:none;pointer-events:auto}.original-stage .draw-buttons button:nth-child(1){left:350px}.original-stage .draw-buttons button:nth-child(2){left:672px}.original-stage .draw-buttons button:nth-child(3){left:994px}.original-preview{left:1337px;top:756px;width:155px;height:70px;font-size:27px}.original-bottom{position:absolute;left:350px;top:853px;width:930px;text-align:center;font-size:20px;color:#ffe9ae;pointer-events:none}.original-stage .inline-notice{position:absolute;left:350px;top:69px;width:900px;margin:0;font-size:22px;padding:5px;text-align:center;z-index:7}.original-stage .pending-banner{position:absolute;left:400px;top:64px;width:830px;margin:0;z-index:8;padding:10px}.original-stage .pending-banner p{font-size:21px}.original-stage .pending-banner button{font-size:20px}.portrait-tools{display:none}.page-footer{height:30px;padding:3px 10px;gap:4px 16px;background:#1e0910}.page-footer .text-link,.page-footer a{font-size:10px}.manage-header{max-width:1050px;margin:auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #9c6d3d77}.manage-header h1{font-family:KaiTi,STKaiti,SimSun,serif;font-size:27px;font-weight:400;color:#f4d796}.manage-header button{border:1px solid #a77741;background:#4b1b22;padding:7px 14px;color:#e9cb9d;border-radius:4px}.manage-view{max-width:1050px;margin:auto;padding:24px}.manage-page .page-footer{height:auto;padding:15px}.manage-page .sheet{width:min(100%,740px);max-width:740px}.manage-page .sheet-head h2{font-size:20px}.sheet{width:min(100%,740px);max-width:740px;max-height:92dvh}.sheet-content{font-family:"PingFang SC","Microsoft YaHei",sans-serif}.catalog-actions{display:flex;gap:10px;flex-wrap:wrap}.catalog-actions>*{flex:1;min-width:180px}.catalog-table-wrap{overflow:auto}.catalog-table{width:100%;border-collapse:collapse;font-size:12px;min-width:500px}.catalog-table th,.catalog-table td{text-align:left;padding:9px 6px;border-bottom:1px solid #a5743d4d;vertical-align:middle}.catalog-table th{color:#efd092;font-weight:500}.catalog-table input{width:95px;padding:8px;background:#210a12;border:1px solid #8f663e;color:#ffe7b5;border-radius:3px;font-size:15px}.catalog-table td:nth-child(2){max-width:210px}.catalog-rate{font-size:12px;color:#f3d38f}.catalog-item-preview{display:grid;grid-template-columns:100px 1fr;gap:15px;align-items:center;padding:12px;background:#491a21;margin-bottom:14px;border:1px solid #946c3f77}.catalog-item-preview .prize{width:100px}.catalog-item-preview .item-meta{font-size:12px;color:#d5b385}.catalog-picker{max-height:300px;overflow:auto;border:1px solid #9d744e66;margin-bottom:15px}.catalog-picker button{display:grid;grid-template-columns:48px 1fr;gap:10px;text-align:left;width:100%;padding:8px 10px;border:0;border-bottom:1px solid #8d613642;background:#3e151c;color:#efd4a7}.catalog-picker button.selected{background:#89602b55;box-shadow:inset 3px 0 #e1bd78}.catalog-picker img{width:44px;height:44px;object-fit:contain}.catalog-picker strong{display:block;font-weight:400}.catalog-picker small{font-size:10px;color:#bb9679;word-break:break-all}.catalog-message{font-size:12px;color:#e7c18c;line-height:1.8}.catalog-save-note{padding:11px;border-left:2px solid #c89c57;background:#54231e;margin:15px 0;color:#ebc99a;font-size:12px}.catalog-image-preview{width:110px;height:110px;object-fit:contain;display:block;margin:12px auto}.catalog-dirty{color:#e6bd6e;font-size:12px}.merged-note{padding:9px 12px;border:1px solid #b58b4544;background:#50201c;color:#e4c08c;font-size:12px;margin-bottom:12px}.prize-hit-count{display:block;font-size:10px;color:#bc9977;margin-top:3px}
@media(max-aspect-ratio:1/1){body:not(.manage-page) .player-viewport{height:calc(100dvh - 227px);min-height:200px}body:not(.manage-page) .portrait-tools{display:block;padding:5px 14px 8px;max-width:600px;margin:auto;background:#2c0c15} .portrait-tools>p{font-size:11px;text-align:center;color:#cba77c;margin:0 0 7px}.portrait-tools nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.portrait-tools button{min-height:42px;border:1px solid #a47a40;border-radius:4px;background:#5a2420;color:#edcf9f;font-size:12px;padding:7px 3px}.portrait-draw{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:7px}.portrait-draw button{background:linear-gradient(#c69c54,#835827);color:#fff0cf;font-size:15px;min-height:46px}.page-footer{height:30px}}
@media(min-width:850px){.manage-view{display:grid;grid-template-columns:1fr 1fr;gap:20px}.manage-heading{grid-column:1/-1}.manage-section{margin:0}.manage-section.catalog-management,.manage-section:last-child{grid-column:1/-1}}
.menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-actions a{text-align:center;text-decoration:none}.manage-page .manage-view .catalog-actions .gold-button{width:auto}
/* Decorative full-height panels must not capture the stage controls behind them. */
.original-milestones{pointer-events:none}.original-milestones .prize,.original-milestones button{pointer-events:auto}.original-milestones>img{pointer-events:none}.original-stage .account-button,.original-stage .stage-return{z-index:12}
@media(max-width:600px){
 .catalog-table{min-width:0;table-layout:fixed;font-size:12px}
 .catalog-table th,.catalog-table td{padding:8px 4px;line-height:1.45}
 .catalog-table th:nth-child(1),.catalog-table td:nth-child(1){width:34px}
 .catalog-table td:nth-child(2){max-width:none;overflow-wrap:anywhere}
 .catalog-table th:nth-child(3),.catalog-table td:nth-child(3){width:74px}
 .catalog-table th:nth-child(4),.catalog-table td:nth-child(4){width:72px}
 .catalog-table input{width:64px;max-width:100%;padding:7px 4px;font-size:14px}
}
/* Keep uploaded solid images inside the inner ring, with frame rim and light above the art. */
.prize-frame{z-index:0}.prize-icon{z-index:1;pointer-events:none}.prize-rim{z-index:2;mask-image:radial-gradient(circle closest-side,transparent 65%,#000 66%);-webkit-mask-image:radial-gradient(circle closest-side,transparent 65%,#000 66%)}.prize-fx{z-index:3}.prize-quantity{z-index:4}
.prize .prize-art.uploaded-art .prize-icon,.original-stage .prize-board .prize .prize-art.uploaded-art .prize-icon{width:44%;height:44%;left:28%;top:28%;object-fit:contain;filter:none}
.catalog-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.7fr);gap:12px}.import-rows{display:grid;gap:16px;margin:15px 0}.import-row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px 14px;border:1px solid #a0784d;padding:13px;min-width:0;background:#44151d}.import-row legend{max-width:100%;padding:0 6px;color:#f1d096;font-size:12px;overflow-wrap:anywhere}.import-image{width:84px;height:100px;object-fit:contain;background:#240c14;border:1px solid #b1874544}.import-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 10px;min-width:0}.import-fields .field{margin-bottom:10px}.import-fields .field>span{font-size:11px}.import-fields input,.import-fields select{min-width:0;padding:8px;font-size:14px}.import-description{grid-column:1/-1}.import-row-status{grid-column:1/-1;font-size:11px;color:#d0b083}.catalog-recovery[hidden]{display:none}
@media(max-width:480px){.catalog-filters{grid-template-columns:1fr;gap:0}.import-row{grid-template-columns:1fr;padding:10px}.import-image{justify-self:center;width:96px;height:96px}.import-fields{gap:0 8px}}
.manage-section.dispatch-management{grid-column:1/-1}.dispatch-list{display:grid;gap:12px;margin-top:14px}.dispatch-row{padding:15px;border:1px solid #a87d485e;border-radius:6px;background:#351017;min-width:0}.dispatch-row>.status-pill{margin-bottom:7px}.dispatch-id{font-family:ui-monospace,monospace;font-size:12px;color:#f4d692;overflow-wrap:anywhere;margin:5px 0 10px;line-height:1.6}.dispatch-meta{min-width:0;color:#ebcda1;line-height:1.75}.dispatch-meta>strong{display:block;font-size:17px;color:#ffe1a3;font-weight:500}.dispatch-meta>p{font-size:13px;overflow-wrap:anywhere}.dispatch-meta>small{display:block;font-size:11px;color:#c6a180;overflow-wrap:anywhere}.dispatch-row>.plain-button{margin-top:12px}.dispatch-management .tab-bar{margin:14px 0 8px}.dispatch-management .inline-buttons{margin-bottom:0}.dispatch-management .inline-buttons>button{min-width:140px;min-height:42px}.dispatch-management #dispatch-counts{line-height:1.8;padding:9px 0;border-bottom:1px solid #a778443b}.dispatch-row .inline-buttons{margin-top:12px}.dispatch-row .inline-buttons>button{font-size:12px}.dispatch-management .text-link{min-height:36px}.sheet-content .dispatch-row{margin-bottom:12px}
@media(max-width:480px){.dispatch-row{padding:12px}.dispatch-management .inline-buttons{gap:7px}.dispatch-management .inline-buttons>button{min-width:calc(50% - 7px);padding:9px 6px;font-size:12px}.dispatch-management .tab-bar button{padding:10px 6px}.dispatch-meta>p{font-size:12px}}
.sheet-head h2{min-width:0;overflow-wrap:anywhere}.sheet-close{flex-shrink:0}.order-button{overflow-wrap:anywhere}
