:root{color-scheme:dark;font-family:"STKaiti","KaiTi","Kaiti SC","Noto Serif SC","Songti SC",serif;background:#050b13;color:#f0e3c3;font-synthesis:none}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden}
body{height:100dvh;background:radial-gradient(ellipse at 50% 50%,#213346 0,#0c1825 52%,#02060b 100%)}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{cursor:default}
button:focus-visible{outline:2px solid #fff0b3;outline-offset:3px}
button,img{-webkit-user-select:none;user-select:none}
button{border:0}
button:not(:disabled):active{filter:brightness(1.18);transform:translateY(1px)}
[hidden]{display:none!important}
#game-root,.shouye-app{width:100%;height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden}
#game-root{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.game-frame{position:relative;flex:none;box-shadow:0 0 75px #02050ac7}
.game-stage{position:relative;width:390px;height:844px;transform-origin:top left;overflow:hidden;background:#09131e;isolation:isolate}
.battle-canvas{position:absolute;inset:0;width:390px;height:844px;touch-action:none;z-index:1}
.screen-content,.screen-overlay,.ad-layer{position:absolute;inset:0;pointer-events:none}
.screen-content{z-index:2}
.screen-overlay{z-index:5}
.ad-layer{z-index:20}
.screen-content button,.screen-overlay button,.ad-layer button{pointer-events:auto}
.scene{position:absolute;inset:0;width:390px;height:844px;object-fit:cover}
.home-scene{inset:auto;width:422px;height:914px;left:-16px;top:-70px}
.has-skin-art{background:none!important;isolation:isolate}
.skin-art{position:absolute;z-index:-1;pointer-events:none;display:block}
.icon-viewport{position:relative;overflow:visible;flex-shrink:0}
.icon-sprite{position:absolute;max-width:none;object-fit:fill;display:block;pointer-events:none}
.home-shade{position:absolute;inset:0;background:linear-gradient(180deg,#020b1842 0,transparent 27%,transparent 48%,#0208112b 57%,#01070ac2 100%)}
.skin-button{display:flex;align-items:center;justify-content:center;gap:8px;position:relative;width:100%;min-height:51px;padding:11px 17px;background:var(--skin-secondary) center/100% 100% no-repeat;text-shadow:0 2px 2px #000;font-size:24px;font-weight:700;line-height:1.12;letter-spacing:2px}
.skin-button.primary{background-image:var(--skin-primary);color:#291806;text-shadow:0 1px 1px #ffdf80;font-size:30px}
.skin-button:disabled{background-image:var(--skin-disabled);color:#a4a098;filter:saturate(.35);text-shadow:0 1px 3px #000;opacity:.8}
.skin-button small{font-family:Georgia,serif;font-size:12px;letter-spacing:0;font-weight:400}
.skin-panel{background:var(--skin-panel) center/100% 100% no-repeat}
.settings-button{position:absolute;top:17px;left:16px;width:37px;height:36px;min-height:0;font-family:serif;font-size:24px;padding:0;letter-spacing:0}
.coin-pill{position:absolute;top:19px;right:17px;min-width:146px;height:31px;background:var(--skin-hud) center/100% 100% no-repeat;display:flex;gap:6px;align-items:center;justify-content:center;font-size:17px;padding:2px 12px;text-shadow:0 2px 2px #000}
.coin-pill strong{font-family:Georgia,serif;font-size:18px;font-weight:400;letter-spacing:.5px}
.coin-symbol{font-family:Georgia,serif;font-size:26px;color:#ffc461}
.coin-icon{width:23px;height:23px}
.home-action-icon{width:25px;height:29px}
.home-title{position:absolute;top:118px;left:18px;width:354px;text-align:center;text-shadow:0 5px 9px #020a0e,1px 1px 0 #675832}
.home-title h1{font-size:59px;letter-spacing:1px;margin:0;font-weight:900;line-height:1.16}
.home-title p{margin:9px 0 0;font-size:13px;letter-spacing:3px;color:#d7d4c9}
.chapter-pins{position:absolute;left:32px;width:326px;height:113px}
.home-pins{top:419px}
.chapter-pin{position:absolute;width:42px;height:43px;padding:0;background:none;display:flex;align-items:center;flex-direction:column;filter:drop-shadow(0 3px 4px #000);transition:filter .16s}
.pin-head{width:28px;height:32px;background:var(--skin-secondary) center/100% 100%;border-radius:45% 45% 45% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;font-size:14px;color:#ddd5bc;line-height:1}
.pin-head::first-letter{transform:rotate(45deg)}
.pin-name{position:absolute;top:34px;white-space:nowrap;font-size:14px;line-height:16px;color:#e9dbc2;text-shadow:0 2px 2px #000}
.chapter-pin.selected .pin-head,.chapter-pin.cleared .pin-head{color:#fff0c6;box-shadow:0 0 16px #f8b32b9c}
.chapter-pin.selected .pin-head>.skin-art,.chapter-pin.cleared .pin-head>.skin-art{filter:sepia(.95) saturate(1.7) brightness(1.3)}
.chapter-pin.locked{filter:grayscale(1) drop-shadow(0 2px 3px #000);opacity:.7}
.chapter-pin.locked .pin-name{color:#b1afaa}
.chapter-title{position:absolute;top:539px;left:73px;width:244px;min-height:32px;background:var(--skin-hud) center/100% 100% no-repeat;text-align:center;padding:7px 9px 6px;font-size:19px;letter-spacing:1px;white-space:nowrap;text-shadow:0 2px 2px #000}
.lit-badge{position:absolute;top:-13px;right:3px;font-size:10px;letter-spacing:0;color:#ffdc90}
.home-actions{position:absolute;top:587px;left:30px;width:330px;display:grid;gap:11px}
.depart-button{height:70px;letter-spacing:5px;font-size:39px!important}
.home-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.home-two .skin-button{height:51px;font-size:26px;gap:4px}
.home-footnote{margin:0;text-align:center;color:#c0beb6;font-size:13px;letter-spacing:1px}
.home-actions>.skin-button.secondary{font-size:23px;height:51px}
/* Keep the approved artwork at its original size while giving fingers space
   around small controls. The 66-unit discs remain 44px wide at 320x568. */
.settings-button::after,.home-pins .chapter-pin::after{content:"";position:absolute;left:50%;top:50%;width:66px;height:66px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:auto}
.home-two .skin-button::after{content:"";position:absolute;inset:-10px 0 -5px;pointer-events:auto}
.home-actions>.skin-button.secondary::after{content:"";position:absolute;inset:0 0 -15px;pointer-events:auto}
.battle-ui{position:absolute;inset:0;pointer-events:none}
/* HUD zones come from battle-hud-layout. The body includes gold decoration;
   absolute content zones sit within the measured dark material, without padding. */
.battle-hud{position:absolute;inset:0 0 auto;height:240px;padding:0}
.battle-hud :is(.wave-plate,.gate-plate,.meter),.tide-banner{position:absolute;padding:0;margin:0;background:none;text-align:center;letter-spacing:0;text-shadow:0 1px 2px #000}
.pause-button{position:absolute;min-height:0;padding:0;line-height:1;font-family:Georgia,serif;font-size:16px;z-index:2}
.pause-button::after,.speed-button::after{content:"";position:absolute;inset:-3px;pointer-events:auto}
.speed-button{position:absolute;min-height:0;padding:0;line-height:1;font-family:Georgia,serif;font-size:13px;letter-spacing:0;color:#e7d6a4;z-index:2}
.speed-button.active{color:#ffe18b;text-shadow:0 0 8px #e6a83e;}
.battle-hud :is(.wave-plate,.gate-plate,.meter,.pause-button,.speed-button)>[data-live],.tide-banner>[data-live]{position:absolute;display:block;margin:0;padding:0;font-weight:400;white-space:nowrap;min-width:0;letter-spacing:0;text-align:center;overflow:visible}
.battle-hud [hidden],.tide-banner [hidden]{display:none!important}
.wave-plate>[data-live]{color:#f1dec3}
.gate-plate>[data-live]{color:#b6cad0}
.gate-plate{pointer-events:auto}
.gate-focuses{position:absolute;inset:0;pointer-events:none}
.gate-focus{position:absolute;min-width:0;min-height:0;padding:0;border:1px solid #8aa7a955;border-radius:6px;background:#071b26dd;color:#8b9c9e;font:12px/1 "STKaiti","KaiTi",serif;letter-spacing:0;cursor:pointer;white-space:nowrap;pointer-events:auto}
.gate-focus.incoming{border-color:#adc6c2aa;color:#e0e6d8}
.gate-focus:hover,.gate-focus:focus-visible{border-color:#ffd27a;color:#ffe7aa;outline:none}
.gate-focus.active{border-color:#ffc45e;background:#6d471fdd;color:#fff0bd;box-shadow:0 0 9px #ffbd4a88}
.game-stage:not([data-step2="true"]) .gate-focuses{display:none}
.gate-plate>[data-live="focus"]{color:#ffdb8d;pointer-events:none}
.wall-meter>[data-live]{color:#f3d6a6}
.xp-meter>[data-live]{color:#bad5d3}
.meter-track{position:absolute;display:block;min-width:0;margin:0;border:1px solid #8f7a50;box-shadow:inset 0 0 4px #000;background:#080b0dbd;overflow:hidden}
.meter-track i{display:block;height:100%;transition:width .07s linear;background:linear-gradient(180deg,#ff7661,#a52525);box-shadow:0 0 7px #de4426}
.xp-meter .meter-track i{background:linear-gradient(180deg,#83c4d3,#317287);box-shadow:0 0 7px #69b6c8}
.tide-banner{color:#d3e9ec}
.boss-banner{position:absolute;top:246px;left:73px;width:244px;min-height:28px;padding:5px 10px;background:linear-gradient(90deg,#280f18dd,#632331dd,#280f18dd);border:1px solid #e88b6d99;border-radius:3px;color:#ffe1ad;text-align:center;font-size:14px;letter-spacing:1px;text-shadow:0 2px 3px #000;box-shadow:0 2px 10px #0009;pointer-events:none}
.boss-banner[hidden]{display:none!important}
.resonance-banner{position:absolute;top:280px;left:92px;width:206px;min-height:24px;padding:4px 10px;background:linear-gradient(90deg,#142d2bdd,#285e5add,#142d2bdd);border:1px solid #7fd8c099;border-radius:12px;color:#c8fff0;text-align:center;font-size:12px;letter-spacing:.5px;text-shadow:0 1px 3px #000;box-shadow:0 2px 10px #0008;pointer-events:none;overflow:hidden}
.resonance-banner[hidden]{display:none!important}
.resonance-banner i{position:absolute;left:0;bottom:0;height:2px;width:0;background:#9bf3d8;box-shadow:0 0 6px #84efd0;transition:width .07s linear}
.loadout{position:absolute;top:var(--loadout-y);left:var(--loadout-x);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--loadout-gap);width:var(--loadout-width);height:var(--loadout-height)}
.loadout-slot{position:relative;min-width:0;height:100%;background:var(--skin-card) center/100% 100% no-repeat;padding:0;text-align:center}
.loadout-slot .card-icon,.loadout-slot .empty-loadout{position:absolute;left:50%;top:var(--loadout-iconTop);transform:translateX(-50%);width:var(--loadout-iconSize);height:var(--loadout-iconSize);display:block;margin:0}
.loadout-name{position:absolute;left:var(--loadout-textInset);right:var(--loadout-textInset);top:var(--loadout-nameTop);height:var(--loadout-nameHeight);font-size:var(--loadout-nameFont);letter-spacing:-.3px;white-space:nowrap;color:#f2e6c9;line-height:var(--loadout-nameHeight);text-shadow:0 1px 2px #000}
.rank-diamonds{position:absolute;top:var(--loadout-rankTop);left:var(--loadout-textInset);right:var(--loadout-textInset);height:var(--loadout-rankHeight);font-size:7px;letter-spacing:.4px;color:#f5bc52;line-height:var(--loadout-rankHeight)}
.loadout-slot.empty{opacity:.68}
.empty-loadout{font-size:15px;line-height:var(--loadout-iconSize);color:#6d7e8a}
.battle-instruction{position:absolute;top:823px;left:36px;right:36px;text-align:center;font-size:13px;color:#c7cdc9;letter-spacing:2px;text-shadow:0 2px 4px #000}
.battle-instruction::before,.battle-instruction::after{content:"";display:inline-block;vertical-align:middle;width:23px;height:1px;background:#a6a49988;margin:0 9px}
.modal-shade{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#010711ac;pointer-events:auto;backdrop-filter:blur(1px)}
.dialog{position:relative;width:346px;padding:27px 25px 26px;color:#eee0bb;filter:drop-shadow(0 8px 18px #000b);max-height:805px}
.dialog header h2{font-weight:700;text-align:center;font-size:29px;letter-spacing:3px;line-height:1.3;margin:0 0 6px;text-shadow:0 3px 3px #000}
.dialog-subtitle{margin:0 0 20px;text-align:center;font-size:13px;line-height:1.6;color:#c6c7bf;letter-spacing:.7px}
.dialog footer{display:grid;gap:10px;margin-top:20px}
.dialog footer .skin-button{min-height:49px;font-size:22px}
.dialog footer .primary{min-height:59px;font-size:26px}
.dialog-note{margin:0;text-align:center;line-height:1.5;font-size:12px;color:#bdb9ab;letter-spacing:.6px}
.leave-copy{margin:20px 0;text-align:center;font-size:17px;line-height:1.9;color:#dfd0b5}
.game-stage[data-compact="true"] :is(.pause-dialog,.leave-dialog,.start-dialog) footer .skin-button{min-height:66px}
.game-stage[data-compact="true"] .leave-copy{font-size:20px}
.offer-list{display:grid;gap:10px}
.offer-card{position:relative;display:flex;align-items:center;width:100%;min-height:105px;padding:13px 15px;background:var(--skin-card) center/100% 100% no-repeat;text-align:left;gap:12px;touch-action:manipulation}
.card-icon{object-fit:contain;display:block}
.offer-card .card-icon{width:60px;height:62px;flex-shrink:0;filter:drop-shadow(0 2px 4px #000)}
.offer-copy{display:flex;flex-direction:column;min-width:0;gap:3px}
.offer-category{font-size:10px;letter-spacing:1px;color:#b5c5c6}
.offer-copy strong{font-size:23px;line-height:1.05;color:#f9e6b7;font-weight:600;text-shadow:0 2px 2px #000;white-space:nowrap}
.offer-description{font-size:11px;color:#ded7c6;line-height:1.45;max-width:167px}
.offer-rank{font-family:Georgia,serif;font-size:10px;color:#d4b475;letter-spacing:.2px}
.offer-delta{font-size:11px;color:#ffd071;line-height:1.25;letter-spacing:.1px;text-shadow:0 1px 2px #000}
.offer-arrow{position:absolute;right:11px;top:38px;font-family:Georgia,serif;font-size:23px;color:#d4b574}
.offer-card.evo .offer-category{color:#ffc567}
.offer-card.evo .offer-copy strong{color:#ffe99c}
.sub-capacity{margin:14px 0 0;text-align:center;color:#aaa99d;font-size:11px}
.empty-offer{text-align:center}
.cards-dialog{padding:27px 22px 24px}
.cards-dialog .dialog-subtitle{margin-bottom:17px}
.lamp-instruction{position:absolute;left:41px;top:148px;width:308px;height:62px;text-align:center;padding:10px 14px;filter:drop-shadow(0 3px 8px #000)}
.lamp-instruction h2{font-size:21px;letter-spacing:4px;margin:0 0 4px}
.lamp-instruction p{font-size:12px;color:#e8d2a5;margin:0}
.lamp-slots{position:absolute;inset:0;pointer-events:none}
.slot-target{position:absolute;width:54px;height:66px;background:none;border:0;padding:0;display:flex;align-items:center;justify-content:center}
.slot-target span{position:absolute;bottom:6px;width:22px;height:22px;line-height:20px;text-align:center;border:1px solid #ebbd66;border-radius:50%;font-family:serif;color:#ffe4a4;font-size:20px;background:#16212dcc;box-shadow:0 0 11px #ffc26388}
.slot-target:focus-visible{outline:2px solid #ffcb73;border-radius:50%}
.lamp-footnote{position:absolute;top:226px;left:44px;width:302px;margin:0;font-size:13px;letter-spacing:2px;text-align:center;color:#ffe1a5;text-shadow:0 2px 4px #000}
.pause-stats{display:flex;justify-content:space-between;font-size:14px;gap:12px;margin:20px 0;color:#cabd9e}
.pause-stats b{display:block;margin-top:6px;font-family:Georgia,serif;color:#ecd8a0;font-size:20px;font-weight:400}
.owned-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;max-height:156px;overflow-y:auto}
.owned-cards>div{position:relative;background:var(--skin-card) center/100% 100% no-repeat;height:42px;padding:5px}
.owned-cards .card-icon{width:100%;height:31px}
.owned-cards small{position:absolute;bottom:2px;right:5px;font-family:Georgia,serif;font-size:10px;color:#ffe3a1;text-shadow:0 1px 2px #000}
.failure-record{display:flex;justify-content:space-between;border-top:1px solid #b0965133;border-bottom:1px solid #b0965133;padding:18px 0;font-size:14px;color:#d3c8aa}
.failure-record b{color:#ffda8d;font-family:Georgia,serif;font-size:21px}
.revive-copy{text-align:center;font-size:15px;line-height:1.9;color:#d3c3a1;margin:21px 0 5px}
.fail-dialog header h2{color:#ffda91;font-size:34px}
.upgrade-art{display:flex;justify-content:center;gap:29px;margin:14px 0}
.upgrade-art .card-icon{width:72px;height:72px;filter:drop-shadow(0 0 12px #daa13b44)}
.upgrade-level{text-align:center;font-family:Georgia,serif;font-size:23px;color:#c4b17e;margin:9px 0 20px}
.upgrade-level strong{font-size:46px;font-weight:400;color:#ffdb8a;margin:0 5px}
.upgrade-level>span{font-size:15px}
.upgrade-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:center}
.upgrade-stats>div{background:var(--skin-hud) center/100% 100% no-repeat;min-height:90px;padding:12px 5px}
.upgrade-stats span,.upgrade-stats small{display:block;font-size:12px;color:#cdbf9d}
.upgrade-stats b{display:block;font-family:Georgia,serif;font-size:25px;margin:4px 0;color:#ffe3a1;font-weight:400}
.upgrade-stats small{font-size:11px;color:#8daaa7}
.wallet-line{margin:22px 0 0;text-align:center;font-size:17px}
.wallet-line strong{font-family:Georgia,serif;color:#ffdc8a;margin-left:10px;font-weight:400}
.catalog-dialog{padding:24px 21px 22px}
.catalog-dialog .dialog-subtitle{margin-bottom:14px;font-size:12px}
.catalog-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.catalog-tile{height:68px;background:var(--skin-card) center/100% 100% no-repeat;padding:6px 4px;display:flex;align-items:center;flex-direction:column;gap:3px;position:relative}
.catalog-tile .card-icon{width:39px;height:39px}
.catalog-tile>span{font-size:12px;white-space:nowrap;line-height:13px;color:#f2e6c9}
.catalog-tile.undiscovered img{filter:grayscale(1) brightness(.48)}
.catalog-tile.undiscovered>span{color:#879198}
.catalog-tile.discovered img{filter:drop-shadow(0 0 4px #ba8c3344)}
.catalog-tile.selected{outline:1px solid #f4c978;outline-offset:-4px;box-shadow:0 0 10px #a3722244}
.catalog-detail{display:flex;gap:12px;align-items:center;margin-top:20px;min-height:115px;border-top:1px solid #ae98563b;padding-top:16px}
.catalog-detail>.card-icon{width:60px;height:64px;flex-shrink:0}
.catalog-detail>div{min-width:0}
.detail-category{font-size:10px;color:#bda574}
.catalog-detail h3{font-size:21px;letter-spacing:2px;margin:4px 0;color:#ffe3a7}
.catalog-detail p{font-size:12px;line-height:1.5;margin:0;color:#d4ceb9}
.catalog-detail small{display:block;color:#dfab55;font-size:10px;line-height:1.5;margin-top:4px}
.catalog-dialog footer{margin-top:13px}
/* Small screens keep readable card names and details; all 25 entries remain
   reachable through the actual collection, with its selected detail outside. */
.game-stage[data-compact="true"] .catalog-dialog .dialog-subtitle{font-size:18px;line-height:1.35}
.game-stage[data-compact="true"] .catalog-grid{grid-template-columns:repeat(3,1fr);max-height:296px;overflow-y:auto;overscroll-behavior:contain;padding:4px;scrollbar-width:thin}
.game-stage[data-compact="true"] .catalog-tile{height:86px;gap:5px;padding:8px 4px}
.game-stage[data-compact="true"] .catalog-tile .card-icon{width:43px;height:43px}
.game-stage[data-compact="true"] .catalog-tile>span{font-size:18px;line-height:22px}
.game-stage[data-compact="true"] .catalog-detail{gap:8px;margin-top:14px;padding-top:10px;min-height:150px}
.game-stage[data-compact="true"] .catalog-detail>.card-icon{width:48px;height:52px}
.game-stage[data-compact="true"] .catalog-detail h3{font-size:24px;letter-spacing:1px}
.game-stage[data-compact="true"] .catalog-detail p,.game-stage[data-compact="true"] .catalog-detail small,.game-stage[data-compact="true"] .detail-category{font-size:18px;line-height:1.35}
.settings-toggles{display:grid;gap:17px;margin-top:29px}
.settings-toggles .skin-button{justify-content:space-between;padding:13px 28px;font-size:22px;letter-spacing:1px;min-height:61px}
.toggle-state{border:1px solid #4f697478;border-radius:16px;padding:6px 12px;font-size:13px;letter-spacing:0;color:#8c9da4;background:#03111b88}
.toggle-state.on{border-color:#b79256;box-shadow:0 0 9px #c8903433;color:#ffe0a4;background:#604d2155}
.settings-hint{text-align:center;font-size:14px;color:#b8c2bb;line-height:1.9;margin:34px 0 20px}
.daily-art,.start-art{display:flex;justify-content:center;margin:18px 0 23px}
.daily-art .card-icon,.start-art .card-icon{width:94px;height:110px;filter:drop-shadow(0 0 18px #e1ae5144)}
.daily-chapter{font-size:25px;letter-spacing:3px;text-align:center;margin:8px 0 23px;color:#f0dfb4}
.daily-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;text-align:center}
.daily-stats>div{background:var(--skin-hud) center/100% 100% no-repeat;padding:14px 4px}
.daily-stats span{display:block;font-size:13px;color:#b7b5a3;margin-bottom:7px}
.daily-stats strong{font-size:21px;font-weight:400;color:#ffe2a6}
.daily-copy,.start-copy{text-align:center;font-size:14px;color:#d3c4a7;line-height:1.9;margin:23px 0 0}
.start-copy{font-size:16px;margin-bottom:20px}
.result-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0f26334d,transparent 37%,#04101b45 53%,#020811bf 100%)}
.result-shade.victory{background:linear-gradient(160deg,#eab45f24 0,#102f3c22 23%,transparent 39%,#020912af 74%,#000710bb 100%)}
.result-shade.defeat{background:linear-gradient(#03111b55,#010810e3)}
.result-scene{filter:brightness(.84)}
.result-pins{top:76px;height:137px}
.result-pins .chapter-pin{transform:scale(1.2)}
.lighting-up .pin-head{animation:district-light-up 1.1s ease-out both}
.lighting-up .pin-head>.skin-art{animation:district-frame-light-up 1.1s ease-out both}
.lighting-up .pin-before{position:absolute;inset:0;animation:district-before .7s steps(1,end) both}
.lighting-up .pin-after{animation:district-after .7s steps(1,end) both}
@keyframes district-light-up{0%,45%{color:#bcd9ee;box-shadow:none}75%{color:#fff7d7;box-shadow:0 0 28px #ffca58}100%{color:#fff0c6;box-shadow:0 0 16px #f8b32b9c}}
@keyframes district-frame-light-up{0%,45%{filter:none}100%{filter:sepia(.95) saturate(1.7) brightness(1.3)}}
@keyframes district-before{0%{opacity:1}100%{opacity:0}}
@keyframes district-after{0%{opacity:0}100%{opacity:1}}
.result-title{position:absolute;top:255px;left:16px;width:358px;text-align:center;text-shadow:0 5px 9px #000}
.result-title h1{font-size:56px;letter-spacing:1px;line-height:1.3;font-weight:900;margin:0;color:#fff0c6}
.result-title p{background:var(--skin-hud) center/100% 100% no-repeat;font-size:19px;letter-spacing:3px;margin:9px auto 0;padding:6px 14px;width:205px}
.result-title.failure h1{color:#e2d6bf}
.result-title.failure p{width:265px;font-size:17px;letter-spacing:1.5px;white-space:nowrap}
.result-panel{position:absolute;left:21px;top:397px;width:348px;height:220px;padding:20px 25px 16px;text-align:center;filter:drop-shadow(0 4px 9px #000)}
.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:16px;border-bottom:1px solid #bea66a44}
.result-stats>div>span{display:block;font-size:17px;letter-spacing:2px;margin-bottom:4px}
.result-stats strong{font-size:35px;color:#f6cf72;font-family:Georgia,serif;font-weight:400;line-height:1}
.result-stats strong small{font-size:24px}
.result-coin-row{display:flex;align-items:center;justify-content:center;gap:21px;margin-top:13px}
.coin-medallion{height:66px;width:66px;display:flex;align-items:center;justify-content:center;font-size:64px;font-family:Georgia,serif;color:#ffd47a;text-shadow:0 2px 1px #85501c,0 0 15px #eda124a8}
.coin-medallion .card-icon{width:74px;height:66px;filter:drop-shadow(0 0 10px #e4a33455)}
.result-coin-row>div>span{display:block;font-size:17px;letter-spacing:2px}
.result-coin-row strong{font-family:Georgia,serif;font-style:italic;font-size:56px;font-weight:600;line-height:1.08;color:#ffe38f;text-shadow:0 1px 1px #7d4315,0 0 13px #dd93185e}
.result-panel>p{font-size:12px;color:#ddc999;margin:5px 0 0}
.result-actions{position:absolute;top:637px;left:30px;width:330px;display:grid;gap:11px}
.result-actions .primary{height:69px;font-size:37px}
.result-actions .primary.claim-menu-button{font-size:25px;letter-spacing:1px;white-space:nowrap}
.result-actions .secondary{height:54px;font-size:23px;letter-spacing:1px}
.result-actions p{font-size:13px;letter-spacing:1px;text-align:center;color:#c3bfaf;margin:0;line-height:1.5}
.notice{position:absolute;z-index:30;left:39px;top:70px;max-width:312px;width:312px;padding:10px 16px;text-align:center;font-size:16px;line-height:1.5;color:#ffedc2;background:#07121aed;border:1px solid #a68b536b;box-shadow:0 3px 12px #000b;pointer-events:none;border-radius:3px}
.ad-shade{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#01040aeb;pointer-events:auto}
.ad-dialog{width:330px;text-align:center;padding:33px 26px;filter:drop-shadow(0 5px 18px #000)}
.ad-dialog h2{margin:0 0 18px;font-size:28px;letter-spacing:2px;color:#f2ddb3}
.ad-dialog p{font-size:14px;line-height:1.8;color:#c7c4b6;margin:0 0 25px}
.ad-dialog .skin-button{margin-top:10px;font-size:22px;min-height:49px}
.ad-dialog .primary{font-size:28px;min-height:59px}
.ad-dialog small{display:block;margin-top:19px;font-size:11px;color:#aaa99b;line-height:1.6}
.loading-lantern{width:73px;height:86px;margin:0 auto 21px;animation:lantern-glow 1.3s ease-in-out infinite}
.loading-lantern .card-icon{width:100%;height:100%}
@keyframes lantern-glow{50%{filter:drop-shadow(0 0 15px #e8ad50)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}
}

.pin-head>b{transform:rotate(45deg);font-weight:700;text-shadow:0 1px 2px #100906}
.pin-head::first-letter{transform:none}
@media(prefers-reduced-motion:reduce){.lighting-up .pin-before{display:none}.lighting-up .pin-after{opacity:1}}


