#saWishBtn{color:#f6dfaa!important;border:1px solid #cda76677!important;background:linear-gradient(135deg,#5f4130cc,#292c44dd)!important}
/* Pool identities: campus blue for permanent; vermilion seal on rice paper for limited. */
#saStudyStatus:empty,#saMessage:empty,.sac-card p:empty,.sac-status:empty,.sw5 p:empty,.sw5 .saw-foot small:empty{display:none}
.sag-hero[data-pool=yinpiao] .sag-hero-copy{text-shadow:none}.sag-hero[data-pool=yinpiao] .sag-hero-copy>button{color:#774c36!important;background:#f5ecd9!important;border-color:#bba077!important;margin-top:12px}.sag-hero[data-pool=yinpiao] .sag-hero-character{mask-image:linear-gradient(to right,transparent,#000 22%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 85%,transparent)!important;-webkit-mask-image:linear-gradient(to right,transparent,#000 22%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 85%,transparent)!important;mask-composite:intersect;-webkit-mask-composite:source-in}
#saGacha .sag-status:empty{display:none}.sag-period{font:11px/1.6 system-ui!important;max-width:100%!important;margin:22px 0 0!important;letter-spacing:.03em}.sag-hero[data-pool=standard]{background:radial-gradient(ellipse at 60% 20%,#5a83ac55,transparent 65%),repeating-linear-gradient(125deg,transparent 0 94px,#8daec31a 95px 96px),linear-gradient(130deg,#142d45,#243d58 60%,#3f5370);border:1px solid #7794b277;border-radius:18px}.sag-hero[data-pool=standard] h1{font-family:system-ui;font-weight:300;letter-spacing:.16em}.sag-hero[data-pool=standard] .sag-eyebrow{color:#a7cce5}.sag-hero[data-pool=standard] .sag-featured{color:#e0eef9}.sag-hero[data-pool=standard] .sag-primary{background:#d3e5f4!important;border-color:#b5d8f3!important;color:#1f405c!important}
.sag-hero[data-pool=yinpiao]{background:linear-gradient(90deg,#f1e7d4 8%,#f1e7d4ea 42%,#ede0c775 75%),url('/tomato/assets/wish-v2/wish-garden.webp') center/cover;border:1px solid #bda07a;border-radius:3px;color:#543d36;box-shadow:inset 0 0 0 7px #f5ecd9,inset 0 0 0 8px #b79d7266}.sag-hero[data-pool=yinpiao]:after{content:'銀票\A古市';white-space:pre;position:absolute;left:29px;top:24px;width:44px;height:53px;padding:5px 0;text-align:center;border:2px solid #98564b;color:#98564b;font:17px/1.2 'Songti SC',serif;transform:rotate(-5deg);pointer-events:none;z-index:3}.sag-hero[data-pool=yinpiao] .sag-hero-copy{padding-top:98px}.sag-hero[data-pool=yinpiao] h1{color:#6e3930;font-size:56px;letter-spacing:.13em}.sag-hero[data-pool=yinpiao] .sag-eyebrow{color:#8f6651}.sag-hero[data-pool=yinpiao] .sag-featured{color:#77543b}.sag-hero[data-pool=yinpiao] .sag-period{color:#825c49}.sag-hero[data-pool=yinpiao] .sag-primary{background:#853f35!important;color:#fff3db!important;border-color:#a56954!important;border-radius:3px!important}.sag-hero[data-pool=yinpiao] .sag-hero-character{mask-image:linear-gradient(to right,transparent,#000 22%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 22%,#000 90%,transparent)}
@media(max-width:720px){.sag-hero[data-pool=yinpiao]:after{left:20px;top:19px;width:37px;height:46px;font-size:15px}.sag-hero[data-pool=yinpiao] .sag-hero-copy{padding-top:88px}.sag-hero[data-pool=yinpiao] h1{font-size:39px}.sag-hero[data-pool=yinpiao] .sag-hero-character{opacity:.8}.sag-hero[data-pool=yinpiao] .sag-period{font-size:10px!important}.sag-hero[data-pool=standard]{min-height:335px}}
#saGacha{box-sizing:border-box;width:min(1180px,96vw);height:min(880px,94dvh);max-width:96vw;max-height:94dvh;padding:0;border:1px solid #c8b28b66;border-radius:22px;background:#151b2c;color:#eee3cf;box-shadow:0 28px 110px #0009;font:14px/1.65 system-ui;overflow:hidden}#saGacha::backdrop{background:#080c17c9;backdrop-filter:blur(8px)}#saGacha[open]{display:flex;flex-direction:column}#saGacha button{font:inherit;cursor:pointer;color:#e7dac3;border:1px solid #ab947055;border-radius:9px;padding:9px 16px;min-height:42px;background:#ffffff08;transition:background .2s,border-color .2s}#saGacha button:hover{background:#d9bd8520;border-color:#d9bd8588}#saGacha button:disabled{opacity:.4;cursor:not-allowed}#saGacha button:focus-visible,#saGacha summary:focus-visible{outline:3px solid #e2be79;outline-offset:3px}#saGacha button[aria-pressed=true]{background:#c4ac7530;color:#ffebbd;border-color:#d7bd8199}
.sag-header{flex:none;padding:14px 24px;display:flex;align-items:center;gap:18px;border-bottom:1px solid #c8b28b33;background:linear-gradient(110deg,#2b2935,#181e30)}.sag-title{font:32px/1.4 'Songti SC',serif;letter-spacing:.22em}.sag-motto{color:#b7a996;font-size:12px;letter-spacing:.18em}.sag-close{margin-left:auto}.sag-wallet{display:flex;align-items:center;gap:18px;padding:12px 24px;border-bottom:1px solid #e4d5b31a;flex:none}.sag-resource{display:flex;align-items:baseline;gap:10px;border-right:1px solid #bba78133;padding-right:20px}.sag-resource small{color:#bdb39f}.sag-resource strong{font-size:21px;font-weight:500;font-variant-numeric:tabular-nums}.sag-resource[data-asset=tickets]{color:#d9bcef}.sag-resource[data-asset=item_coins]{color:#d7cda8}.sag-wallet>button{margin-left:auto}.sag-nav{display:flex;gap:8px;padding:10px 24px 0;flex:none}.sag-nav button{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.sag-status{margin:0;min-height:28px;padding:2px 24px;font-size:12px;color:#d5c09b;flex:none}.sag-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 24px 22px;scrollbar-color:#746953 #1a2030}.sag-body h2,.sag-body h3{font-family:'Songti SC',serif;font-weight:500}.sag-body h2{font-size:25px}.sag-note{font-size:12px;color:#c4b8a7}.sag-pools{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px}
.sag-hero{position:relative;isolation:isolate;min-height:360px;border:1px solid #c6b59555;border-radius:16px;overflow:hidden;background:linear-gradient(90deg,#13192de8 2%,#13192d66 70%),url('/tomato/assets/wish-v2/wish-garden.webp') center/cover}.sag-hero-copy{position:relative;padding:38px 32px;z-index:2;width:65%;text-shadow:0 2px 10px #070a1680}.sag-eyebrow{font-size:11px;letter-spacing:.22em;color:#decba9}.sag-hero h1{font:48px/1.25 'Songti SC',serif;letter-spacing:.1em;font-weight:500;margin:17px 0}.sag-hero p{white-space:pre-line;color:#d5c6b3;font-size:14px;line-height:1.85}.sag-featured{display:block;font-size:12px;color:#e8cda9;letter-spacing:.05em}.sag-hero-character{position:absolute;right:-2%;height:113%;max-width:48%;width:auto;bottom:-8%;object-fit:contain;filter:drop-shadow(-12px 0 22px #080b1888);mask-image:linear-gradient(to bottom,#000 85%,transparent);z-index:1;pointer-events:none}.sag-draw-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}#saGacha .sag-primary{color:#332531;background:linear-gradient(135deg,#f0dab1,#c9b58c);border:1px solid #e1c89b;box-shadow:0 4px 16px #0002}.sag-fineprint{font-size:11px!important;color:#b6a993!important;margin-bottom:0}.sag-probability{display:grid;grid-template-columns:repeat(3,1fr);margin:14px 0;border:1px solid #b4a07833;border-radius:12px;background:#e0cfa608}.sag-probability>div{display:flex;align-items:baseline;gap:14px;padding:12px 20px;border-right:1px solid #b4a07833}.sag-probability>div:last-child{border:0}.sag-probability strong{font:27px Georgia,serif;color:#e8d4b3}.sag-probability span{font-size:12px;color:#c2b8a8}
#saGacha details{padding:14px 0;border-top:1px solid #bda87a33}#saGacha summary{cursor:pointer;color:#d5c6aa}#saGacha details p{font-size:12px;color:#beb5a5}.sag-odds-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sag-odds-items>div{display:flex;flex-direction:column;padding:12px;border:1px solid #ad987433;border-radius:8px}.sag-odds-items strong{font-size:13px;font-weight:500}.sag-odds-items small{color:#b3a891}.sag-stars{color:#d9b982;font-size:12px;letter-spacing:.1em}.sag-exchange-banner,.sag-confirm{padding:32px;border:1px solid #c0a67244;border-radius:14px;background:radial-gradient(ellipse at 20% 0,#65506644,transparent),#212435;margin:14px 0}.sag-exchange-banner button,.sag-confirm button{margin:6px}.sag-confirm{max-width:760px;margin:12px auto}.sag-confirm p{color:#c9bfaf}.sag-ticket-art{display:grid;place-items:center;width:175px;height:80px;background:linear-gradient(130deg,#c8adc8,#efe0b9);border:5px double #f4e4c8;border-radius:12px;transform:rotate(-5deg);color:#665066;font:25px 'Songti SC',serif;box-shadow:0 12px 22px #0004;margin-bottom:26px}
.sag-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sag-item-card{min-width:0;border:1px solid #beac8844;background:linear-gradient(#323344,#25283a);border-radius:13px;padding:14px;display:flex;flex-direction:column}.sag-item-card h3{margin:6px 0;font-size:20px}.sag-item-card p{font-size:12px;margin:5px 0}.sag-item-card small{font-size:11px;color:#bbae94}.sag-shop-buy{margin-top:auto!important}.sag-item-art{height:155px;display:grid;place-items:center;overflow:hidden;border-radius:9px;margin-bottom:8px;background:radial-gradient(ellipse at 50% 85%,#b79b6640,transparent 65%)}.sag-item-art img,.sag-item-art canvas{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 8px 5px #0006)}.sag-item-art img{object-fit:cover;filter:none}.sag-result{padding:18px;margin:18px 0;border:1px solid #c5aa7155;border-radius:14px;background:#ffffff05}.sag-result h2{font-size:22px;margin:0 0 5px}.sag-result p{font-size:12px;color:#c6baa5}.sag-rewards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:15px 0}.sag-rewards article{min-width:0;padding:13px 10px;border:1px solid #bbab8a33;border-top:3px solid #b4a58b;border-radius:8px;display:flex;flex-direction:column;gap:8px;background:#252c3b}.sag-rewards strong{font-size:12px;font-weight:400}.sag-rewards [data-rarity='3']{border-top-color:#91c5e0}.sag-rewards [data-rarity='4']{border-top-color:#b79ce8}.sag-rewards [data-rarity='5']{border-top-color:#e8c37d}.sag-rewards [data-rarity='6']{border-color:#e8cadd;background:linear-gradient(140deg,#65456055,#303447)}.sag-preview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.sag-preview-grid article{padding:20px 12px;border:1px solid var(--reveal-color);border-radius:12px;background:linear-gradient(150deg,#ffffff0a,#ffffff00)}.sag-preview-grid .sag-stars{color:var(--reveal-color)}.sag-preview-grid h3{font-size:19px}.sag-preview-grid button{padding:7px!important;font-size:12px!important}
.sag-theatre{position:absolute;z-index:20;inset:0;display:grid;place-items:center;background:#101726;overflow:hidden;border-radius:inherit}.sag-theatre video,.sag-theatre canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sag-theatre:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 20%,#080e20bb 90%);pointer-events:none}.sag-theatre canvas{z-index:2;object-fit:contain}.sag-theatre video{opacity:.72}.sag-reveal-seal{z-index:3;position:relative;text-align:center;margin-top:10%;color:var(--reveal-color);text-shadow:0 2px 16px #000,0 0 32px var(--reveal-color);opacity:0;transform:translateY(18px);transition:opacity 1s,transform 1.2s}.sag-theatre[data-phase=reveal] .sag-reveal-seal{opacity:1;transform:none}.sag-reveal-seal h2{font:48px 'Songti SC',serif;letter-spacing:.2em;margin:15px 0}.sag-reveal-seal>span{font-size:25px;letter-spacing:.28em}.sag-reveal-seal p{font-size:13px;color:#f1e5d2}.sag-theatre>button{position:absolute;z-index:5;right:24px;top:22px;background:#101827bb!important}.sag-theatre-note{position:absolute;z-index:5;bottom:25px;left:0;right:0;text-align:center;color:#d4c5ac}.sag-theatre[data-rarity='0'] .sag-reveal-seal>span{font-size:17px}.sag-theatre[data-rarity='6'] .sag-reveal-seal{border:1px solid #e8d5db66;padding:35px;border-radius:50% 50% 12px 12px;background:radial-gradient(ellipse,#60536d44,transparent)}
@media(max-width:720px){#saGacha{width:96vw;height:95dvh;max-height:95dvh;border-radius:16px;font-size:13px}.sag-header{padding:10px 14px;gap:8px}.sag-title{font-size:25px}.sag-motto{display:none}.sag-wallet{padding:10px 13px;gap:8px;flex-wrap:wrap}.sag-resource{padding-right:10px;gap:4px;flex:1;white-space:nowrap;flex-direction:column}.sag-resource small{font-size:10px}.sag-resource strong{font-size:19px;line-height:1.2}.sag-wallet>button{font-size:11px!important;padding:7px 9px!important;min-height:38px!important}.sag-nav{padding:6px 12px 0;gap:3px}.sag-nav button{padding:6px 9px!important;font-size:12px!important;min-height:36px!important}.sag-status{padding:3px 12px;font-size:11px;min-height:24px}.sag-body{padding:0 12px 16px}.sag-pools{gap:6px;margin-bottom:10px}.sag-pools button{font-size:12px!important;padding:7px 10px!important}.sag-hero{min-height:360px;background-position:42% center}.sag-hero-copy{width:100%;padding:22px 18px}.sag-hero h1{font-size:36px;margin:14px 0}.sag-eyebrow{font-size:10px}.sag-hero p{font-size:12px;max-width:67%}.sag-hero-character{height:86%;max-width:60%;right:-12%;bottom:-5%;opacity:.6}.sag-featured{font-size:10px;max-width:75%}.sag-draw-actions{margin-top:30px;flex-direction:column;align-items:flex-start;gap:8px}.sag-draw-actions button{font-size:12px!important;min-width:165px}.sag-fineprint{font-size:10px!important;max-width:100%!important}.sag-probability>div{padding:9px 6px;flex-direction:column;gap:4px;text-align:center;align-items:center}.sag-probability strong{font-size:23px}.sag-probability span{font-size:10px}.sag-odds-items{grid-template-columns:1fr}.sag-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sag-item-card{padding:10px}.sag-item-card h3{font-size:17px}.sag-item-art{height:115px}.sag-item-card button{padding:8px 5px!important;font-size:11px!important}.sag-exchange-banner,.sag-confirm{padding:20px 15px}.sag-confirm button{font-size:12px!important;margin:4px}.sag-rewards{grid-template-columns:repeat(2,minmax(0,1fr))}.sag-rewards strong{font-size:11px}.sag-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sag-reveal-seal h2{font-size:34px}.sag-theatre video{object-fit:contain}.sag-theatre canvas{object-fit:cover}.sag-theatre[data-rarity='6'] .sag-reveal-seal{padding:25px 15px}.sag-theatre>button{right:12px;top:12px;font-size:12px!important}.sa-compact .ctrl{gap:4px;padding-left:6px;padding-right:6px}.sa-compact .ctrl button{padding-left:6px;padding-right:6px;font-size:11px}}
@media(prefers-reduced-motion:reduce){#saGacha *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.sag-hero-character{mask-image:linear-gradient(to right,transparent,#000 25%),linear-gradient(to bottom,transparent,#000 12%,#000 85%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 25%),linear-gradient(to bottom,transparent,#000 12%,#000 85%,transparent);-webkit-mask-composite:source-in}
@media(max-width:720px){.sag-theatre video{inset:auto;top:50%;left:0;width:100%;height:auto;transform:translateY(-50%);mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent)}}
.sag-hero-character{width:44%;height:100%;max-width:none;right:0;bottom:0;object-fit:cover;object-position:center top}@media(max-width:720px){.sag-hero-character{width:58%;height:72%;right:-8%;bottom:0;object-position:center;opacity:.62}}
/* Mobile uses separate art and controls, never a negatively-offset crop. */
@media(max-width:720px){
 #saGacha .sag-hero[data-pool]{display:flex;flex-direction:column;min-height:0;padding:10px;gap:0}
 #saGacha .sag-hero[data-pool] .sag-hero-character{position:relative;order:0;inset:auto;display:block;width:100%;height:clamp(240px,39dvh,340px);max-width:100%;object-fit:contain;object-position:center;opacity:1;filter:none;mask-image:none!important;-webkit-mask-image:none!important;align-self:center;border-radius:2px}
 #saGacha .sag-hero[data-pool] .sag-hero-copy{order:1;width:100%;padding:16px 9px 12px;text-shadow:none}
 #saGacha .sag-hero[data-pool] h1{font-size:30px;margin:8px 0 10px;letter-spacing:.08em}
 #saGacha .sag-hero[data-pool] .sag-eyebrow{display:none}
 #saGacha .sag-hero[data-pool] .sag-featured{max-width:100%;font-size:11px}
 #saGacha .sag-hero[data-pool] .sag-draw-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:17px;align-items:stretch}
 #saGacha .sag-hero[data-pool] .sag-draw-actions button{min-width:0;min-height:44px;padding:8px 4px;font-size:11px!important}
 #saGacha .sag-hero[data-pool] .sag-period{margin-top:13px!important}
 #saGacha .sag-hero[data-pool=yinpiao]:after{left:17px;top:17px;background:#f4ead8e8}
}
