:root{--purple:#332b80;--green:#476c4b;--cream:#fff4c3;--gold:#ffd65c;--orange:#f68d39;--panel:#769a52;--ink:#345337}*{box-sizing:border-box}body{margin:0;background:var(--purple);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}button:disabled{cursor:not-allowed}button{border:0}img{object-fit:contain} .game{width:min(100%,430px);min-height:100svh;margin:auto;background:#ccdd79 url('assets/游戏主背景图1.jpg') center/100% 100% no-repeat;padding:0 10px 28px;overflow:hidden}.header{height:76px;position:relative}.about{position:absolute;right:2px;top:12px;font-size:10px!important;padding:5px 8px!important}.orange{color:#fff5cc;background:linear-gradient(#ff9b3d,#f18432);border:1px solid #f8cc77;box-shadow:inset 0 1px 2px #ffe0a380;border-radius:13px}.orange:hover{filter:brightness(1.07)}.orange:active{transform:translateY(1px)}.small{padding:6px 9px;white-space:nowrap;font-size:12px}.progress{margin:0 16px 22px}.steps{display:grid;grid-template-columns:repeat(5,1fr);position:relative;align-items:center;margin-bottom:6px}.steps:before{content:"";height:3px;background:#86a654;position:absolute;left:10%;right:10%;top:50%}.step{height:23px;position:relative;background:none;padding:0}.step img{height:25px;width:25px}.step.active{filter:brightness(1.15)}.step.done:after{content:'✓';color:#fff4b0;position:absolute;right:17px;top:6px}.gifts{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.gift{width:100%;aspect-ratio:1;border-radius:50%;background:#57723bd9;padding:5px;position:relative;opacity:.62}.gift img{width:100%;height:100%}.gift.active{opacity:1;outline:3px solid #fff5a0;box-shadow:0 0 13px #ffff7c}.gift.done{opacity:1}.gift .badge{position:absolute;bottom:-4px;left:0;right:0;font-size:9px;color:var(--cream);background:#587a3c;border-radius:8px;line-height:15px}.tray{height:253px;background:url('assets/中间托盘底座.png') center/100% 100% no-repeat;padding:18px 22px 20px;position:relative}.recipe{height:30px;margin:0;display:flex;align-items:center;justify-content:center;gap:4px;color:#fff;font-size:11px;white-space:nowrap}.recipe img{width:20px;height:20px}.recipe b{color:#f0f18a;font-weight:600}.battery{width:13px!important;height:17px!important;vertical-align:middle}.cells{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);height:182px;gap:4px 14px}.cell{background:none;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:15px;padding:4px;min-width:0}.cell img{width:68px;height:68px;transition:transform .2s}.cell:not(:disabled):hover img{transform:rotate(-7deg) scale(1.08)}.cell.revealed img{width:48px;height:48px}.cell.newly-revealed img{animation:pop .35s ease}.cell span{color:var(--cream);font-size:11px;position:absolute;bottom:4px}.cell.target{background:#efea7e22;box-shadow:inset 0 0 18px #ffe57745}.cell.target span{color:#ffed82}.hint{font-size:12px;text-align:center;margin:6px 0 12px;letter-spacing:1px}.hint:before{content:'—';margin-right:9px;color:#799a49}.actions{display:flex;justify-content:center;gap:10px;min-height:52px;margin-bottom:13px}.primary{min-width:142px;border-radius:30px;border:3px solid #f8e58c;background:linear-gradient(#ffd35d,#f89a31);color:#fffdf0;font-size:13px;font-weight:600;box-shadow:0 0 0 2px #96b86f,inset 0 0 0 3px #ffc75c,0 4px 7px #6b894033;text-shadow:0 1px 2px #b37a36;padding:9px 13px;min-height:49px}.primary:hover{filter:brightness(1.07)}.primary:disabled{opacity:.65}.secondary{background:linear-gradient(#93b866,#638749);border-color:#cee494}.subtext{display:block;font-size:10px;opacity:.85;font-weight:400;margin-top:2px}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:9px 7px;background:var(--panel);color:#fff;border:1px solid #658847;border-radius:12px;box-shadow:0 4px 11px #486d384d;margin-bottom:12px;font-size:11px;text-align:center}.stats>div+div{border-left:1px solid #9ab573}.stats strong{display:block;margin-top:3px;font-size:12px;color:#f2f383;font-style:italic;letter-spacing:1px}.wallet{display:flex;align-items:center;gap:6px;padding:9px 11px;border-radius:14px;background:var(--panel);border:1px solid #648744;box-shadow:0 6px 13px #49663055;color:#fff}.battery.large{width:28px!important;height:31px!important;flex-shrink:0;margin-right:2px}.balance{flex:1;font-size:11px;min-width:65px}.balance button{display:block;color:#f3ee76;font-size:15px;font-weight:bold;background:none;padding:0;font-style:italic;letter-spacing:1px}.wallet .small{padding:6px 8px}footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:15px}footer a{color:#48683e;text-decoration:none;font-weight:600}.support{padding:5px 13px;border-radius:20px;background:#fff9da;color:#48603a;border:1px solid #eee4ab}footer p{width:100%;text-align:center;font-size:10px;opacity:.6;margin:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#294e3bed;color:#fff7d8;padding:11px 18px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw;z-index:5}#toast.show{opacity:1}dialog{border:2px solid #bed093;border-radius:20px;color:#3c5938;background:linear-gradient(125deg,#f0f8e5,#deedcf);width:min(390px,92vw);padding:19px;max-height:85svh;box-shadow:0 15px 70px #182a3780}dialog::backdrop{background:#17273e94;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}h2{font-size:19px;margin:0}.close{background:none;font-size:26px;line-height:1;color:#698555;padding:0 5px}.modal-copy{line-height:1.9;font-size:13px}.modal-copy a{color:#648535}dialog .primary{width:100%;margin-top:15px;min-height:42px}dialog input{width:100%;padding:12px;border:1px solid #a8bf85;border-radius:10px;font:inherit;margin:10px 0;background:#ffffffaa;color:#345337}dialog label{display:block}.error{color:#ab4634;font-size:12px}.empty{text-align:center;padding:28px 8px;line-height:1.8;color:#789064}.bag-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #c5d8ab}.bag-row img{width:56px;height:56px}.bag-row div{flex:1}.bag-row small{display:block;color:#728d55;margin-top:5px}.total{text-align:center;padding:12px;background:#d0e3b5;border-radius:12px;margin-top:12px}.record{border-bottom:1px solid #cadcb5;padding:12px 0;display:flex;justify-content:space-between;font-size:12px}.record small{display:block;opacity:.7;margin-top:5px}.record b{color:#5a7f31}.history-stats{display:flex;justify-content:space-around;gap:6px;text-align:center;background:#d4e6bb;border-radius:10px;padding:10px;font-size:11px}.history-stats b{display:block;margin-top:5px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes pop{0%{transform:scale(.2) rotate(-15deg)}70%{transform:scale(1.15)}100%{transform:scale(1)}}@media(max-width:360px){.recipe{font-size:10px;gap:2px}.gifts{gap:6px}.tray{padding-left:16px;padding-right:16px}.wallet{padding:9px 7px;gap:4px}.wallet .small{font-size:10px;padding:6px}.progress{margin-left:10px;margin-right:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Fixed gift diameters keep intrinsic PNG sizes from widening grid tracks. */
.header{height:82px}.gifts{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.gift{width:60px;height:60px;aspect-ratio:auto;justify-self:center;min-width:0}.progress{margin-bottom:24px}.gift img{display:block;width:50px;height:50px}@media(max-width:360px){.gift{width:52px;height:52px;padding:4px}.gift img{width:44px;height:44px}.gifts{gap:4px}}

/* Panels keep their controls visible while the item list scrolls. */
#modal::backdrop{background:#0009;backdrop-filter:blur(4px)}
#modal[data-kind="bag"],#modal[data-kind="history"]{width:min(380px,calc(100vw - 32px));padding:0;border:0;border-radius:12px;background:#fff;color:#3f5b3b;max-height:calc(100svh - 32px);overflow:hidden;box-shadow:0 12px 40px #17273e60}
#modal[data-kind="bag"][open],#modal[data-kind="history"][open]{display:flex;flex-direction:column}
#modal[data-kind="bag"]{height:360px}
#modal[data-kind="bag"] .modal-head,#modal[data-kind="history"] .modal-head{flex-shrink:0;min-height:51px;margin:0;padding:12px 16px;background:linear-gradient(90deg,#f1f8e9,#e4f1d8);border-bottom:1px solid #d8e3c9}
#modal[data-kind="bag"] h2,#modal[data-kind="history"] h2{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}
#modal[data-kind="bag"] h2:before{content:"";width:28px;height:28px;flex-shrink:0;border-radius:6px;background:#65864d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='white' stroke-width='1.4'%3E%3Crect x='3' y='5' width='12' height='10' rx='1.5'/%3E%3Cpath d='M6 5V3.5h6V5M6.5 6.5v7M11.5 6.5v7'/%3E%3C/svg%3E") center/18px 18px no-repeat}
#modal[data-kind="bag"] .close,#modal[data-kind="history"] .close{font-size:20px;font-weight:300;color:#8c9881;min-width:28px;min-height:28px;background:#fff;border-radius:50%;padding:0}
#modal[data-kind="bag"] #modal-content,#modal[data-kind="history"] #modal-content{display:flex;flex:1;flex-direction:column;min-height:0}
.panel-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c4d6b1 transparent}
#modal[data-kind="bag"] .panel-body{flex:1;padding:13px 16px;background:#f8faf4}
.panel-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:12px 16px;border-top:1px solid #e4ebdf;background:#fff}
.panel-footer .total{margin:0;padding:0;background:none;border-radius:0;text-align:left;font-size:11px;white-space:nowrap;color:#a3aa96}
.panel-footer .total small,.panel-footer .total .label{display:block;font-size:10px;margin-bottom:3px;color:#abb29f}
.panel-footer .total b,.panel-footer .bag-total{font-size:15px;font-style:italic;color:#d7aa43}
.bag-total small{display:block;margin-bottom:3px;font-size:10px;font-weight:400;font-style:normal;color:#abb29f}
.bag-total strong{font-size:15px;font-weight:600;line-height:1.3}
#modal .panel-footer .primary,#modal[data-kind="bag"] .panel-footer .small{min-width:104px;width:auto;min-height:34px;padding:7px 15px;margin:0;border:0;border-radius:10px;background:#96bc65;box-shadow:0 2px 5px #58644920;text-shadow:none;color:#fff;font-size:12px}
#modal .panel-footer .primary:disabled,#modal[data-kind="bag"] .panel-footer .small:disabled{background:#f1f2ef;color:#b1b5ac;opacity:1;box-shadow:0 2px 5px #58644925}
.bag-row{display:flex;align-items:center;gap:10px;min-height:78px;padding:10px 0;border-bottom:1px solid #ecf0e7}
.bag-row:last-child{border-bottom:0}
.bag-row .gift-thumb{display:flex;align-items:center;justify-content:center;flex:0 0 54px;width:54px;height:54px;padding:2px;background:#f2f7e9;border-radius:8px}
.bag-row .gift-thumb img{display:block;width:50px;height:50px}
.bag-row .gift-info{flex:1;min-width:0}
.gift-name{display:block;font-size:13px;font-weight:600;line-height:1.5;color:#41583c}
.video-trigger{display:block;padding:2px 0;margin:0;background:none;color:#8baf60;font-size:10px;line-height:1.5;text-align:left}
.gift-name .video-trigger{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:3px;width:16px;height:16px;padding:0;border:1px solid #a7bf87;border-radius:50%;color:#7e9d5d;font-size:9px;line-height:1}
.bag-prices{display:flex;align-items:center;gap:4px;font-size:11px;color:#939c89;line-height:1.5}
.bag-prices b{font-weight:500;color:#7d9e51}
.bag-row .bag-count{flex:0 0 auto;min-width:57px;text-align:right;font-size:12px;color:#6d7f5e}
.bag-count small{display:block;color:#839e61;font-size:11px;margin-top:5px}
#modal[data-kind="bag"] .empty{min-height:220px;padding:47px 8px 24px;color:#99a781;font-size:12px;line-height:1.8}
#modal[data-kind="history"] .panel-body{max-height:350px;padding:14px 16px;background:#f0f6e9}
#modal[data-kind="history"] #modal-content{background:#f0f6e9}
#modal[data-kind="history"] #modal-content>.history-stats{flex-shrink:0;margin:14px 16px 0}
.history-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin-bottom:12px;background:none;border-radius:0;color:#829074;font-size:10px;line-height:1.4}
.history-stats>div{padding:10px 3px;background:#fff;border:1px solid #e1e8d7;border-radius:7px;min-width:0}
.history-stats b{display:block;margin-top:5px;font-size:13px;font-weight:600;color:#668b42;overflow-wrap:anywhere}
.record{display:flex;align-items:center;gap:10px;padding:10px;border:0;border-radius:7px;margin-bottom:9px;background:#fff;font-size:12px;min-height:64px}
.record:last-child{margin-bottom:0}
.record img{flex:0 0 42px;width:42px;height:42px}
.record-info{flex:1;min-width:0;color:#435e3b;line-height:1.5}
.record-info small{display:block;margin-top:3px;color:#95a087;font-size:10px;opacity:1}
.record-profit{flex-shrink:0;text-align:right;font-size:13px;font-weight:600;color:#6f9d42}
.record-profit.negative,.record-profit.loss{color:#d27765}
.record-profit b{color:inherit}
.record-profit small{display:block;margin-top:3px;font-size:10px;font-weight:400;color:#94a283}
#modal[data-kind="history"] .empty{padding:38px 8px;color:#9bab8d}
#modal[data-kind="history"] .panel-footer{justify-content:flex-end;min-height:58px}
#modal[data-kind="history"] .panel-footer .primary,#modal[data-kind="history"] .panel-footer .small{min-width:90px;color:#879877;border:1px solid #ccd8bf;background:#fff;box-shadow:none;border-radius:7px;padding:7px 11px;font-size:11px}
#modal[data-kind="history"] .panel-footer .small:disabled{color:#b0b9a6;opacity:.7}
#effect-layer{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:auto;overflow:hidden}
#effect-layer[hidden]{display:none}
#effect-layer .effect-video{display:block;width:min(100vw,430px);height:100%;max-height:100svh;object-fit:contain;pointer-events:none}
#modal[data-kind="reward"]{position:fixed;width:min(330px,calc(100vw - 32px));height:365px;max-height:calc(100svh - 24px);padding:0;border:0;border-radius:0;background:transparent url('assets/恭喜获得.png') center/100% 100% no-repeat;color:#fff5bd;box-shadow:none;overflow:auto}
#modal[data-kind="reward"] .modal-head{position:absolute;top:17px;right:17px;margin:0;z-index:1}
#modal[data-kind="reward"] .modal-head h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#modal[data-kind="reward"] .close{color:#f4efbf;font-size:19px;border:1px solid #e7e4af80;border-radius:50%;width:25px;height:25px;padding:0}
.reward-content{position:relative;display:flex;align-items:center;flex-direction:column;min-height:365px;padding:71px 28px 78px;text-align:center}
.reward-gift{position:relative;display:flex;align-items:center;justify-content:center;width:90px;height:90px;padding:0;background:none;border-radius:14px}
.reward-gift img{display:block;width:90px;height:90px}
.play-mark{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #fff4b9;border-radius:50%;background:#587e3f;color:#fff5be;font-size:13px}
.reward-name{font-size:17px;font-weight:600;margin:6px 0 3px;color:#fff6c8;line-height:1.4}
.reward-content .video-trigger{color:#f0edb7;font-size:10px;text-align:center}
.reward-stats{width:100%;margin:12px 0 0;font-size:11px;line-height:1.8;color:#eef1c1;white-space:nowrap}
.reward-stats b{font-size:12px;color:#fff3b2}
#modal .claim-button{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);width:145px;min-width:0;height:43px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent url('assets/收下.png') center/100% 100% no-repeat;box-shadow:none;color:#fff9d9;font-size:16px;font-weight:600;text-shadow:0 1px 1px #ba9135}
#modal[data-kind="support"],#modal[data-kind="about"]{width:min(340px,calc(100vw - 32px));padding:27px 25px 23px;border:0;border-radius:0;background:transparent url('assets/resource.pop-bg.png') center/100% 100% no-repeat;color:#fff5cf;box-shadow:none}
#modal[data-kind="support"]{min-height:365px;padding-bottom:76px}
#modal[data-kind="about"]{padding-bottom:76px}
#modal[data-kind="support"] .modal-head,#modal[data-kind="about"] .modal-head{justify-content:center;margin:0 0 14px;min-height:24px}
#modal[data-kind="support"] h2,#modal[data-kind="about"] h2{font-size:16px;font-weight:600;color:#fff6d0}
#modal[data-kind="support"] .close,#modal[data-kind="about"] .close{position:absolute;top:18px;right:18px;border:1px solid #e8edc780;border-radius:50%;width:27px;height:27px;min-width:0;padding:0;font-size:20px;color:#f9f5d6}
.support-code{display:block;width:176px;height:176px;object-fit:contain;margin:0 auto 10px;padding:9px;background:#fff;border:8px solid #edf0df;border-radius:20px}
.support-copy{text-align:center;font-size:11px;line-height:1.8;color:#f5f4d2;margin:8px -8px}
.author-link{color:#fff29b;text-decoration:none}
#modal[data-kind="support"] .primary,#modal[data-kind="about"] .primary{display:block;width:145px;min-width:0;height:43px;min-height:0;margin:10px auto 0;padding:0;border:0;border-radius:0;background:transparent url('assets/收下.png') center/100% 100% no-repeat;box-shadow:none;font-size:15px;color:#fff9d9}
#modal[data-kind="about"] .modal-copy{font-size:12px;color:#f5f4d2;line-height:1.9}
#modal[data-kind="about"] .modal-copy a{color:#fff29b}
.text-button{padding:0;background:none;color:#fff29b;font:inherit}
.inline-balance{display:block;width:99px;max-width:100%;min-width:0;padding:0 2px;border:0;border-bottom:1px dashed #f9e58c60;border-radius:2px;outline:none;background:#fff1b50b;color:#f3ee76;font-family:inherit;font-size:15px;font-weight:700;font-style:italic;letter-spacing:.5px;appearance:textfield}
.inline-balance::-webkit-inner-spin-button,.inline-balance::-webkit-outer-spin-button{appearance:none;margin:0}
.inline-balance:focus{background:#fff1b52b;outline:1px solid #f7df8b}
.primary.sprite-open,.primary.sprite-exit,.primary.sprite-locked{width:150px;min-width:0;height:50px;min-height:50px;padding:7px 10px;border:0;border-radius:0;box-shadow:none;background-color:transparent;background-position:center;background-size:100% 100%;background-repeat:no-repeat;font-size:13px}
.primary.sprite-open{background-image:url('assets/开启锦囊 (按钮).png')}
.primary.sprite-exit{background-image:url('assets/退出游戏 (按钮).png')}
.primary.sprite-locked{background-image:url('assets/不可锻造 (按钮).png')}
.primary.sprite-locked:disabled{opacity:1}
.step.done:after{content:none}
@media(max-height:600px){#modal[data-kind="bag"]{height:min(360px,calc(100svh - 24px))}#modal[data-kind="bag"] .empty{min-height:0;padding-top:30px}#modal[data-kind="history"] .panel-body{max-height:calc(100svh - 135px)}}
@media(max-width:360px){.panel-footer{gap:8px;padding:10px 12px}.panel-footer .total{font-size:11px}#modal .panel-footer .primary,#modal[data-kind="bag"] .panel-footer .small{min-width:91px;padding:7px 10px}.bag-row{gap:8px}.bag-row .bag-count{min-width:48px}.history-stats{gap:5px}.history-stats b{font-size:12px}.reward-stats{font-size:10px}}
#modal[data-kind="bag"] .bag-row{min-height:66px;margin-bottom:8px;padding:10px;border:1px solid #c6d8b8;border-radius:12px;background:#fff;box-shadow:0 1px 2px #3150230d}
#modal[data-kind="bag"] .gift-thumb{flex-basis:42px;width:42px;height:42px;border:1px solid #d7e3cb}
#modal[data-kind="bag"] .gift-thumb img{width:38px;height:38px}
#modal[data-kind="bag"] .gift-name{font-size:12px}
#modal[data-kind="bag"] .bag-count .bag-prices{color:#d98c3c;justify-content:flex-end}
#modal[data-kind="bag"] .panel-footer .small{background:linear-gradient(#ffa349,#ee8a37)}
#modal[data-kind="bag"] .panel-footer .small:disabled{background:#f1f2ef}
#modal[data-kind="history"] .record{border:1px solid #c6d8b8;border-radius:12px}
#modal[data-kind="history"] .record img.battery{flex:0 0 13px!important}
.reward-content{padding-top:90px}
.reward-gift,.reward-gift img{width:110px;height:110px}
.reward-name{margin-top:8px;padding:8px 15px;border:1px solid #c5d97f;border-radius:24px;font-size:13px;font-weight:500;background:#6f925945;color:#ffffb9}
.reward-stats{color:#48683c;margin-top:10px}
.reward-stats b{color:#f5f285}
#modal[data-kind="history"] h2:before{content:"";width:28px;height:28px;flex-shrink:0;border-radius:6px;background:#65864d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='white' stroke-width='1.4'%3E%3Crect x='4' y='3' width='10' height='12' rx='1.5'/%3E%3Cpath d='M7 6h4M7 9h4M7 12h3M2 5v9h2'/%3E%3C/svg%3E") center/18px 18px no-repeat}
#modal[data-kind="support"] .support-image-link{display:block;width:min(100%,280px);margin:0 auto;text-decoration:none}
#modal[data-kind="support"] .support-code{width:100%;height:auto;margin:0;padding:0;border:0;border-radius:12px;cursor:zoom-in}
.support-image-hint{margin:8px 0;text-align:center;font-size:10px;color:#f5f4d2}
