:root{--ink:#140d0b;--lacquer:#18100edb;--lacquer-solid:#1c1310;--line:#e8b84057;--gold:#e8b840;--gold-hi:#ffe39a;--paper:#f4e8d0;--paper-dim:#f4e8d0a8;--red:#b3261e;--red-hi:#e0493c;--blue:#3f8cff;--foe:#ff5a48;--f-title:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", "KaiTi", serif;--f-body:system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--card-w:clamp(64px, 11.5vmin, 104px)}html,body{background:var(--ink);height:100%;color:var(--paper);font-family:var(--f-body);-webkit-text-size-adjust:100%;overscroll-behavior:none;margin:0;overflow:hidden}#app{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:none;position:fixed;inset:0;overflow:hidden}#app *,#app :before,#app :after{box-sizing:border-box}#view{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}#ui{pointer-events:none;position:absolute;inset:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}img{-webkit-user-drag:none}.screen{pointer-events:none;padding:calc(var(--sat) + 10px) calc(var(--sar) + 12px) calc(var(--sab) + 10px) calc(var(--sal) + 12px);flex-direction:column;transition:opacity .28s,transform .28s;display:flex;position:absolute;inset:0}.screen>*{pointer-events:auto}.enter{opacity:0;transform:translateY(8px)}.btn{border:1px solid var(--line);min-height:42px;color:var(--paper);letter-spacing:.08em;background:linear-gradient(#3a2a22,#241814);border-radius:8px;padding:10px 18px;font-weight:600;transition:transform 80ms,filter .15s;box-shadow:0 2px #00000080,inset 0 1px #ffffff14}@media (hover:hover){.btn:hover{filter:brightness(1.18)}}.btn:active{transform:translateY(1px)scale(.98)}.btn.primary{border-color:var(--gold);color:#fff3d8;background:linear-gradient(#d2382c,#8e1c16)}.btn.danger{background:linear-gradient(#5a2420,#36120f);border-color:#ff5a4880}.btn.ghost{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140d0b8c}.tab{min-height:36px;color:var(--paper-dim);background:#140d0b99;border:1px solid #f4e8d033;border-radius:999px;padding:7px 14px;font-size:14px}.tab.on{background:var(--gold);color:#2a1a08;border-color:var(--gold-hi);font-weight:700}.tabs,.seg{flex-wrap:wrap;gap:6px;display:flex}.topbar{align-items:center;gap:12px;margin-bottom:10px;display:flex}.topbar-title{font-family:var(--f-title);letter-spacing:.3em;text-align:center;text-shadow:0 2px 8px #000;color:var(--gold-hi);flex:1;font-size:clamp(20px,4vmin,30px);font-weight:900}.topbar-spacer{width:84px}.toast{left:50%;top:calc(var(--sat) + 64px);border:1px solid var(--line);opacity:0;pointer-events:none;z-index:90;text-align:center;background:#140d0beb;border-radius:999px;width:max-content;max-width:calc(100% - 24px);padding:9px 18px;font-size:14px;position:absolute;transform:translate(-50%,-8px)}.toast.show{animation:2.2s forwards toast}@keyframes toast{0%{opacity:0;transform:translate(-50%,-8px)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}.row{align-items:center;gap:12px;min-height:46px;display:flex}.row>span:first-child{width:5.5em;color:var(--paper-dim);flex:none}.row input[type=range]{accent-color:var(--gold);flex:1;min-width:0;height:28px}.row b{text-align:right;font-variant-numeric:tabular-nums;width:3.2em}.row .seg{flex-wrap:nowrap;flex:1;min-width:0}.row .seg .tab{white-space:nowrap;flex:1;min-width:0;padding-inline:4px}.note{color:var(--paper-dim);padding:2px 0 8px;font-size:12.5px;line-height:1.6}.card{width:var(--card-w);aspect-ratio:4/5;cursor:pointer;isolation:isolate;--fc:#b08a4a;background:#241a16;border:2px solid #6a5a48;border-radius:9px;flex:none;transition:transform .14s,filter .14s,box-shadow .14s;position:relative;box-shadow:0 3px 8px #0000008c}.card.small{width:calc(var(--card-w) * .62);border-width:1.5px;border-radius:6px}.card.f-shu{--fc:#3fae6a}.card.f-wei{--fc:#4f7fd6}.card.f-wu{--fc:#d6534f}.card.f-qun{--fc:#b08a4a}.card.r-rare{border-color:#6fa8ff}.card.r-epic{border-color:#c070ff}.card.r-legend{border-color:var(--gold);box-shadow:0 3px 8px #0000008c,0 0 10px #e8b84073}.card-bg{z-index:-1;background:radial-gradient(120% 90% at 50% 20%, color-mix(in srgb, var(--fc) 70%, #fff 0%) 0%, color-mix(in srgb, var(--fc) 45%, #000) 55%, #17100e 100%);border-radius:6px;position:absolute;inset:0}.card-art{object-fit:cover;pointer-events:none;border-radius:6px;width:100%;height:100%;position:absolute;inset:0}.card.t-spell .card-art{object-fit:contain}.card-cost{width:1.75em;height:1.75em;font-weight:800;font-size:calc(var(--card-w) * .2);color:#fff;text-shadow:0 1px 2px #000;background:radial-gradient(circle at 35% 30%,#ff8a70,#a81c14);border:1.5px solid #ffd9a0;border-radius:50%;place-items:center;display:grid;position:absolute;top:-6px;left:-6px}.card.small .card-cost{font-size:calc(var(--card-w) * .145);top:-4px;left:-4px}.card-faction{font-family:var(--f-title);font-size:calc(var(--card-w) * .13);color:#fff;background:color-mix(in srgb, var(--fc) 80%, #000);opacity:.92;border-radius:4px;padding:0 .3em;font-weight:900;position:absolute;top:3px;right:3px}.card.small .card-faction{display:none}.card-name{text-align:center;font-family:var(--f-title);font-weight:900;font-size:calc(var(--card-w) * .165);letter-spacing:.06em;text-shadow:0 1px 3px #000;white-space:nowrap;background:linear-gradient(#0000,#000000d9 55%);border-radius:0 0 6px 6px;padding:.9em 2px .22em;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.card.small .card-name{font-size:calc(var(--card-w) * .12)}.card.locked{filter:grayscale()brightness(.55)}.card-lock{text-align:center;font-size:calc(var(--card-w) * .12);background:#000000b3;padding:2px 0;position:absolute;inset:auto 0 38%}.card.in-deck:after{content:"已编入";background:var(--gold);color:#2a1a08;border-radius:4px 0 0 4px;padding:1px 5px;font-size:11px;font-weight:800;position:absolute;bottom:24%;right:-4px}.menu{padding:calc(var(--sat) + 4vh) calc(var(--sar) + 5vw) calc(var(--sab) + 3vh) calc(var(--sal) + 5vw);background:linear-gradient(90deg,#0a060500 0% 45%,#0a06059e 100%);justify-content:space-between;align-items:flex-start}.menu-title{text-shadow:0 3px 14px #000c;grid-template-columns:auto auto;align-items:center;column-gap:14px;display:grid}.menu-title h1{font-family:var(--f-title);letter-spacing:.12em;background:linear-gradient(#fff3c8,#e8b840 55%,#b06a18);color:#0000;filter:drop-shadow(0 4px #3c0c08e6)drop-shadow(0 8px 18px #0009);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(46px,11vmin,104px);font-weight:900;line-height:1}.menu-seal{writing-mode:vertical-rl;font-family:var(--f-title);background:var(--red);color:#ffe9c0;letter-spacing:.2em;border:2px solid #ffcf8a;border-radius:6px;padding:.5em .3em;font-size:clamp(15px,2.6vmin,22px);font-weight:900;box-shadow:0 3px 10px #00000080}.menu-sub{letter-spacing:.5em;color:var(--paper);grid-column:1/-1;margin-top:10px;font-size:clamp(12px,2vmin,16px)}.menu-buttons{flex-direction:column;align-self:flex-end;gap:10px;width:min(320px,44vw);display:flex}.btn.big{text-align:left;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(90deg,#3c241ceb,#1c120fc7);border-radius:10px;padding:11px 18px}.btn.big.primary{background:linear-gradient(90deg,#c8342a,#781812e0)}.btn.big span{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.btn.big b{font-family:var(--f-title);letter-spacing:.3em;font-size:clamp(18px,3vmin,24px)}.btn.big i{color:var(--paper-dim);letter-spacing:.05em;font-size:12px;font-style:normal;font-weight:400}.menu-foot{color:#f4e8d080;letter-spacing:.2em;text-shadow:0 1px 3px #000;align-self:center;font-size:11px}.portrait .menu{background:linear-gradient(#0a060559 0%,#0a060500 30% 50%,#0a0605c7 100%);align-items:center}.portrait .menu-buttons{align-self:center;gap:7px;width:min(360px,86vw);margin-top:auto;margin-bottom:14px}.portrait .btn.big{padding:8px 16px}.portrait .menu-title{justify-content:center}.panel-screen{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(#0a060580,#0a0605bd)}.level-list,.card-grid,.settings{-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;min-height:0;overflow-y:auto}.level-list{flex-direction:column;gap:8px;width:min(760px,100%);margin:0 auto;padding:2px 2px 20px;display:flex}.level{text-align:left;background:var(--lacquer);border:1px solid #f4e8d024;border-radius:12px;grid-template-columns:44px 56px 1fr auto;align-items:center;gap:12px;min-height:76px;padding:8px 14px 8px 8px;display:grid}.level.current{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), 0 0 18px #e8b84040}.level.locked{opacity:.5}.level-num{font-family:var(--f-title);text-align:center;color:var(--gold);font-size:26px;font-weight:900}.level-face{object-fit:cover;object-position:50% 12%;border:1px solid var(--line);background:radial-gradient(circle at 50% 30%,#6a3a30,#241410);border-radius:8px;width:56px;height:60px}.level-sub{color:var(--paper-dim);letter-spacing:.1em;font-size:12px}.level-name{font-family:var(--f-title);letter-spacing:.15em;margin:1px 0 4px;font-size:20px;font-weight:900}.tags{flex-wrap:wrap;gap:5px;display:flex}.tags span{color:var(--paper-dim);background:#f4e8d01f;border-radius:999px;padding:1px 7px;font-size:12px}.level-stars{letter-spacing:2px;color:#f4e8d038;font-size:18px}.level-stars .on,.result-stars .on{color:var(--gold);text-shadow:0 0 8px #e8b840cc}.list-head{font-family:var(--f-title);letter-spacing:.3em;color:var(--gold);margin:12px 4px 2px}.deck-slots{background:var(--lacquer);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:center;gap:clamp(5px,1.2vmin,12px);max-width:100%;margin:0 auto 10px;padding:10px 8px 12px;display:flex}.deck-slots.picking{box-shadow:0 0 0 2px var(--gold);animation:1s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 2px var(--gold), 0 0 26px #e8b84099}}.deck-avg{color:var(--paper-dim);text-align:right;white-space:nowrap;width:84px;font-size:13px}.panel-screen>.tabs{justify-content:center;margin-bottom:10px}.card-grid{grid-template-columns:repeat(auto-fill, minmax(var(--card-w), 1fr));align-content:start;justify-items:center;gap:14px 10px;width:min(980px,100%);margin:0 auto;padding:8px 6px 24px;display:grid}.portrait .deck-slots .card{width:calc(25vw - 19px);max-width:var(--card-w)}.settings{background:var(--lacquer);border:1px solid var(--line);border-radius:14px;flex:none;width:min(560px,100%);max-height:100%;margin:0 auto;padding:12px 18px}.modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;z-index:50;padding:calc(var(--sat) + 12px) calc(var(--sar) + 12px) calc(var(--sab) + 12px) calc(var(--sal) + 12px);background:#0805049e;place-items:center;transition:opacity .2s;display:grid;position:absolute;inset:0}.modal.enter{opacity:0;transform:none}.modal-box{touch-action:pan-y;overscroll-behavior:contain;border:1px solid var(--gold);background:linear-gradient(#2a1d18,#18100d);border-radius:14px;width:min(620px,100%);max-height:100%;padding:18px 18px 16px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #000000b3,inset 0 0 0 3px #00000059}.modal-x{border-radius:50%;min-height:34px;padding:4px 11px;position:absolute;top:8px;right:8px}.detail-head{align-items:flex-start;gap:16px;display:flex}.detail-head .card{cursor:default;width:clamp(84px,18vmin,128px)}.detail-title{flex:1;min-width:0}.detail-name{font-family:var(--f-title);letter-spacing:.15em;color:var(--gold-hi);font-size:26px;font-weight:900}.detail-epithet{color:var(--paper-dim);letter-spacing:.2em;margin-left:10px;font-size:13px;font-weight:400}.detail-desc{margin:6px 0 10px;font-size:14px;line-height:1.6}.stats{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:5px;display:grid}.stat{background:#0000004d;border-radius:6px;justify-content:space-between;padding:3px 8px;font-size:13px;display:flex}.stat span{color:var(--paper-dim)}.skills{gap:6px;margin-top:12px;display:grid}.skill{border-left:3px solid var(--gold);background:#e8b84017;border-radius:0 8px 8px 0;padding:7px 10px;font-size:13.5px;line-height:1.55}.skill b{color:var(--gold-hi);margin-right:4px}.lore{font-family:var(--f-title);color:var(--paper-dim);border-top:1px dashed var(--line);margin-top:12px;padding-top:10px;font-size:14px;line-height:1.8}.detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.detail-actions.col{flex-direction:column;align-items:stretch}.locked-note{color:var(--paper-dim);align-self:center;font-size:13px}.brief h2{font-family:var(--f-title);letter-spacing:.2em;color:var(--gold-hi);margin:2px 0 8px;font-size:30px}.brief-sub{letter-spacing:.2em;color:var(--paper-dim);font-size:13px}.brief-story{font-family:var(--f-title);margin:12px 0;font-size:15px;line-height:1.9}.brief-enemy{background:#0000004d;border-radius:10px;align-items:center;gap:12px;padding:10px;display:flex}.brief-enemy>img{object-fit:cover;object-position:50% 10%;background:radial-gradient(circle at 50% 30%,#6a2a24,#241010);border:1px solid #ff5a4899;border-radius:8px;flex:none;width:72px;height:84px}.brief-deck{flex-wrap:wrap;gap:7px;margin-top:8px;padding:4px 0 0 4px;display:flex}.brief.center{text-align:center}.brief.center .detail-actions{justify-content:center}.codex{padding-bottom:calc(var(--sab) + 8px)}.codex-list{touch-action:pan-x;overscroll-behavior:contain;scrollbar-width:none;flex:none;gap:8px;padding:4px 2px 10px;display:flex;overflow-x:auto}.codex-item{background:var(--lacquer);border:1px solid #f4e8d029;border-radius:10px;flex:none;justify-items:center;gap:1px;width:66px;padding:3px 3px 5px;display:grid;position:relative}.codex-item img{object-fit:cover;object-position:50% 15%;background:radial-gradient(circle at 50% 30%,#5a4a40,#1c1410);border-radius:7px;width:58px;height:58px}.codex-item span{font-family:var(--f-title);font-size:13px;font-weight:700}.codex-item i{background:#0009;border-radius:3px;padding:0 3px;font-size:11px;font-style:normal;position:absolute;top:4px;left:4px}.codex-item.on{border-color:var(--gold);box-shadow:0 0 12px #e8b84080}.codex-info{right:calc(var(--sar) + 12px);top:calc(var(--sat) + 160px);bottom:calc(var(--sab) + 64px);touch-action:pan-y;overscroll-behavior:contain;background:var(--lacquer);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;width:min(400px,44vw);padding:14px;position:absolute;overflow-y:auto}.codex-info .detail-head .card{display:none}.codex-modes{left:calc(var(--sal) + 14px);bottom:calc(var(--sab) + 14px);flex-wrap:wrap;gap:6px;display:flex;position:absolute}.codex-hint{left:50%;bottom:calc(var(--sab) + 4px);color:#f4e8d080;white-space:nowrap;font-size:11px;position:absolute;transform:translate(-50%);pointer-events:none!important}.codex-hint,.floats,.tower-labels,.banner,.drag-chip,.hud-level{pointer-events:none!important}.portrait .codex-info{width:auto;top:auto;left:12px;right:12px;bottom:calc(var(--sab) + 12px);max-height:38vh}.portrait .codex-modes{bottom:calc(var(--sab) + 38vh + 22px);justify-content:center;width:100%;left:50%;transform:translate(-50%)}.portrait .codex-hint{display:none}.hud{padding:0}.hud-top{padding:calc(var(--sat) + 8px) calc(var(--sar) + 10px) 0 calc(var(--sal) + 10px);justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:0;left:0;right:0;pointer-events:none!important}.hud-top>*{pointer-events:auto}.hud-side{background:var(--lacquer);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #f4e8d02e;border-radius:12px;align-items:center;gap:8px;min-height:48px;padding:5px 10px 5px 5px;display:flex}.hud-side img{object-fit:cover;object-position:50% 10%;border:1px solid var(--foe);background:radial-gradient(circle at 50% 30%,#6a2a24,#241010);border-radius:8px;width:40px;height:40px}.hud-side b{font-family:var(--f-title);letter-spacing:.1em;font-size:14px;display:block}.hud-side.me{text-align:right;padding:5px 5px 5px 12px}.hud-crowns{letter-spacing:2px;font-size:15px}.hud-crowns.me{color:#7fb8ff}.hud-crowns.foe{color:#ff8a78}.pause{min-height:38px;padding:4px 12px}.hud-mid{text-align:center;text-shadow:0 2px 6px #000;pointer-events:none}.hud-timer{font-variant-numeric:tabular-nums;letter-spacing:.04em;background:var(--lacquer);border:1px solid var(--line);border-radius:10px;padding:0 14px;font-size:clamp(24px,5vmin,36px);font-weight:800;display:inline-block}.hud-timer.hot{color:#ffd060;border-color:var(--gold);animation:1s infinite hot}@keyframes hot{50%{box-shadow:0 0 16px #ffa028b3}}.hud-level{font-family:var(--f-title);letter-spacing:.3em;opacity:.85;margin-top:3px;font-size:12px}.hud-bottom{padding:26px calc(var(--sar) + 8px) calc(var(--sab) + 8px) calc(var(--sal) + 8px);touch-action:none;background:linear-gradient(#0000,#080504b8 46%);justify-content:center;align-items:flex-end;gap:clamp(6px,1.6vmin,16px);display:flex;position:absolute;bottom:0;left:0;right:0}.hand-wrap{flex-direction:column;align-items:stretch;gap:7px;display:flex}.hand{justify-content:center;gap:clamp(5px,1.4vmin,12px);display:flex}.hand .card{touch-action:none}.hand .card.sel{z-index:2;transform:translateY(-14%)scale(1.07);box-shadow:0 10px 22px #0009,0 0 0 2px #fff,0 0 22px #fff0b4cc}.hand .card.poor{filter:saturate(.25)brightness(.62)}.hand .card.drawn{animation:.32s drawn}@keyframes drawn{0%{opacity:0;transform:translateY(50%)scale(.7)}}.next{color:var(--paper-dim);letter-spacing:.1em;justify-items:center;gap:3px;padding-bottom:30px;font-size:11px;display:grid}.next .card{cursor:default;filter:brightness(.85)}.res{align-items:center;gap:8px;display:flex}.res-track{border:1.5px solid var(--line);background:#120b09;border-radius:999px;flex:1;height:18px;position:relative;overflow:hidden}.res-fill{background:linear-gradient(#ffd97a,#e8862a 60%,#b8541a);border-radius:999px 0 0 999px;width:50%;height:100%;box-shadow:0 0 10px #ffaa3c99}.res-track span{background:#0000008c;width:1.5px;position:absolute;top:0;bottom:0}.res-num{text-shadow:0 1px 2px #000;background:radial-gradient(circle at 35% 30%,#ffb070,#b8401a);border:2px solid #ffe2a8;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:17px;font-weight:800;display:grid}.res.full .res-num{animation:1s infinite hot}.res.deny{animation:.3s deny}@keyframes deny{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.drag-chip{width:calc(var(--card-w) * .9);aspect-ratio:4/5;margin:calc(var(--card-w) * -1.25) 0 0 calc(var(--card-w) * -.45);opacity:0;z-index:30;background:#2a1c16 50%/cover no-repeat;border:2px solid #fff;border-radius:8px;transition:opacity .1s,transform .12s;position:absolute;box-shadow:0 8px 20px #0009}.drag-chip.show{opacity:.92}.drag-chip.show.small{opacity:.7;transform:scale(.5)}.drag-chip.bad{border-color:var(--foe);box-shadow:0 8px 20px #0009,0 0 14px #ff5a48cc}.drag-chip.show.cancel{opacity:.45;filter:grayscale()}.tower-labels,.floats{position:absolute;inset:0;overflow:hidden}.tl{background:#0a0605d9;border:1px solid #000000e6;border-radius:4px;width:58px;height:15px;margin:-8px 0 0 -29px;position:absolute;overflow:hidden}.tl.main{width:74px;margin-left:-37px}.tl i{background:linear-gradient(#7fbcff,#2f72e0);position:absolute;top:0;bottom:0;left:0}.tl.team1 i{background:linear-gradient(#ff8f7c,#d8382e)}.tl b{text-align:center;text-shadow:0 1px 1px #000;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;line-height:13px;position:absolute;inset:0}.tl.idle{opacity:.7}.ft{color:#fff;text-shadow:0 1px #000,0 0 4px #000000e6;opacity:0;white-space:nowrap;font-variant-numeric:tabular-nums;will-change:transform, opacity;font-size:15px;font-weight:800;position:absolute;transform:translate(-50%,-50%)}.ft.show{animation:.85s ease-out forwards ft}.ft.k-crit{color:#ffd24a;font-size:23px;animation-name:ftcrit}.ft.k-heal{color:#7dffa0}.ft.k-burn{color:#ff9a4a;font-size:12px}.ft.k-info{color:#dfe8ff;font-family:var(--f-title);letter-spacing:.1em;font-size:14px}.ft.k-skill{font-family:var(--f-title);letter-spacing:.14em;color:#fff3c8;text-shadow:0 0 10px #ff8c28f2,0 2px #5a1408;font-size:clamp(17px,3.4vmin,24px);font-weight:900;animation:1.25s ease-out forwards ftskill}.ft.k-skill.team1{text-shadow:0 0 10px #ff3c28f2,0 2px #3a0808;color:#ffd8d0}@keyframes ft{0%{opacity:0;transform:translate(-50%,-30%)scale(.7)}15%{opacity:1;transform:translate(-50%,-80%)scale(1.1)}to{opacity:0;transform:translate(-50%,-220%)scale(.95)}}@keyframes ftcrit{0%{opacity:0;transform:translate(-50%,-30%)scale(.5)}15%{opacity:1;transform:translate(-50%,-90%)scale(1.5)}30%{transform:translate(-50%,-100%)scale(1.15)}to{opacity:0;transform:translate(-50%,-230%)scale(1)}}@keyframes ftskill{0%{opacity:0;transform:translate(-50%,-20%)scale(.4)}14%{opacity:1;transform:translate(-50%,-70%)scale(1.25)}26%{transform:translate(-50%,-75%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-150%)scale(1)}}.banner{text-align:center;opacity:0;border-block:1px solid #0000;border-image:linear-gradient(90deg, transparent, var(--gold), transparent) 1;background:linear-gradient(90deg,#0000,#140a08d1 25% 75%,#0000);padding:16px 0 18px;position:absolute;top:30%;left:0;right:0}.banner b{font-family:var(--f-title);letter-spacing:.3em;color:var(--gold-hi);text-shadow:0 3px #5a1408,0 0 24px #ff962899;margin-right:-.3em;font-size:clamp(30px,8vmin,64px);font-weight:900;display:block}.banner i{letter-spacing:.4em;margin-top:4px;font-size:clamp(12px,2.2vmin,16px);font-style:normal;display:block}.banner.show{animation:2.2s forwards banner}.banner.intro.show{animation-duration:2.6s}.banner.danger b{color:#ffb0a0;text-shadow:0 3px #4a0808,0 0 24px #ff3c28b3}.banner.good b{color:#fff3c8}@keyframes banner{0%{opacity:0;transform:scaleY(.3)}12%{opacity:1;transform:none}78%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.result-title{font-family:var(--f-title);letter-spacing:.3em;background:linear-gradient(#fff3c8,#e8b840 60%,#b06a18);color:#0000;filter:drop-shadow(0 4px #5a1408);-webkit-background-clip:text;background-clip:text;margin-right:-.3em;font-size:clamp(54px,14vmin,96px);font-weight:900;line-height:1.1;animation:.5s cubic-bezier(.2,1.6,.4,1) pop}.result.lose .result-title,.result.draw .result-title{background:linear-gradient(#e0e4ea,#8a94a4);filter:drop-shadow(0 4px #1a1c22);-webkit-background-clip:text;background-clip:text}.result-stars{letter-spacing:12px;color:#f4e8d029;margin:6px 0 10px;font-size:44px}.result-stars .on{animation:.45s cubic-bezier(.2,1.8,.4,1) backwards pop;display:inline-block}@keyframes pop{0%{opacity:0;transform:scale(0)}}.unlocks{background:#e8b8401a;border-radius:10px;margin:10px 0;padding:10px}.unlocks .brief-deck{justify-content:center}.ending{font-family:var(--f-title);color:var(--gold-hi);letter-spacing:.15em}.portrait{--card-w:clamp(62px, 19.5vw, 92px)}.portrait .hud-bottom{padding-left:calc(var(--sal) + 6px);padding-right:calc(var(--sar) + 6px);gap:6px}.portrait .hud-side b{font-size:12px}.portrait .hud-side img{width:34px;height:34px}.portrait .next{padding-bottom:28px}html:not(.portrait) .hud-bottom{--card-w:clamp(60px, 13.5vh, 100px)}.compact .detail-head{gap:10px}.compact .detail-name{font-size:21px}.compact .modal-box{padding:14px 12px 12px}@media (max-height:460px){.menu-buttons{gap:5px}.btn.big{min-height:36px;padding:6px 14px}.menu{padding-top:calc(var(--sat) + 10px);padding-bottom:calc(var(--sab) + 10px)}.menu-foot{display:none}html:not(.portrait) .codex-list{margin-right:calc(min(400px,44vw) + 12px)}html:not(.portrait) .codex-info{top:calc(var(--sat) + 62px);bottom:calc(var(--sab) + 10px)}html:not(.portrait) .codex-hint{display:none}html:not(.portrait) .deck-slots{--card-w:50px;margin-bottom:6px;padding:7px 8px 6px}html:not(.portrait) .panel-screen>.tabs{margin-bottom:6px}.result-title{font-size:44px}.result-stars{margin:2px 0 4px;font-size:30px}}@media (pointer:coarse){.btn{min-height:44px}.tab{min-height:44px;padding:9px 16px}.row .seg .tab{padding-inline:4px}.modal-x{min-width:44px;min-height:44px;padding:0}.pause{min-width:44px;min-height:44px}.codex-modes{gap:8px}.row{min-height:50px}.row input[type=range]{height:44px}.btn.big{min-height:44px}}@media (prefers-reduced-motion:reduce){.screen,.card,.modal{transition:none}.banner.show{animation-duration:1.6s}}.screen.ed-root{pointer-events:none;color:#f4e8d0;--ed-top:56px;--ed-gold:#e8b840;--ed-line:#e8b84052;--ed-lacquer:#18100edb;background:0 0;margin:0;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.ed-root .tab,.ed-root .btn{min-height:40px}@media (pointer:coarse){.ed-root .tab,.ed-root .btn,.btn.ed-small,.ed-palette .tab,.ed-confirm-actions .btn{min-height:44px}}.ed-topbar{z-index:3;box-sizing:border-box;pointer-events:auto;padding-top:max(6px, env(safe-area-inset-top));padding-left:max(6px, env(safe-area-inset-left));padding-right:max(6px, env(safe-area-inset-right));align-items:center;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}.ed-title{white-space:nowrap}.ed-tabs{flex:none;gap:6px;margin-left:auto;display:flex}.ed-tabs .tab{white-space:nowrap;padding:0 14px}.ed-viewtools{z-index:1;top:calc(var(--ed-top) + 8px);pointer-events:none;flex-wrap:wrap;align-items:center;gap:6px;max-width:calc(100% - 370px);display:flex;position:absolute;left:10px}.ed-viewtools .tab{pointer-events:auto;padding:0 12px}.ed-hint{opacity:.85;text-shadow:0 1px 3px #000,0 0 8px #000c;flex-basis:100%;font-size:12px}.ed-panel{z-index:2;top:var(--ed-top);box-sizing:border-box;pointer-events:auto;background:var(--ed-lacquer);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid var(--ed-line);width:340px;padding-right:env(safe-area-inset-right);flex-direction:column;display:flex;position:absolute;bottom:0;right:0}.ed-panel-head{flex:none;gap:6px;padding:8px 10px 0;display:flex}.ed-sections{flex:1;gap:4px;min-width:0;display:flex}.ed-sections .tab{flex:1;padding:0 4px}.ed-collapse{flex:none;width:44px;padding:0;display:none}.ed-actions{border-bottom:1px solid var(--ed-line);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:8px 10px;display:flex}.ed-actions .btn{white-space:nowrap;flex:1 1 0;min-width:0;padding:0 6px}.ed-chip{color:var(--ed-gold);flex-basis:100%;font-size:12px}.ed-file{display:none}.ed-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px 10px 16px;display:flex;overflow:hidden auto}.ed-body>*{flex:none}html.portrait .ed-viewtools{max-width:calc(100% - 20px)}html.portrait .ed-hint{display:none}html.portrait .ed-tabs .tab{padding:0 8px;font-size:13px}html.portrait .ed-title{display:none}html.portrait .ed-panel{border-left:0;border-top:1px solid var(--ed-line);width:auto;height:min(46vh,430px);padding-right:0;padding-bottom:env(safe-area-inset-bottom);border-radius:14px 14px 0 0;inset:auto 0 0}html.portrait .ed-collapse{justify-content:center;align-items:center;display:inline-flex}html.portrait .ed-panel.collapsed{height:auto;padding-bottom:calc(8px + env(safe-area-inset-bottom))}html.portrait .ed-panel.collapsed .ed-actions,html.portrait .ed-panel.collapsed .ed-body{display:none}.ed-field{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;display:grid}.ed-label{opacity:.9;font-size:13px}.ed-ctl{align-items:center;gap:6px;min-width:0;display:flex}.ed-input{box-sizing:border-box;width:100%;min-width:0;min-height:40px;font:inherit;color:#f4e8d0;border:1px solid var(--ed-line,#e8b84052);background:#00000061;border-radius:8px;outline:none;flex:1;padding:6px 10px;font-size:16px}.ed-input:focus{border-color:#e8b840}textarea.ed-input{resize:vertical;min-height:76px;line-height:1.4}select.ed-input option{color:#f4e8d0;background:#20150f}.ed-range{accent-color:#e8b840;flex:1;min-width:0;height:40px;margin:0}.ed-out{text-align:right;color:#e8b840;font-variant-numeric:tabular-nums;flex:none;min-width:54px;font-size:13px}.ed-h{color:#e8b840;border-bottom:1px solid #e8b84052;margin-top:4px;padding-bottom:4px;font-weight:700}.ed-note{opacity:.78;font-size:12px;line-height:1.5}.ed-warn{opacity:1;color:#f0c860}.ed-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ed-row>.btn{white-space:nowrap;flex:1 1 0;min-width:0;padding:0 8px}.btn.ed-small{white-space:nowrap;flex:none;min-height:40px;padding:0 12px;font-size:13px}.ed-count{color:#e8b840;white-space:nowrap;margin-left:auto;font-size:12px}.ed-levels,.ed-picklist{flex-direction:column;gap:6px;display:flex}.ed-level{align-items:stretch;gap:6px;display:flex}.ed-level-main{box-sizing:border-box;text-align:left;cursor:pointer;min-width:0;min-height:46px;font:inherit;color:#f4e8d0;background:#00000052;border:1px solid #e8b84040;border-radius:8px;flex-direction:column;flex:1;justify-content:center;gap:2px;padding:6px 10px;display:flex}.ed-level-main b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ed-level-main i{opacity:.7;font-size:12px;font-style:normal}.ed-level.on .ed-level-main{background:#e8b84024;border-color:#e8b840}.ed-hero{cursor:pointer;min-height:46px;font:inherit;color:#f4e8d0;background:#00000052;border:1px solid #e8b84040;border-radius:8px;flex:1;align-items:center;gap:10px;padding:4px 10px;display:flex}.ed-hero img{object-fit:cover;border-radius:6px;width:36px;height:36px}.ed-hero span{text-align:left;flex:1}.ed-hero i{color:#e8b840;font-size:12px;font-style:normal}.ed-deck,.ed-pick{flex-wrap:wrap;gap:8px;display:flex}.ed-pick{justify-content:center}.ed-deck .card,.ed-pick .card,.ed-cardlist .card{cursor:pointer;flex:none}.card.ed-cur{outline-offset:2px;outline:2px solid #e8b840}.card.ed-used{opacity:.45}.card.ed-mod{position:relative}.card.ed-mod:after{content:"改";z-index:2;color:#1a100c;background:#e8b840;border-radius:4px;padding:0 4px;font-size:11px;line-height:16px;position:absolute;bottom:2px;right:2px}.ed-palette{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.ed-palette .tab{white-space:nowrap;min-height:40px;padding:0 2px;font-size:13px}html.portrait .ed-palette{grid-template-columns:repeat(5,minmax(0,1fr))}.ed-modal{overscroll-behavior:contain;color:#f4e8d0;flex-direction:column;gap:10px;width:min(560px,82vw);max-height:70vh;display:flex;overflow-y:auto}.ed-modal h2,.ed-confirm h2{color:#e8b840;margin:0;font-size:18px}.ed-confirm{color:#f4e8d0;max-width:min(420px,82vw)}.ed-confirm p{margin:10px 0 0;line-height:1.6}.ed-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.ed-confirm-actions .btn{min-height:40px}.ed-cards{z-index:2;top:calc(var(--ed-top) + 10px);box-sizing:border-box;pointer-events:auto;background:var(--ed-lacquer);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--ed-line);border-radius:14px;flex-direction:column;gap:8px;width:min(1040px,100% - 24px);padding:12px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.ed-cards-top{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.ed-filters{flex-wrap:wrap;flex:1;gap:4px;display:flex}.ed-filters .tab{padding:0 12px}.ed-cards-main{flex:1;grid-template-columns:minmax(0,1fr) 380px;gap:12px;min-height:0;display:grid}.ed-cardlist{overscroll-behavior:contain;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:0;padding:4px;display:flex;overflow-y:auto}.ed-carddetail{overscroll-behavior:contain;flex-direction:column;gap:8px;min-height:0;padding:0 4px 8px 0;display:flex;overflow-y:auto}.ed-carddetail>*{flex:none}.ed-cardhead{align-items:center;gap:10px;display:flex}.ed-cardhead img{object-fit:cover;border:1px solid #e8b84052;border-radius:8px;width:48px;height:48px}.ed-cardhead>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ed-cardhead i{opacity:.75;font-size:12px;font-style:normal}.ed-stat{background:#00000038;border:1px solid #0000;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 108px 40px;align-items:center;gap:2px 8px;padding:6px 8px;display:grid}.ed-stat.over{border-color:#e8b8408c}.ed-stat .ed-label{grid-area:1/1}.ed-stat .ed-input{grid-area:1/2/3}.ed-stat .ed-base{opacity:.65;grid-area:2/1;font-size:12px}.ed-stat .ed-badge{color:#1a100c;background:#e8b840;border-radius:4px;grid-area:1/1;justify-self:end;padding:0 6px;font-size:11px;line-height:18px}.ed-stat .ed-undo{grid-area:1/3/3;width:40px;min-height:40px;padding:0}html.portrait .ed-cards{bottom:max(8px, env(safe-area-inset-bottom));padding:10px}html.portrait .ed-cards-main{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:8px}html.portrait .ed-cardlist{flex-wrap:nowrap;padding-bottom:8px;overflow:auto hidden}html.portrait .ed-filters .tab{padding:0 8px;font-size:13px}
