:root{--paper:#f5f0e4;--ink:#27362c;--muted:#788173;--red:#b43e2d;--line:#dcdccd;--green:#235344;--ticket-color:#bb392b;--ticket-dark:#78281e;--ticket-accent:#ffe0a0}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Microsoft YaHei","PingFang SC",sans-serif;background-image:radial-gradient(#bcb49b35 .65px,transparent .65px);background-size:5px 5px}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #cc782c;outline-offset:4px}button{transition:background .15s,transform .15s}button:hover:not(:disabled){transform:translateY(-1px)}.site-header{max-width:1440px;margin:auto;padding:25px 50px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:21px;font-weight:800;letter-spacing:2px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;color:#fff2d0;background:var(--red);border-radius:9px;font-family:"STKaiti","KaiTi",serif;font-size:32px;transform:rotate(-5deg);box-shadow:inset 0 0 0 3px #d47753}.brand small{display:block;font-family:Georgia,serif;font-size:8px;letter-spacing:2.5px;margin-top:5px;font-weight:400}nav{display:flex;gap:34px;align-items:center}.open-badge{font-size:11px;color:var(--muted)}.open-badge i,.desk-heading i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#608569;margin-right:8px}.text-button{border:0;background:transparent;color:var(--ink);font-size:11px;padding:8px 0}.text-button span{margin-left:12px}main{max-width:1440px;margin:auto;padding:38px 50px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;gap:25px}.eyebrow{font:10px Georgia,serif;letter-spacing:1.5px;color:#687262}h1{font-family:"STSong","SimSun",serif;font-size:37px;margin:14px 0 12px;letter-spacing:1px}h1>span{color:var(--red)}.page-heading p{font-size:11px;color:var(--muted);line-height:1.8;margin:0}.account{min-width:215px;border-left:1px solid #cccebd;padding-left:30px}.account>span{font-size:10px;display:block;color:var(--muted)}.account b{font-size:8px;border:1px solid #b5b9a6;font-weight:400;padding:1px 5px;margin-left:8px;border-radius:3px}.account strong{display:block;font-family:Georgia,serif;font-size:29px;font-weight:400;margin:7px 0}.account button{border:0;padding:4px 0;background:none;font-size:10px;color:#4b6650}.account button span{margin-left:15px}.counter-layout{display:grid;grid-template-columns:230px minmax(360px,1fr) 235px;gap:28px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.panel-heading h2{font-size:12px;margin:0;font-weight:700}.panel-heading>span{color:var(--muted);font-size:9px}.catalog{padding-top:4px}.ticket-choice{position:relative;width:100%;display:flex;text-align:left;border:1px solid transparent;background:transparent;padding:13px 12px;align-items:center;gap:13px;border-radius:6px;margin-bottom:9px}.ticket-choice.active{border-color:#a8b4a1;background:#e8ebdf}.ticket-choice:hover{background:#e8ebdf}.mini-ticket{width:49px;height:67px;flex-shrink:0;color:var(--mini-accent);background:var(--mini-color);border:3px double var(--mini-accent);border-radius:3px;box-shadow:2px 3px 0 #00000016;text-align:center;padding-top:5px;transform:rotate(-5deg);position:relative;overflow:hidden}.mini-ticket strong{font-family:"STSong","SimSun",serif;font-size:13px;line-height:1.2;display:block;letter-spacing:1px}.mini-ticket small{display:block;font-size:8px;margin-top:4px}.mini-silver{display:block;height:12px;background:repeating-linear-gradient(135deg,#b8bfb9 0 3px,#d6dad2 3px 6px);margin:5px 4px}.choice-info{flex:1}.choice-info strong{display:block;font-size:13px;margin-bottom:6px}.choice-info small{font-size:9px;color:var(--muted);display:block;line-height:1.6}.choice-price{font-family:Georgia,serif;font-size:17px}.catalog-note{display:flex;gap:10px;margin:21px 5px 0;align-items:center;color:#8d927e}.catalog-note>span{font-size:26px}.catalog-note p{font-size:9px;line-height:1.9}.desk-heading{display:flex;justify-content:space-between;align-items:center;padding:0 2px 12px;font-size:10px}.desk-heading b{border-radius:20px;padding:2px 6px;background:#e2e6d9;font-size:9px;margin:0 4px}.desk{position:relative;min-height:532px;background:#dce1d3;background-image:repeating-linear-gradient(120deg,transparent 0 14px,#ffffff13 14px 15px);border:1px solid #d1d7c7;border-radius:8px;padding:30px 48px 27px;display:flex;align-items:center;justify-content:center;overflow:hidden}.desk:after{content:"";position:absolute;inset:12px;border:1px solid #bfc9b270;border-radius:4px;pointer-events:none}.desk-decoration{position:absolute;left:13px;top:27px;transform:rotate(-12deg);font-family:Georgia,serif;font-size:26px;font-weight:bold;line-height:.85;color:#a3af95;opacity:.5}.desk-decoration span{display:block;font-size:50px;margin-top:10px}.lottery-ticket{width:100%;max-width:390px;min-height:460px;position:relative;z-index:1;background:var(--ticket-color);color:var(--ticket-accent);padding:16px 17px 12px;box-shadow:5px 7px 0 #59644828,0 12px 27px #43503a20;transform:rotate(-1.3deg);border:1px solid var(--ticket-dark);border-radius:2px;background-image:radial-gradient(ellipse at 100% 0%,#ffffff1c,transparent 65%),repeating-linear-gradient(45deg,transparent 0 8px,#ffffff03 8px 9px)}.ticket-micro{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff35;padding-bottom:10px;font-size:8px;letter-spacing:1px}.ticket-micro b{font-weight:400}.ticket-micro span{border:1px solid #ffffff50;padding:1px 4px}.ticket-hero{text-align:center;position:relative;padding:13px 0 9px}.ticket-hero .ticket-en{font-family:Georgia,serif;font-size:8px;letter-spacing:3px;opacity:.8}.ticket-hero h2{font-family:"STKaiti","KaiTi","STSong","SimSun",serif;font-size:45px;font-weight:900;margin:4px 0;letter-spacing:3px;text-shadow:2px 3px 0 var(--ticket-dark)}.ticket-hero h2:before,.ticket-hero h2:after{content:"✦";font-size:17px;vertical-align:middle;display:inline-block;margin:0 9px;color:#fff2c0}.ticket-hero p{font-size:10px;margin:4px 0;letter-spacing:1px}.ticket-hero p b{font-family:Georgia,serif;font-size:19px;font-weight:400;margin:0 3px}.ticket-rule{font-size:8px;line-height:1.8;margin:0 0 9px;padding:7px 8px;border:1px solid #ffffff40;background:#0000000b}.play-label{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px;margin:6px 0}.play-label small{font-size:7px;opacity:.85;letter-spacing:0}.fields-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.scratch-cell{position:relative;min-height:51px;background:#fff9df;color:#222c24;border:2px solid #ffeec9;overflow:hidden;border-radius:2px;isolation:isolate}.scratch-cell.reference{min-height:40px;margin-bottom:8px}.field-content{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;padding:3px;pointer-events:none;background-image:repeating-linear-gradient(30deg,transparent 0 5px,#daceb122 5px 6px)}.field-content strong{font-family:Georgia,"SimSun",serif;font-size:22px}.field-content .prize-amount{font-family:Georgia,serif;font-size:12px}.field-content small{font-size:7px;display:block}.scratch-cell canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34'%3E%3Ccircle cx='17' cy='17' r='13' fill='%23cfb568' stroke='%23847546' stroke-width='2'/%3E%3Ctext x='17' y='22' text-anchor='middle' font-size='17' fill='%237d692e'%3E1%3C/text%3E%3C/svg%3E") 17 17,crosshair;z-index:2}.scratch-cell.mark-win{outline:2px solid #4ec479;outline-offset:0}.win-badge{display:none;position:absolute;bottom:1px;right:2px;color:#21573c;font-size:8px;z-index:3;pointer-events:none;background:#e4f5d8;padding:0 3px}.mark-win .win-badge{display:block}.triple-content{gap:7px}.triple-content strong{font-size:17px}.triple-content .prize-amount{font-size:10px}.football-content{gap:6px}.football-content strong{font-size:19px}.football-content small{font-size:8px}.lottery-ticket .bonus-cell{margin-top:7px}.ticket-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:11px;padding-top:8px;border-top:1px dashed #ffffff55;gap:9px}.ticket-bottom>span{font-size:7px;letter-spacing:.5px}.barcode{height:19px;width:72px;background:repeating-linear-gradient(90deg,var(--ticket-accent) 0 1px,transparent 1px 3px,var(--ticket-accent) 3px 5px,transparent 5px 7px);flex-shrink:0}.ticket-back-button{border:0;background:transparent;color:inherit;font-size:7px;padding:2px 0}.grid-ticket .fields-grid{grid-template-columns:repeat(3,1fr);gap:7px}.grid-ticket .scratch-cell{min-height:57px}.grid-ticket .field-content strong{font-size:30px}.line-prizes{font-size:8px;text-align:center;line-height:1.8;margin-top:8px;background:#00000012;padding:5px}.coin{position:absolute;bottom:21px;right:16px;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e9dc9d,#af9752);border:3px double #998142;box-shadow:2px 3px 3px #41513933;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8b7238;transform:rotate(17deg);z-index:2}.coin>span{font:20px Georgia,serif}.coin small{font-size:6px}.tools{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:10px}.tool-options{display:flex;align-items:center;gap:9px;font-size:9px;flex-wrap:wrap}.tool-options>label:first-child{color:var(--muted)}select{background:transparent;border:1px solid #c3cab8;border-radius:4px;padding:5px 4px;font-size:9px;color:var(--ink)}.switch-label{display:flex;align-items:center;gap:3px;cursor:pointer;white-space:nowrap}input[type=checkbox]{accent-color:var(--green);width:12px;height:12px;margin:0}.icon-button{background:transparent;border:1px solid #cbd0bf;border-radius:4px;padding:5px 7px;font-size:9px;color:var(--ink)}.settlement{border-top:1px solid var(--line);margin-top:15px;padding-top:17px;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:88px}.result-kicker{font-size:8px;color:var(--muted);display:block;letter-spacing:1px}.settlement strong{display:block;font-size:15px;margin:5px 0;font-weight:700}.settlement p{font-size:9px;line-height:1.7;color:var(--muted);margin:0;max-width:300px}.primary-button{border:1px solid var(--green);border-radius:5px;background:var(--green);color:#fff7df;padding:13px 16px;display:flex;gap:22px;justify-content:space-between;align-items:center;font-size:11px;white-space:nowrap}.primary-button:hover{background:#346752}.primary-button span{font-size:17px}.guide{padding-top:4px}.guide-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:bold;border-bottom:1px solid var(--line);padding-bottom:10px}.guide-title b{font-size:22px;font-weight:400;color:var(--red)}.rule-tag{display:inline-block;background:#e5e7d9;color:#52694c;padding:4px 7px;border-radius:3px;font-size:8px;margin-top:18px}.rule-heading{font-family:"STSong","SimSun",serif;font-size:19px;line-height:1.6;margin:11px 0}.rule-steps{list-style:none;counter-reset:steps;padding:0;margin:0}.rule-steps li{counter-increment:steps;display:flex;align-items:flex-start;gap:9px;margin:13px 0;font-size:10px;line-height:1.9;color:#5f6c5b}.rule-steps li:before{content:"0" counter(steps);font-family:Georgia,serif;color:#a29d83;font-size:11px}.rule-example{border:1px dashed #b9c2aa;padding:11px;margin-top:17px;font-size:10px;line-height:1.9;color:#566850;background:#eef0e4}.rule-example>small{display:block;font-size:8px;color:#8b937c;margin-bottom:5px}.ledger{margin-top:30px;border-top:1px solid var(--line);padding-top:19px}.ledger .panel-heading{margin-bottom:10px}dl{margin:0}dl div{display:flex;justify-content:space-between;font-size:10px;padding:7px 0}dt{color:var(--muted)}dd{margin:0;font-family:Georgia,serif;font-size:12px}.net-row{border-top:1px dashed var(--line);margin-top:7px;padding-top:13px}.ledger p{color:#8c9481;font-size:8px;margin-top:10px}.odds-link{border:0;background:none;font-size:9px;color:#62715b;width:100%;text-align:left;padding:13px 0}.odds-link>span{float:right}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:39px;padding:22px 0;color:#858c7b;font-size:9px}footer small{font-family:Georgia,serif;letter-spacing:1px;font-size:7px;margin-left:8px}dialog{width:min(540px,calc(100% - 32px));border:1px solid #c4cbb8;background:var(--paper);color:var(--ink);padding:25px;border-radius:9px;box-shadow:0 20px 80px #1d38213d;max-height:85vh}dialog::backdrop{background:#14221bb0;backdrop-filter:blur(4px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:15px}.modal-header h2{font-family:"STSong","SimSun",serif;font-size:23px;margin:0}.modal-header button{font-size:16px;border:0}#modal-content{padding-top:17px;font-size:12px;line-height:1.9}#modal-content p{color:#65735d}#modal-content ol{padding-left:20px}table{width:100%;border-collapse:collapse;font-size:11px;margin:15px 0}td,th{text-align:left;border-bottom:1px solid var(--line);padding:8px 5px}th{font-weight:500;color:var(--muted)}.wallet-item{display:flex;justify-content:space-between;width:100%;align-items:center;border:1px solid var(--line);border-radius:5px;padding:12px;text-align:left;background:#fffcf040;color:var(--ink);margin-bottom:8px;font-size:12px}.wallet-item small{display:block;font-size:9px;color:var(--muted)}.wallet-item b{font-size:12px;color:var(--green)}.modal-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:var(--ink);color:#fff7df;font-size:12px;padding:12px 20px;border-radius:6px;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.storage-warning{font-size:10px;line-height:1.8;padding:10px;color:#9f4e28}.back-ticket{min-height:420px}.back-ticket h3{font-family:"SimSun",serif;font-size:23px;text-align:center;margin:18px 0}.back-ticket p{font-size:10px;line-height:2}.back-ticket table{color:inherit;font-size:9px}.back-ticket th,.back-ticket td{border-color:#ffffff35;color:inherit}.back-ticket .return-front{display:block;width:100%;border:1px solid #ffffff80;padding:10px;background:#00000012;color:inherit;font-size:11px;margin-top:15px}.empty-note{padding:30px 0;text-align:center;color:var(--muted);font-size:12px}.win-result{color:#20714b}.negative{color:var(--red)}.positive{color:#20714b}#confetti{position:fixed;inset:0;pointer-events:none;z-index:8;overflow:hidden}.confetti-bit{position:absolute;width:7px;height:12px;top:-25px;animation:fall 1.8s ease-in forwards}@keyframes fall{to{transform:translateY(100vh) rotate(600deg);opacity:0}}@media(min-width:1100px){.page-heading{animation:enter .4s ease-out}.counter-layout{animation:enter .6s ease-out}}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1440px){.counter-layout{gap:36px;grid-template-columns:250px minmax(360px,1fr) 250px}.desk{padding-left:65px;padding-right:65px}}@media(max-width:1150px){.site-header{padding:22px 28px}main{padding:30px 28px 0}.counter-layout{grid-template-columns:190px minmax(340px,1fr);gap:22px}.guide{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.guide-title{grid-column:1/-1}.ledger{margin-top:18px}.odds-link{grid-column:2;align-self:end}.desk{padding:28px 40px}.ticket-choice{padding:12px 7px;gap:9px}.choice-info strong{font-size:12px}.mini-ticket{width:42px}.choice-price{font-size:15px}.catalog-note{margin-left:0}.page-heading h1{font-size:32px}footer{margin-top:27px}}@media(max-width:720px){.site-header{padding:17px 20px}.brand{font-size:17px}.brand-mark{width:37px;height:37px;font-size:28px}.brand small{font-size:7px;letter-spacing:1.5px}.open-badge{display:none}nav{gap:0}main{padding:25px 18px 0}.page-heading{align-items:flex-start;gap:15px;margin-bottom:22px;flex-direction:column}.page-heading h1{font-size:29px;letter-spacing:0;margin-top:10px}.eyebrow{font-size:8px}.page-heading p{font-size:10px}.account{border-left:0;border-top:1px solid var(--line);padding:13px 0 0;display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px}.account strong{font-size:23px;margin:0}.account>span{font-size:9px}.account button{font-size:9px}.account b{margin-left:3px}.counter-layout{display:flex;flex-direction:column;gap:18px}.catalog .panel-heading{margin-bottom:10px}.catalog-note{display:none}#ticket-list{display:flex;gap:7px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}.ticket-choice{width:139px;min-width:139px;gap:8px;margin:0;padding:9px 7px;align-items:flex-start}.mini-ticket{width:33px;height:51px;border-width:2px}.mini-ticket strong{font-size:10px}.mini-ticket small{font-size:6px}.mini-silver{height:7px;margin:3px}.choice-price{position:absolute;bottom:10px;right:9px;font-size:13px}.choice-info strong{font-size:10px}.choice-info small{font-size:8px}.play-area{width:100%}.desk-heading{padding-bottom:8px}.desk{padding:23px 26px;min-height:520px}.lottery-ticket{max-width:365px;padding:14px;min-height:454px;transform:rotate(-.8deg)}.desk-decoration{font-size:18px;left:7px}.desk-decoration span{font-size:30px}.coin{width:33px;height:33px;right:7px;bottom:8px}.coin>span{font-size:16px}.coin small{font-size:5px}.ticket-hero h2{font-size:41px}.ticket-hero h2:before,.ticket-hero h2:after{margin:0 6px;font-size:13px}.ticket-rule{font-size:8px}.tools{align-items:flex-start}.tool-options{gap:7px;font-size:9px;max-width:240px}.tools>.text-button{white-space:nowrap;font-size:10px}.settlement{gap:10px}.primary-button{font-size:10px;padding:12px;gap:12px}.settlement strong{font-size:14px}.settlement p{font-size:9px}.guide{display:grid;grid-template-columns:1fr;gap:0}.guide-title,.odds-link{grid-column:auto}.guide-title{margin-top:3px}.rule-steps li{margin:8px 0;font-size:11px}.rule-example{margin-top:12px}.rule-heading{margin:8px 0}.rule-tag{margin-top:12px}.ledger{margin-top:22px}dl div{padding:8px 0;font-size:11px}.ledger dd{font-size:14px}footer{margin-top:24px;flex-direction:column;gap:9px;font-size:8px}footer>span:last-child{display:none}dialog{padding:20px}.ticket-micro{font-size:7px}.field-content{gap:7px}.triple-content strong{font-size:15px}}@media(max-width:365px){main{padding-left:12px;padding-right:12px}.desk{padding-left:19px;padding-right:19px}.ticket-hero h2{font-size:35px}.account>span{font-size:8px}.account button{font-size:8px}.account strong{font-size:21px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* 桌面首屏收紧留白，让刮奖操作更容易触达。 */
@media(min-width:1151px){.site-header{padding-top:20px;padding-bottom:20px}main{padding-top:25px}.page-heading{margin-bottom:25px}.page-heading h1{font-size:34px;margin:10px 0}.desk{min-height:495px;padding-top:22px;padding-bottom:22px}.lottery-ticket{min-height:450px}.ticket-hero{padding-top:10px}.settlement{margin-top:12px;padding-top:13px}.ticket-rule{font-size:9px}footer{margin-top:26px}}
@media(max-width:720px){.settlement{position:sticky;bottom:10px;z-index:5;background:#f5f0e4;border:1px solid #cdd2c0;border-radius:7px;padding:13px;box-shadow:0 5px 18px #27362c12}.settlement p{max-width:195px}}
/* 保持取票 / 对奖按钮在当前视口可见，长票面可以继续滚动刮开。 */
.settlement{position:sticky;bottom:12px;z-index:5;background:#f5f0e4;border:1px solid #cdd2c0;border-radius:7px;padding:13px 15px;box-shadow:0 5px 18px #27362c12}
.account-button{display:flex;align-items:center;gap:9px;background:transparent;border:1px solid #c5cdb9;border-radius:6px;color:var(--ink);padding:7px 10px;text-align:left;font-size:11px;max-width:190px}.account-button>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-button small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.user-avatar{flex-shrink:0;width:29px;height:29px;background:#dde6d2;color:#476748;border-radius:50%;display:grid;place-items:center;font-family:'KaiTi',serif;font-size:17px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);gap:24px;margin-top:20px}.auth-tabs button{padding:10px 4px;border:0;background:none;color:var(--muted);font-size:13px;border-bottom:2px solid transparent}.auth-tabs button.selected{color:var(--green);border-color:var(--green)}.auth-intro,.auth-footnote{font-size:11px;line-height:1.9;color:var(--muted)}#auth-content form>label{display:block;font-size:11px;margin:15px 0 0}#auth-content input:not([type=checkbox]){display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #c4ccb9;border-radius:5px;background:#fffcf4;color:var(--ink);font:12px 'Microsoft YaHei',sans-serif}.auth-submit{width:100%;margin-top:22px}#auth-content form>label.import-option{display:flex;align-items:center;gap:8px;font-size:10px}.auth-footnote{text-align:center;margin:20px 0 2px;font-size:9px}#auth-error{font-size:11px;color:var(--red);line-height:1.8}.profile-card{display:flex;align-items:center;gap:16px;margin:25px 0 12px}.profile-avatar{height:55px;width:55px;font-size:30px}.profile-card strong{font-family:'SimSun',serif;font-size:23px;display:block;overflow-wrap:anywhere}.profile-card small{font-size:11px;color:var(--muted);display:block;margin-top:5px}.profile-status{font-size:10px;color:#587348}.profile-actions{display:flex;justify-content:space-between;margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}main[inert]{opacity:.65}@media(max-width:720px){.site-header nav{gap:12px}.site-header nav>.text-button{display:none}.account-button{max-width:145px;font-size:10px;padding:5px 7px}.account-button small{font-size:7px}.user-avatar{width:25px;height:25px;font-size:15px}.profile-avatar{height:55px;width:55px;font-size:30px}}@media(max-width:365px){.brand{font-size:15px;gap:8px}.brand small{font-size:6px}.account-button{max-width:123px}}
.admin-entry{font-size:11px;color:var(--green);text-decoration:none;white-space:nowrap;padding:8px 0}.admin-entry:hover{text-decoration:underline}@media(max-width:720px){.site-header{flex-wrap:wrap;gap:14px}.site-header nav{flex-wrap:wrap;margin-left:auto}.admin-entry{font-size:10px}}
.wallet-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.wallet-filters button{display:flex;align-items:center;gap:7px;border:1px solid #c5cdb9;border-radius:5px;background:transparent;color:var(--muted);padding:7px 10px;font-size:11px}.wallet-filters button span{min-width:18px;padding:1px 4px;border-radius:10px;background:#e2e6d9;font-size:10px;text-align:center}.wallet-filters button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff7df}.wallet-filters button[aria-pressed=true] span{background:#ffffff26;color:inherit}.wallet-filters button:focus-visible{outline:2px solid var(--green);outline-offset:3px}

.purchase-controls,.batch-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px;font-size:11px}.purchase-controls input{width:65px;padding:8px;border:1px solid #c3cab8;border-radius:4px;background:var(--paper);color:var(--ink);font:inherit}.purchase-controls .primary-button{margin-left:auto;padding:9px 16px}.purchase-controls>span{color:var(--muted);font-size:10px}.batch-controls{padding:12px 0;border-top:1px dashed var(--line)}.batch-controls .icon-button{padding:8px;font-size:10px}.batch-controls small{flex-basis:100%;color:var(--muted);line-height:1.6}.batch-controls>span{margin-right:auto;color:var(--muted)}

/* 批量开奖回执：深绿票头、朱红结算章与兑奖清单。 */
.batch-result{--receipt-gold:#e6cf91}.batch-hero{position:relative;overflow:hidden;background:#244d3e;color:#fbf4df;padding:23px 24px 0;border-radius:5px 5px 0 0;background-image:repeating-linear-gradient(125deg,transparent 0 17px,#ffffff03 17px 18px)}.batch-edition{display:block;font:9px Georgia,'SimSun',serif;letter-spacing:1.5px;color:var(--receipt-gold);padding-right:60px}.batch-total-label{display:block;font-size:11px;margin-top:26px;color:#e1e9da}.batch-total{display:block;font:normal clamp(38px,9vw,58px)/1.2 Georgia,'SimSun',serif;letter-spacing:-2px;margin-top:7px;overflow-wrap:anywhere;padding-right:10px}#modal-content .batch-hero p{color:#d3dfcc;font-size:11px;margin:10px 0 22px}.batch-stamp{position:absolute;right:23px;top:22px;display:grid;place-content:center;width:49px;height:49px;border:3px double #e4bd83;color:#e4bd83;font:bold 16px/1.25 'KaiTi','STKaiti',serif;transform:rotate(12deg);border-radius:4px}.batch-receipt-line{display:flex;justify-content:space-between;gap:8px;padding:12px 0;font-size:10px;border-top:1px dashed #f6edcf55;color:#e2dec7}.batch-hero.is-empty{background-color:#485649}.batch-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 0 16px;border-bottom:1px dashed #b5bea8}.batch-metrics>div{display:block;text-align:center;padding:0 7px;border-right:1px solid var(--line)}.batch-metrics>div:last-child{border:0}.batch-metrics dt{font-size:10px}.batch-metrics dd{font:21px/1.5 Georgia,'SimSun',serif;margin-top:3px;overflow-wrap:anywhere}.batch-metrics dd small{font-size:12px;color:var(--muted)}.batch-ratio{padding:17px 0 21px}.batch-ratio>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:6px}.batch-ratio strong{color:var(--green)}.batch-ratio-track{height:5px;background:#e0e4d7;overflow:hidden;border-radius:5px}.batch-ratio-track span{display:block;height:100%;background:#62836a;border-radius:5px}.batch-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.batch-list-heading h3{font: bold 19px 'STSong','SimSun',serif;margin:0}.batch-list-heading h3 span{font:10px 'Microsoft YaHei',sans-serif;color:var(--muted);margin-left:7px}.batch-list-heading>small{font-size:10px;color:var(--muted)}.batch-highlight{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:#ebe2c9;border:1px solid #d7c99e;color:#69552b;font-size:10px;margin-bottom:9px}.batch-highlight strong{font:20px Georgia,serif}.batch-ticket-list{display:grid;gap:7px}.batch-ticket{display:flex;align-items:center;gap:11px;width:100%;border:1px solid #d5d9ca;border-radius:3px;padding:12px;background:#faf7ed;color:var(--ink);text-align:left;animation:receipt-reveal .3s both;animation-delay:calc(var(--reveal-order)*35ms)}.batch-ticket.is-winner{border-left:3px solid #537e5b}.batch-ticket:hover{background:#eef0e3;border-color:#819778}.batch-ticket:focus-visible,.batch-losers summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}.batch-ticket-icon{width:29px;height:29px;flex-shrink:0;display:grid;place-items:center;background:#e8ecdf;color:#587553;border-radius:50%;font-size:20px}.batch-ticket-name{min-width:0;flex:1}.batch-ticket-name strong{display:block;font-size:12px}.batch-ticket-name small{display:block;font-size:9px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.batch-ticket-prize{text-align:right;flex-shrink:0}.batch-ticket-prize strong{display:block;font:20px Georgia,'SimSun',serif;color:#345e40}.batch-ticket-prize small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.batch-losers{border-top:1px dashed #bcc5af;margin-top:18px;padding-top:12px}.batch-losers summary{cursor:pointer;font-size:11px;padding:5px 0}.batch-losers summary>span{float:right;color:var(--muted);font-size:10px}.batch-losers[open] summary{margin-bottom:10px}.batch-losers .batch-ticket-prize strong{font:11px 'Microsoft YaHei',sans-serif;color:var(--muted)}.batch-no-win{text-align:center;padding:12px 5px}.batch-no-win>span{font-size:34px;color:#809174}.batch-no-win h3{font:20px 'STSong','SimSun',serif;margin:5px 0}.batch-no-win p{font-size:11px}.batch-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.batch-footer>span{font-size:10px;color:var(--muted)}.batch-footer .primary-button{padding:9px 14px;font-size:11px;gap:14px}@keyframes receipt-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:420px){.batch-hero{padding:20px 16px 0}.batch-stamp{right:16px;top:19px;width:41px;height:41px;font-size:14px}.batch-edition{font-size:8px;letter-spacing:.6px}.batch-metrics dd{font-size:18px}.batch-ticket{gap:8px;padding:10px 8px}.batch-ticket-icon{width:23px;height:23px;font-size:17px}.batch-ticket-prize strong{font-size:18px}.batch-footer{align-items:flex-start;flex-direction:column}.batch-footer .primary-button{width:100%}}@media(prefers-reduced-motion:reduce){.batch-ticket{animation:none}}

/* 独立票面速览覆盖在结果回执之上，关闭后保留回执位置。 */
#ticket-preview{width:min(470px,calc(100% - 24px));padding:20px;max-height:90vh}#ticket-preview::backdrop{background:#14221b80;backdrop-filter:blur(2px)}#ticket-preview .modal-header{position:sticky;top:-20px;z-index:2;background:var(--paper);padding:12px 0;margin-top:-8px}#ticket-preview .modal-header h2{font-size:20px}#ticket-preview-content{padding-top:17px}#ticket-preview .lottery-ticket{width:100%;max-width:365px;margin:0 auto;transform:none;min-height:0;animation:none}#ticket-preview .scratch-cell{cursor:default}#ticket-preview .field-content{user-select:text}.preview-verdict{padding:17px 0 0;text-align:center}.preview-verdict strong{font-size:18px;color:var(--green)}.preview-verdict p{font-size:11px;line-height:1.8;color:var(--muted);margin:8px 0 0}@media(max-width:420px){#ticket-preview{padding:15px}#ticket-preview .modal-header{top:-15px}#ticket-preview .modal-header h2{font-size:17px}}

/* 购买位于票面上方，底部主操作只负责当前票和下一张。 */
.purchase-controls{margin:0 0 14px;padding:12px 14px;background:#eeeee1;border:1px solid var(--line);border-radius:5px}.batch-controls[hidden],#main-action[hidden]{display:none}.batch-controls{margin-top:12px}.batch-controls small{font-size:10px}

#brush-hint{flex-basis:100%;font-size:10px;line-height:1.6;color:var(--muted)}.tool-options{max-width:none}#brush{font-size:11px;padding:6px}

/* 今日票柜：纸质图鉴、双模式与逐步点亮的票种。 */
.catalog .panel-heading{margin-bottom:12px}.catalog .panel-heading h2{font:700 18px 'STSong','SimSun',serif;letter-spacing:2px}
.catalog-intro{position:relative;padding:19px 16px 17px;background:#254d3f;color:#f6edcf;border-radius:5px 5px 0 0;overflow:hidden;background-image:repeating-linear-gradient(120deg,transparent 0 14px,#ffffff04 14px 15px)}
.catalog-edition{font:8px Georgia,'SimSun',serif;letter-spacing:.8px;color:#c9cfaf}.catalog-intro h3{font:26px/1.45 'STSong','SimSun',serif;letter-spacing:2px;margin:13px 0 9px}.catalog-intro p{font-size:9px;color:#d5ddc9;line-height:1.7;margin:0}.catalog-seal{position:absolute;right:18px;top:48px;border:3px double #d8b976;border-radius:3px;color:#e1c283;transform:rotate(9deg);font:19px/1.1 'KaiTi','STKaiti',serif;padding:5px}
.catalog-progress{margin:13px 0;padding:12px 0;border-bottom:1px dashed #c2c7b3;min-height:62px}.catalog-progress>div{display:flex;justify-content:space-between;gap:4px;font-size:10px}.catalog-progress strong{font-weight:600}.catalog-progress span{font:11px Georgia,'SimSun',serif;color:var(--green)}.catalog-progress p{font-size:9px;color:#67725f;line-height:1.9;margin:6px 0 0}.catalog-progress progress{appearance:none;width:100%;height:4px;display:block;border:0;border-radius:4px;background:#dde0d0;color:#53765a;margin:10px 0}.catalog-progress progress::-webkit-progress-bar{background:#dde0d0;border-radius:4px}.catalog-progress progress::-webkit-progress-value{background:#53765a;border-radius:4px}.catalog-progress progress::-moz-progress-bar{background:#53765a;border-radius:4px}
.catalog-filter{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#63715e;font-size:10px;gap:8px}.catalog-filter select{font-size:10px;padding:5px 7px;max-width:150px;background:#f5f0e4}
.catalog #ticket-list{max-height:600px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#bdc7b2 transparent;padding:4px}.catalog .ticket-choice{padding:12px 7px;gap:10px;margin:0 0 6px;border-bottom-color:#d9dccc;border-radius:3px;animation:catalog-arrive .25s both;animation-delay:calc(var(--catalog-order)*20ms)}.catalog .ticket-choice.active{border-color:#9caf91;box-shadow:inset 3px 0 #315c42}.catalog .choice-info{min-width:0}.choice-category{display:block;font-size:8px;letter-spacing:.6px;color:#78816d;margin-bottom:4px}.catalog .choice-info strong{font:700 15px 'STSong','SimSun',serif;letter-spacing:1px;margin-bottom:5px}.catalog .choice-info small{font-size:9px}.choice-status{display:block;font-size:8px;color:#526b4b;margin-top:6px;line-height:1.5}.catalog .choice-price{font-size:15px;align-self:center;color:#395c3e}.catalog .is-locked{background:#efecdf}.catalog .is-locked .mini-ticket{filter:saturate(.25);opacity:.7}.catalog .is-locked .choice-status{color:#8d6a3f}.catalog .is-locked .choice-price{color:#7b8070}.catalog .is-locked.active{background:#e9e5d4;border-color:#b6ab8a;box-shadow:inset 3px 0 #947847}
@keyframes catalog-arrive{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){.catalog-intro h3{font-size:23px}.catalog #ticket-list{max-height:none;overflow-x:auto;overflow-y:hidden;padding:4px 2px 10px}.catalog .ticket-choice{min-width:210px;margin-bottom:0}.catalog-intro{padding:15px 18px}.catalog-intro h3 br{display:none}.catalog-intro h3{margin:8px 0}.catalog-seal{top:26px}.catalog-progress{min-height:0}.catalog-filter{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.catalog .ticket-choice{animation:none}}

.catalog-mode-label{padding:12px 10px;background:#e6e7d9;border:1px solid #d2d6c4;border-top:0;border-radius:0 0 5px 5px;text-align:center;font-size:11px;color:var(--green);letter-spacing:.5px}
#unlock-game[hidden]{display:none}.purchase-controls #unlock-game{background:#8a6638;border-color:#8a6638;margin-left:auto}.purchase-controls #unlock-game:not([hidden])~#buy-tickets{display:none}

.amount-content{flex-direction:column;flex-wrap:nowrap;gap:0}.amount-content strong{font-size:11px;line-height:1.3}

.grid-ticket .map-content{flex-direction:column;flex-wrap:nowrap;gap:2px}.grid-ticket .map-content strong{font-size:20px}.grid-ticket .map-content .prize-amount{font-size:11px}

.catalog-category-description{font-size:9px;line-height:1.8;color:#63715e;margin:-3px 0 12px;min-height:32px}
