@charset "UTF-8";:root{color-scheme:dark;--bg: #0f1217;--panel: #171b22;--panel-2: #1d222b;--line: #303642;--text: #ece8e1;--muted: #8b949f;--red: #ff4655;--red-dark: #bd3442;--cyan: #63d6c5;--gold: #f1ad4e;--font: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;--mono: "Arial Narrow", "Roboto Condensed", Consolas, sans-serif}*{box-sizing:border-box}html{min-width:320px;background:#090b0f}body{margin:0;min-height:100dvh;color:var(--text);background:radial-gradient(circle at 50% 20%,#24232c,#090b0f 65%);font-family:var(--font);font-size:14px}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:3px}button,a{touch-action:manipulation}svg{display:block}img{display:block}[hidden]{display:none!important}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{width:min(100%,680px);height:100dvh;margin:0 auto;overflow:clip;background:var(--bg);border-inline:1px solid #242933}.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--line);background:#12161c}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:33px;height:36px;display:grid;place-items:center;color:#fff;background:var(--red);font:900 25px/1 Arial,sans-serif;clip-path:polygon(0 0,100% 0,50% 100%);padding-bottom:8px}.brand strong{display:block;font-size:16px;letter-spacing:.12em;line-height:1.2}.brand div>span{display:block;margin-top:4px;color:var(--red);font:8px/1 var(--mono);letter-spacing:.22em}.header-actions{display:flex;gap:6px}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel)}.icon-button:hover{border-color:var(--red);background:#26222a}.icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.game-shell{height:calc(100dvh - 58px);padding:10px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:9px}.forge-panel{min-height:0;display:flex;flex-direction:column}.stage-meta{flex:0 0 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;color:#76808c;font:9px/1.4 var(--mono);letter-spacing:.08em}.stage-meta strong{color:#aab2bb;font-weight:500}.forge-stage{position:relative;isolation:isolate;flex:1 1 auto;min-height:155px;overflow:clip;border:1px solid #363c47;background:#172331 url(./cliff-De_cYrJM.png) center / cover no-repeat}.forge-stage:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,#0b11172b,transparent 45%,#0b111714),linear-gradient(0deg,#0a0f17e6,transparent 42%,#14233b1a)}.forge-stage:after{content:"";position:absolute;z-index:7;left:0;top:0;width:38px;height:3px;background:var(--red)}.cliff-mist{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 55%,#b9d9ef18)}.stage-code{position:absolute;z-index:4;right:12px;top:12px;color:#a4b5c5;font:8px/1.7 var(--mono);letter-spacing:.15em;text-align:right;text-shadow:0 1px 4px #000}.selected-display{position:absolute;z-index:2;inset:0;min-height:0;transition:opacity .15s}.rarity-tag{position:absolute;left:12px;top:12px;padding:3px 8px;color:var(--rarity, #d16587);border:1px solid currentColor;background:#11151bb8;font-size:8px;letter-spacing:.14em}.selected-image-wrap{position:absolute;inset:15% 5% 28%;display:grid;place-items:center;transform-origin:60% 60%;will-change:translate,rotate,scale,opacity}.selected-image-wrap img{width:100%;max-height:150px;aspect-ratio:640 / 240;object-fit:contain;filter:drop-shadow(0 15px 12px #0009)}.selected-display h1{position:absolute;left:12px;bottom:45px;margin:0;font-size:17px;font-weight:600;letter-spacing:.08em;text-shadow:0 2px 6px #000}.selected-display h1 small{margin-left:5px;color:#b1bbc7;font-size:10px;font-weight:400}.selected-display p{position:absolute;left:12px;bottom:30px;margin:0;color:var(--rarity, #d16587);font:11px/1 var(--mono);text-shadow:0 2px 5px #000}.roll-label{position:absolute;z-index:7;left:11px;bottom:9px;display:flex;align-items:center;gap:6px;color:#9aa8b7;font-size:8px;letter-spacing:.1em}.roll-label:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px #63d6c588}.empty-display{position:absolute;z-index:6;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);background:#0f121a99}.empty-display svg{width:36px;height:36px;fill:none;stroke:#59626e;stroke-width:1.3}.empty-display strong{color:#bbc1c8;font-size:13px}.empty-display span{font-size:10px}.return-flight{position:absolute;z-index:6;inset:15% 8% 28%;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform-origin:60% 60%;will-change:translate,rotate,scale,opacity}.return-flight img{width:100%;max-height:160px;object-fit:contain;filter:drop-shadow(0 0 16px #d7ecff88) drop-shadow(0 15px 12px #0009)}.return-flight img+img{width:58%;margin-left:-18%}.forge-stage.is-dropping .selected-image-wrap{animation:cliff-drop .85s cubic-bezier(.45,.05,.75,.35) forwards}.forge-stage.is-dropping .roll-label{color:var(--red)}.forge-stage.is-dropping .roll-label:before{background:var(--red)}.forge-stage.is-returning .selected-display{opacity:0}.forge-stage.is-returning .return-flight{animation:cliff-return .85s cubic-bezier(.16,.75,.3,1) forwards}.forge-stage.is-returning .roll-label{color:var(--cyan)}.odds-strip{flex:0 0 51px;display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-top:0;background:#14181e}.odd-cell{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-right:1px solid #292f38}.odd-cell:last-child{border:0}.odd-cell span{color:#7f8994;font-size:8px;white-space:nowrap}.odd-cell strong{color:var(--odd-color, #c4cbd2);font:12px/1 var(--mono);font-weight:500}.forge-button{flex:0 0 55px;min-height:55px;margin-top:8px;padding:8px 17px;display:flex;align-items:center;justify-content:space-between;border:1px solid #ff6672;background:linear-gradient(105deg,var(--red-dark),var(--red) 60%,#ff5966);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));text-align:left}.forge-button:hover:not(:disabled){filter:brightness(1.08)}.forge-button:disabled{filter:grayscale(.7);opacity:.45}.forge-button span{display:flex;flex-direction:column;gap:2px}.forge-button small{font:7px/1 var(--mono);letter-spacing:.16em;opacity:.75}.forge-button strong{font-size:16px;letter-spacing:.15em}.forge-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6}.inventory-panel{min-width:0;border:1px solid var(--line);background:var(--panel)}.inventory-heading{height:39px;padding:5px 8px 5px 11px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.inventory-heading h2{margin:0;font-size:11px;font-weight:500;white-space:nowrap}.weapon-tabs{flex:1;min-width:0;display:flex;gap:3px;padding:2px;overflow-x:auto;background:#10141a;scrollbar-width:none}.weapon-tabs::-webkit-scrollbar{display:none}.weapon-tabs button{flex:0 0 auto;min-width:45px;padding:4px 8px;border:0;background:transparent;color:#7e8792;font-size:10px}.weapon-tabs button.active{scroll-initial-target:nearest;color:#fff;background:var(--red-dark)}#inventory-count{margin-left:auto;color:var(--muted);font:9px/1 var(--mono);white-space:nowrap}.inventory-list{height:112px;padding:7px;display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#49515d transparent}.skin-card{position:relative;flex:0 0 112px;min-width:0;padding:5px 6px;display:flex;flex-direction:column;align-items:center;border:1px solid #353c47;background:linear-gradient(145deg,#222832,#181d24);overflow:clip;text-align:center}.skin-card:before{content:"";position:absolute;inset:0;opacity:.1;background:radial-gradient(circle at 50% 35%,var(--rarity),transparent 70%);pointer-events:none}.skin-card:hover:not(:disabled){border-color:var(--rarity)}.skin-card.selected{border-color:var(--rarity);box-shadow:inset 0 -2px var(--rarity)}.skin-card:disabled{opacity:.35;filter:grayscale(.8)}.skin-card img{width:94px;height:48px;aspect-ratio:640 / 240;object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 5px #0008)}.skin-card strong{width:100%;margin-top:3px;overflow:hidden;color:#dce0e4;font-size:10px;font-weight:500;white-space:nowrap;text-overflow:ellipsis}.skin-card .card-value{margin-top:3px;color:var(--rarity);font:9px/1 var(--mono)}.card-quantity{position:absolute;z-index:1;top:4px;left:5px;color:#d9dfe5;font:8px/1 var(--mono)}.card-rarity{position:absolute;top:4px;right:5px;width:5px;height:5px;border-radius:50%;background:var(--rarity);box-shadow:0 0 6px var(--rarity)}.inventory-note{height:23px;margin:0;display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid #2a3039;color:#747e89;font-size:8px}.inventory-note span{width:4px;height:4px;background:var(--red)}dialog{color:var(--text)}dialog:modal{overscroll-behavior:contain}dialog::backdrop{overflow:hidden;overscroll-behavior:contain;background:#05070bdc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog[open]{animation:dialog-in .2s ease-out}.result-dialog,.settings-dialog,.history-dialog,.reset-dialog{width:min(460px,calc(100% - 26px));max-height:calc(100dvh - 28px);padding:27px 20px 20px;border:1px solid #4b525e;background:linear-gradient(150deg,#222833,#12161c 65%);box-shadow:0 24px 80px #000b;overflow-y:auto}.result-dialog{text-align:center}.dialog-close{position:absolute;top:9px;right:9px;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);background:#171c23;color:#a3acb6}.dialog-close svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}.dialog-kicker{color:var(--red);font:8px/1 var(--mono);letter-spacing:.2em}dialog h2{margin:9px 0 5px;font-size:24px;letter-spacing:.08em}.dialog-copy,#result-subtitle{margin:7px 0 17px;color:var(--muted);font-size:11px;line-height:1.7}.result-content{min-height:130px;padding:14px 8px;display:flex;align-items:center;justify-content:center;gap:12px;border-block:1px solid var(--line);background:#0e121866}.result-item{min-width:0;flex:1}.result-item img{width:100%;max-width:155px;height:72px;margin:0 auto 8px;aspect-ratio:640 / 240;object-fit:contain;filter:drop-shadow(0 8px 7px #0008)}.result-item strong{display:block;overflow:hidden;font-size:10px;font-weight:500;white-space:nowrap;text-overflow:ellipsis}.result-item small{display:block;margin-top:4px;color:var(--rarity);font:9px/1 var(--mono)}.result-arrow{color:var(--red)}.destroyed-mark{width:85px;height:70px;display:grid;place-items:center;color:var(--red);font:700 34px/1 var(--mono);border:1px solid #ff465555;transform:rotate(-4deg)}.result-delta{padding:14px 0;color:var(--cyan);font:20px/1 var(--mono)}.result-delta.negative{color:var(--red)}.result-delta small{display:block;margin-top:7px;color:var(--muted);font:9px/1 var(--font)}.primary-button,.secondary-button,.danger-button{min-height:44px;padding:10px 14px;border:1px solid var(--red);background:var(--red);color:#fff;font-size:12px}.primary-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.primary-button:disabled{opacity:.4}.primary-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.secondary-button{border-color:var(--line);background:var(--panel-2)}.danger-button{background:#9f2f3b}.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:15px}.presets button{padding:7px;border:1px solid var(--line);background:#1a2028;color:#aab2bc;font-size:10px}.presets button:hover{border-color:var(--red)}.odds-form{display:grid;gap:7px}.odds-input-row{display:grid;grid-template-columns:1fr 82px;align-items:center;gap:12px;padding:7px 10px;border:1px solid #2e3540;background:#151a21}.odds-input-row label{display:flex;align-items:center;gap:8px;color:#b9c0c8;font-size:11px}.odds-input-row label i{width:6px;height:6px;border-radius:50%;background:var(--odd-color)}.odds-input-row input{width:100%;padding:5px 7px;border:1px solid #3b444f;background:#0e1319;color:#fff;text-align:right;font:13px/1 var(--mono)}.odds-total{margin-top:12px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.odds-total strong{color:var(--cyan);font:15px/1 var(--mono)}.odds-total strong.invalid{color:var(--red)}.odds-error{min-height:18px;margin:5px 0;color:var(--red);font-size:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:17px 0 12px;border:1px solid var(--line)}.stats-grid div{padding:10px 4px;border-right:1px solid var(--line);text-align:center}.stats-grid div:last-child{border:0}.stats-grid span{display:block;color:var(--muted);font-size:8px}.stats-grid strong{display:block;margin-top:6px;font:15px/1 var(--mono)}.history-list{max-height:48dvh;overflow-y:auto;overscroll-behavior:contain}.history-entry{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 3px;border-top:1px solid #2c333d}.history-entry img{width:62px;height:34px;aspect-ratio:640 / 240;object-fit:contain}.history-entry strong{display:block;font-size:10px;font-weight:500}.history-entry p{margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:9px;white-space:nowrap;text-overflow:ellipsis}.history-entry>span{color:var(--delta, var(--cyan));font:10px/1 var(--mono)}.empty-history{padding:45px 10px;color:var(--muted);font-size:11px;text-align:center}.reset-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.reset-actions form,.reset-actions button{width:100%}.market-button{color:#ffd2d6;border-color:#ff465577}.protection-button{color:#b8c1cc}.protection-button.unlocked{color:#82909d}.protection-button.active{color:var(--cyan);border-color:var(--cyan);background:#17332f;box-shadow:inset 0 0 10px #63d6c522}.market-dialog{width:min(600px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:25px 18px 16px;border:1px solid #51485f;background:radial-gradient(circle at 50% 0,#30263e,#151821 60%);color:var(--text);overflow-y:auto;overscroll-behavior:contain}.market-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}.market-toolbar>span{margin-right:auto;color:#a9a0b6;font-size:10px}#market-follow{min-height:36px;padding:7px 12px;border:1px solid #63d6c577;background:#203b3b;color:#8de4d8;font-size:11px}#market-refresh{min-height:36px;padding:7px 12px;border:1px solid #a78bda;background:#654b91;color:#fff;font-size:11px}#market-refresh:disabled{opacity:.5}.market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.market-card{min-width:0;min-height:155px;display:flex;flex-direction:column;border:1px solid #484252;background:linear-gradient(145deg,#262b38,#191d28);overflow:clip}.market-card.revealed{border-color:var(--rarity)}.market-card.claimed{opacity:.58}.market-reveal{position:relative;flex:1;min-width:0;padding:10px 8px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;opacity:1;rotate:y 0deg;transition:opacity .3s ease-out,rotate .3s ease-out}@starting-style{.market-reveal{opacity:0;rotate:y 70deg}}.market-reveal:disabled{cursor:default}.market-reveal>span:not(.market-discount):not(.market-weapon){color:#9e93b2;font:8px/1 var(--mono);letter-spacing:.14em}.card-back-mark{color:var(--red)!important;font:900 45px/1 Arial,sans-serif!important;clip-path:polygon(0 0,100% 0,50% 100%);padding-bottom:10px;background:var(--red)}.market-reveal img{width:100%;height:59px;aspect-ratio:640 / 240;object-fit:contain;filter:drop-shadow(0 7px 7px #0008)}.market-reveal strong{max-width:100%;overflow:hidden;color:#f0eaf5;font-size:11px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.market-weapon{color:var(--rarity);font-size:9px}.market-reveal small{color:#a7a0b2;font:8px/1.2 var(--mono)}.market-reveal small s{margin-right:4px;color:#777181}.market-discount{position:absolute;right:0;top:0;padding:3px 6px;background:var(--rarity);color:#151219;font:700 10px/1 var(--mono)}.market-claim{flex:0 0 31px;border:0;border-top:1px solid var(--rarity);background:#202530;color:var(--rarity);font-size:10px;font-weight:600}.market-claim:not(:disabled):hover{background:var(--rarity);color:#17151b}.market-claim:disabled{cursor:default}.market-note{margin:12px 0 0;color:#81798e;font-size:8px;text-align:center}@media(max-height:700px){.market-dialog{padding-block:20px 12px}.market-dialog .dialog-copy{margin-bottom:8px}.market-toolbar{margin-block:8px}.market-grid{gap:7px}.market-card{min-height:132px}.market-reveal{padding-block:7px 5px;gap:4px}.market-reveal img{height:43px}.market-note{margin-top:8px}}@media(prefers-reduced-motion:reduce){.market-reveal{transition:none}}@keyframes cliff-drop{0%{translate:0 0;rotate:0deg;scale:1;opacity:1}18%{translate:-12px -18px;rotate:-8deg;scale:1.04;opacity:1}to{translate:-24px 360px;rotate:48deg;scale:.22;opacity:0}}@keyframes cliff-return{0%{translate:-24px 360px;rotate:-35deg;scale:.25;opacity:0}25%{opacity:1}75%{translate:-8px -16px;rotate:4deg;scale:1.04;opacity:1}to{translate:0 0;rotate:0deg;scale:1;opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(9px) scale(.98)}}@media(max-height:700px){.topbar{height:50px;padding-block:6px}.brand-mark{height:32px}.game-shell{height:calc(100dvh - 50px);padding:7px;gap:7px}.stage-meta{flex-basis:20px}.selected-image-wrap img,.return-flight img{max-height:100px}.odds-strip{flex-basis:45px}.forge-button{flex-basis:48px;min-height:48px;margin-top:6px}.inventory-heading{height:35px}.inventory-list{height:94px;padding:5px}.skin-card{flex-basis:101px;padding:3px 5px}.skin-card img{height:42px}.skin-card strong{margin-top:1px}.inventory-note{display:none}}@media(max-height:590px){.brand div>span,.stage-code{display:none}.selected-image-wrap img{max-height:76px}.selected-display h1{font-size:14px}.rarity-tag{padding-block:2px}.inventory-list{height:83px}.skin-card{flex-basis:94px}.skin-card img{height:36px}.skin-card .card-value{margin-top:1px}.odds-strip{flex-basis:40px}.odd-cell{gap:2px}}@media(prefers-reduced-motion:reduce){.forge-stage.is-dropping .selected-image-wrap,.forge-stage.is-returning .return-flight,dialog[open]{animation:none}}
