@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(./cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(./cinzel-latin-700-normal-C-gK7hA8.woff) format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(./cinzel-latin-900-normal-BI3z7Tow.woff2) format("woff2"),url(./cinzel-latin-900-normal-t_fSDEbn.woff) format("woff")}@font-face{font-family:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./noto-sans-thai-thai-wght-normal-CtQSZ1tK.woff2) format("woff2-variations");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./noto-sans-thai-latin-ext-wght-normal-DH1q_yQ5.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./noto-sans-thai-latin-wght-normal-Bi3VDbYN.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--s: 1;--u: calc(var(--s) * 1px);--vh: 100vh;--ivory: #e6ddc5;--ivory-hi: #f5eedb;--slate: #28343d;--slate-2: #1f2a32;--slate-sh: #18232b;--amber: #d99b39;--amber-hi: #ffd58a;--bronze: #58796c;--bronze-edge: #957451;--terra: #a45d3c;--threat: #c95c4b;--ochre: #c49a40;--violet: #9e7dd1;--orange: #db783e;--cyan: #69b8c5;--font: "Noto Sans Thai Variable", "Noto Sans Thai", "Leelawadee UI", "Thonburi", system-ui, -apple-system, "Segoe UI", sans-serif;--display: "Cinzel", "Noto Sans Thai Variable", "Noto Sans Thai", "Leelawadee UI", serif;--cut: calc(var(--u) * 6)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:#10171c;color:var(--ivory-hi);font-family:var(--font);overflow:hidden;overscroll-behavior:none;touch-action:manipulation;user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:2px solid var(--amber-hi);outline-offset:2px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}#app{position:fixed;inset:0;display:flex;justify-content:center;align-items:stretch;background:radial-gradient(120% 90% at 50% 0%,#25313a,#10171c 70%)}.stage{position:relative;width:calc(var(--u) * 360);height:var(--vh);overflow:hidden;background:var(--slate-sh);flex:none;box-shadow:0 0 60px #000a}.field{position:absolute;left:0;top:var(--ft, 0px);width:calc(var(--u) * 360);height:calc(var(--u) * 640)}.field canvas{display:block;touch-action:none}body:not([data-screen=battle]) .field,body:not([data-screen=battle]) .battle-ui{display:none}.battle-ui{position:absolute;inset:0;pointer-events:none;font-size:calc(var(--u) * 12);--dock-h: calc(var(--u) * 104)}.battle-ui.dock-short{--dock-h: calc(var(--u) * 46)}.battle-ui>*{pointer-events:auto}.plate,.hud,.controls,.tray,.panel,.dock-info{background:linear-gradient(180deg,#303d47 0%,var(--slate) 38%,var(--slate-2) 100%);box-shadow:inset 0 0 0 var(--u) #ffffff14,inset 0 calc(var(--u) * 1.5) 0 #ffffff1c,0 calc(var(--u) * 2) calc(var(--u) * 8) #000a}.hud{position:absolute;left:0;right:0;top:0;height:calc(var(--u) * 46 + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) calc(var(--u) * 6) 0;display:flex;align-items:center;gap:calc(var(--u) * 4);border-bottom:calc(var(--u) * 2) solid var(--bronze-edge);background:linear-gradient(180deg,#303d47f2,#1f2a32f2)}.hud-stat{flex:1;display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * 5);font-size:calc(var(--u) * 17);font-weight:800;letter-spacing:.02em;text-shadow:0 var(--u) 0 #000a;position:relative}.hud-stat+.hud-stat:before{content:"";position:absolute;left:calc(var(--u) * -2);top:15%;bottom:15%;width:var(--u);background:linear-gradient(var(--bronze-edge),transparent)}.hud-stat.danger b{color:#ff9a86;animation:pulse .8s infinite}.hud-btn{width:calc(var(--u) * 40);height:calc(var(--u) * 40);display:grid;place-items:center;font-weight:800;font-size:calc(var(--u) * 14);background:linear-gradient(#3b4a55,#26323b);clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut))}.hud-btn.on{background:linear-gradient(var(--amber),#a8721f);color:var(--slate-sh)}.hud-btn:active{filter:brightness(1.25)}.ico{vertical-align:middle;flex:none}.spr-missing{font-size:9px;background:#ffffff18;border-radius:4px;text-align:center;line-height:2;color:var(--amber-hi);overflow:hidden}.controls{position:absolute;left:0;right:0;bottom:0;height:calc(var(--dock-h) + env(safe-area-inset-bottom,0px));padding:calc(var(--u) * 4) calc(var(--u) * 6) calc(var(--u) * 4 + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:calc(var(--u) * 4);border-top:calc(var(--u) * 2) solid var(--bronze-edge)}.dock-info{position:absolute;left:0;right:0;top:calc(var(--ft, 0px) + var(--u) * 536);bottom:calc(var(--dock-h) + env(safe-area-inset-bottom,0px));padding:calc(var(--u) * 8) calc(var(--u) * 10);display:none;overflow:hidden;border-top:calc(var(--u) * 2) solid var(--bronze-edge)}body.tall .dock-info{display:block}.battle-ui.has-tip .dock-info>*{visibility:hidden}.info-title{font-family:var(--display);font-weight:700;color:var(--amber-hi);font-size:calc(var(--u) * 12);letter-spacing:.08em;text-transform:uppercase;margin-bottom:calc(var(--u) * 4)}.info-list{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 4) calc(var(--u) * 12)}.wp{display:inline-flex;align-items:center;gap:calc(var(--u) * 2);font-size:calc(var(--u) * 11);font-weight:700}.wp.big{font-size:calc(var(--u) * 12);font-weight:600;gap:calc(var(--u) * 5)}.dock-main{display:flex;justify-content:space-between;gap:calc(var(--u) * 4);height:calc(var(--u) * 56)}.dock-main.left{flex-direction:row-reverse}.dbtn{position:relative;flex:1;max-width:calc(var(--u) * 64);height:100%;display:grid;place-items:center;background:linear-gradient(160deg,#b9a88a,#957451 45%,#6b5238);clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut))}.dbtn:before{content:"";position:absolute;inset:calc(var(--u) * 2.5);background:linear-gradient(#33414b,#1b252c);clip-path:inherit}.dbtn>*{position:relative}.dbtn .lbl{position:absolute;left:0;right:0;bottom:calc(var(--u) * 3);text-align:center;font-size:calc(var(--u) * 8.5);font-weight:700;letter-spacing:.01em;color:var(--ivory);text-shadow:0 var(--u) calc(var(--u) * 2) #000;white-space:nowrap;overflow:hidden}.dbtn .ico,.dbtn .portrait{margin-bottom:calc(var(--u) * 8)}.dbtn .cd{position:absolute;inset:calc(var(--u) * 2.5);clip-path:inherit;background:conic-gradient(#000b var(--p, 0%),transparent 0);pointer-events:none}.dbtn.active{background:linear-gradient(160deg,var(--amber-hi),var(--amber) 60%,#9a6a1c)}.dbtn.active:before{background:linear-gradient(#4a4630,#2b2a1c)}.dbtn.cooling .ico{opacity:.55}.dbtn.disabled{filter:grayscale(.8) brightness(.7)}.dbtn.locked{background:linear-gradient(160deg,#e59a8c,var(--threat))}.dbtn-gate.alt:after{content:"";position:absolute;top:calc(var(--u) * 5);right:calc(var(--u) * 6);width:calc(var(--u) * 7);height:calc(var(--u) * 7);background:var(--amber-hi);transform:rotate(45deg)}.dbtn:active{filter:brightness(1.2)}.dock-ctx{display:flex;gap:calc(var(--u) * 6);height:calc(var(--u) * 36);align-items:stretch}.padsel{display:flex;align-items:center;gap:calc(var(--u) * 2)}.padsel-l{font-size:calc(var(--u) * 9);color:#b9c2c7;padding:0 calc(var(--u) * 2)}.cbtn{min-width:calc(var(--u) * 36);height:100%;padding:0 calc(var(--u) * 8);background:linear-gradient(#3b4a55,#26323b);font-weight:800;font-size:calc(var(--u) * 12);clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut))}.cbtn:active{filter:brightness(1.3)}.callbtn{flex:1;display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * 8);padding:0 calc(var(--u) * 8);background:linear-gradient(#b65f3d,var(--terra) 50%,#7c4329);font-weight:800;font-size:calc(var(--u) * 12);letter-spacing:.02em;text-shadow:0 var(--u) 0 #0008;clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 70%,92% 100%,8% 100%,0 70%,0 var(--cut))}.callbtn[disabled]{background:linear-gradient(#3b4a55,#26323b);color:#aab4ba}.callbtn.pulse{animation:glow 1.3s infinite}.call-preview{display:flex;gap:calc(var(--u) * 5)}body.tall .call-preview{display:none}.tray{position:absolute;left:calc(var(--u) * 4);right:calc(var(--u) * 4);bottom:calc(var(--dock-h) + var(--u) * 4 + env(safe-area-inset-bottom,0px));padding:calc(var(--u) * 7) calc(var(--u) * 8) calc(var(--u) * 8);border:calc(var(--u) * 1.5) solid var(--bronze-edge);display:flex;flex-direction:column;gap:calc(var(--u) * 6);clip-path:polygon(calc(var(--cut) * 1.6) 0,calc(100% - var(--cut) * 1.6) 0,100% calc(var(--cut) * 1.6),100% 100%,0 100%,0 calc(var(--cut) * 1.6));animation:rise .14s ease-out}.tray-head{display:flex;align-items:center;gap:calc(var(--u) * 8);font-family:var(--display);font-size:calc(var(--u) * 13);letter-spacing:.04em}.tray-head b{flex:1;color:var(--amber-hi)}.tray-x{width:calc(var(--u) * 34);height:calc(var(--u) * 30);background:#ffffff14;font-size:calc(var(--u) * 13);font-family:var(--font)}.tier-pips{display:flex;gap:calc(var(--u) * 3)}.tier-pips i{width:calc(var(--u) * 7);height:calc(var(--u) * 7);background:#fff2;transform:rotate(45deg)}.tier-pips i.on{background:var(--amber)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--u) * 5)}.card{position:relative;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 1);padding:calc(var(--u) * 5) calc(var(--u) * 2) calc(var(--u) * 12);color:var(--slate-sh);background:linear-gradient(#f5eedb,var(--ivory) 60%,#cfc4a6);clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%);min-height:calc(var(--u) * 92);border-top:calc(var(--u) * 4) solid var(--bronze-edge)}.card.f-kestrel{border-top-color:var(--ochre)}.card.f-lumen{border-top-color:var(--violet)}.card.f-mortar{border-top-color:var(--orange)}.card.f-rime{border-top-color:var(--cyan)}.card-name{font-size:calc(var(--u) * 9);font-weight:800;text-align:center;line-height:1.15;min-height:calc(var(--u) * 21);display:grid;place-items:center}.card-cost{font-size:calc(var(--u) * 12);font-weight:800}.card-cost span{display:inline-flex;align-items:center;gap:calc(var(--u) * 2)}.card.poor .card-cost{color:#a3352a}.card.locked{filter:grayscale(1) brightness(.6)}.card.locked .card-cost{font-size:calc(var(--u) * 9.5)}.card.sel{background:linear-gradient(#fff3cf,var(--amber-hi) 70%,var(--amber));transform:translateY(calc(var(--u) * -3))}.tray-detail p,.tray-body p,.note{font-size:calc(var(--u) * 10.5);line-height:1.4;color:#d5dde0}.pre{white-space:pre-line}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:calc(var(--u) * 3);margin-top:calc(var(--u) * 4)}.st{background:#0003;padding:calc(var(--u) * 3) calc(var(--u) * 2);text-align:center}.st span{display:block;font-size:calc(var(--u) * 8);color:#aab4ba;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st b{font-size:calc(var(--u) * 11.5)}.st b.chg{color:var(--amber-hi)}.tray-actions{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 5)}.act{flex:1 1 40%;min-height:calc(var(--u) * 44);display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * 6);padding:calc(var(--u) * 4) calc(var(--u) * 8);background:linear-gradient(#3f4e59,#2a3740);font-size:calc(var(--u) * 11);border-left:calc(var(--u) * 3) solid var(--bronze-edge)}.act b{font-weight:800}.act span{display:inline-flex;align-items:center;gap:calc(var(--u) * 2);font-weight:800;color:var(--amber-hi)}.act.poor span{color:#ff9a86}.act.sel{background:linear-gradient(#5b5330,#3c371f);border-left-color:var(--amber-hi);box-shadow:inset 0 0 0 var(--u) var(--amber)}.act.small{flex:1 1 30%;min-height:calc(var(--u) * 40)}.act.sell{border-left-color:var(--threat)}.act.branch.f-kestrel{border-left-color:var(--ochre)}.act.branch.f-lumen{border-left-color:var(--violet)}.act.branch.f-mortar{border-left-color:var(--orange)}.act.branch.f-rime{border-left-color:var(--cyan)}.confirm{min-height:calc(var(--u) * 46);background:linear-gradient(var(--amber-hi),var(--amber) 55%,#a8721f);color:var(--slate-sh);font-weight:900;font-size:calc(var(--u) * 13);clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut))}.confirm span{display:inline-flex;align-items:center;gap:calc(var(--u) * 3)}.confirm[disabled]{background:#55606a;color:#c9d0d4}.modebar{position:absolute;left:calc(var(--u) * 8);right:calc(var(--u) * 8);top:calc(var(--u) * 54 + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:calc(var(--u) * 8);padding:calc(var(--u) * 6) calc(var(--u) * 6) calc(var(--u) * 6) calc(var(--u) * 12);background:#18232bee;border-left:calc(var(--u) * 3) solid var(--amber);font-weight:700}.modebar span{flex:1}.modebar .cancel{height:calc(var(--u) * 40);background:linear-gradient(#b65f3d,#7c4329)}.toasts{position:absolute;left:0;right:0;top:calc(var(--ft, 0px) + var(--u) * 104);display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 4);pointer-events:none!important}.toast{padding:calc(var(--u) * 5) calc(var(--u) * 14);background:#18232bf0;border-bottom:calc(var(--u) * 2) solid var(--threat);font-weight:800;font-size:calc(var(--u) * 12);animation:rise .18s ease-out}.toast.out{opacity:0;transition:opacity .3s}.tip{position:absolute;left:calc(var(--u) * 10);right:calc(var(--u) * 10);bottom:calc(var(--dock-h) + var(--u) * 8 + env(safe-area-inset-bottom,0px));padding:calc(var(--u) * 9) calc(var(--u) * 12);background:linear-gradient(#f5eedb,var(--ivory));color:var(--slate-sh);font-weight:700;font-size:calc(var(--u) * 12);line-height:1.35;display:flex;gap:calc(var(--u) * 8);align-items:center;border-left:calc(var(--u) * 4) solid var(--terra);box-shadow:0 calc(var(--u) * 3) calc(var(--u) * 10) #0008}.tip span{flex:1}.tip em{font-style:normal;color:var(--terra);font-size:calc(var(--u) * 16)}.vignette{position:absolute;inset:0;pointer-events:none!important;box-shadow:inset 0 0 calc(var(--u) * 70) calc(var(--u) * 10) #c95c4b00}.vignette.hit{animation:vig .5s ease-out}body.reduce-motion .vignette.hit{animation:none}.overlay,.modal{position:absolute;inset:0;background:#0b1115c9;display:grid;place-items:center;padding:calc(var(--u) * 14);z-index:30;font-size:calc(var(--u) * 12)}.modal{z-index:60}.panel{position:relative;width:100%;max-height:100%;overflow:auto;padding:calc(var(--u) * 16) calc(var(--u) * 14);display:flex;flex-direction:column;gap:calc(var(--u) * 9);border:calc(var(--u) * 1.5) solid var(--bronze-edge);clip-path:polygon(calc(var(--cut) * 2) 0,calc(100% - var(--cut) * 2) 0,100% calc(var(--cut) * 2),100% calc(100% - var(--cut) * 2),calc(100% - var(--cut) * 2) 100%,calc(var(--cut) * 2) 100%,0 calc(100% - var(--cut) * 2),0 calc(var(--cut) * 2));animation:rise .18s ease-out}.panel h2{font-family:var(--display);font-size:calc(var(--u) * 20);letter-spacing:.06em;text-align:center;color:var(--amber-hi)}.panel h2.lose{color:#ff9a86}.panel p{line-height:1.45;color:#d5dde0;text-align:center}.modal-x{position:absolute;right:calc(var(--u) * 8);top:calc(var(--u) * 8);width:calc(var(--u) * 36);height:calc(var(--u) * 36);background:#ffffff14;font-size:calc(var(--u) * 14);z-index:2}.pbtn{min-height:calc(var(--u) * 46);padding:calc(var(--u) * 6) calc(var(--u) * 14);background:linear-gradient(#3f4e59,#2a3740);font-weight:800;font-size:calc(var(--u) * 13);letter-spacing:.02em;clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut))}.pbtn.primary{background:linear-gradient(var(--amber-hi),var(--amber) 55%,#a8721f);color:var(--slate-sh)}.pbtn.big{min-height:calc(var(--u) * 54);font-size:calc(var(--u) * 15)}.pbtn.danger{background:linear-gradient(#8d3f33,#5e2a22)}.pbtn.icon{min-width:calc(var(--u) * 44);padding:0;font-size:calc(var(--u) * 20)}.pbtn:active{filter:brightness(1.2)}.pbtn[disabled]{filter:grayscale(.7) brightness(.7)}.row{display:flex;gap:calc(var(--u) * 6)}.row>*{flex:1}.stars{display:flex;justify-content:center;gap:calc(var(--u) * 8)}.star{display:inline-block;width:calc(var(--u) * 34);height:calc(var(--u) * 34);background:#fff2;clip-path:polygon(50% 0,62% 34%,100% 38%,71% 62%,80% 100%,50% 78%,20% 100%,29% 62%,0 38%,38% 34%)}.star.on{background:linear-gradient(var(--amber-hi),var(--amber));animation:pop .4s backwards}.star.on:nth-child(2){animation-delay:.15s}.star.on:nth-child(3){animation-delay:.3s}.star.sm{width:calc(var(--u) * 11);height:calc(var(--u) * 11);animation:none}.res-stats{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u) * 4) calc(var(--u) * 10);font-size:calc(var(--u) * 11.5);color:#d5dde0}.why{color:#ffb4a4!important;font-weight:700}.tipline{font-weight:500;color:#d5dde0!important}.bless-row{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u) * 6)}.bless{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 5);padding:calc(var(--u) * 10) calc(var(--u) * 5) calc(var(--u) * 18);color:var(--slate-sh);background:linear-gradient(#f5eedb,var(--ivory) 60%,#cfc4a6);clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%);border-top:calc(var(--u) * 4) solid var(--terra);min-height:calc(var(--u) * 170)}.bless b{font-family:var(--display);font-size:calc(var(--u) * 11.5);text-align:center}.bless span{font-size:calc(var(--u) * 10);line-height:1.35;text-align:center}.bless:active{filter:brightness(1.1);transform:translateY(calc(var(--u) * -2))}.ecard{display:flex;gap:calc(var(--u) * 8);align-items:flex-start;text-align:left;padding:calc(var(--u) * 5) 0}.ecard b{display:block;font-size:calc(var(--u) * 12)}.estats{display:block;font-size:calc(var(--u) * 9.5);color:var(--amber-hi)}.edesc{display:block;font-size:calc(var(--u) * 10.5);color:#d5dde0;line-height:1.35}.pause-enemies{border-top:var(--u) solid #ffffff22;padding-top:calc(var(--u) * 6)}.set-row{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 10);min-height:calc(var(--u) * 44);font-size:calc(var(--u) * 12.5)}.set-row input[type=range]{flex:1;max-width:55%;accent-color:var(--amber);height:calc(var(--u) * 30)}.set-row input[type=checkbox]{width:calc(var(--u) * 24);height:calc(var(--u) * 24);accent-color:var(--amber)}.seg{display:flex;gap:calc(var(--u) * 3)}.seg button{min-height:calc(var(--u) * 40);padding:0 calc(var(--u) * 12);background:#ffffff14;font-weight:700}.seg button.on{background:var(--amber);color:var(--slate-sh)}.panel input[type=email],.panel input[type=password]{width:100%;min-height:calc(var(--u) * 46);padding:0 calc(var(--u) * 12);background:#0e151a;border:var(--u) solid var(--bronze-edge);color:var(--ivory-hi);font:inherit;font-size:16px;user-select:text;-webkit-user-select:text}.err{color:#ff9a86!important;min-height:1.2em}.panel input[type=text]{width:100%;min-height:calc(var(--u) * 46);padding:0 calc(var(--u) * 12);background:#0e151a;border:var(--u) solid var(--bronze-edge);color:var(--ivory-hi);font:inherit;font-size:16px;user-select:text;-webkit-user-select:text}.rc-in{letter-spacing:.08em;text-transform:uppercase}.rcode{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:calc(var(--u) * 17)!important;font-weight:800;letter-spacing:.06em;color:var(--amber-hi)!important;background:#0e151a;border:var(--u) dashed var(--amber);padding:calc(var(--u) * 12) calc(var(--u) * 6);user-select:all;-webkit-user-select:all;word-break:break-all}.pbtn.link{background:none;clip-path:none;min-height:calc(var(--u) * 40);font-weight:600;font-size:calc(var(--u) * 12);color:var(--amber-hi);text-decoration:underline}.ok{color:#b9d37a!important;font-weight:700}.price{font-family:var(--display);font-size:calc(var(--u) * 16)!important;color:var(--amber-hi)!important}.bullets{margin:0;padding-left:calc(var(--u) * 18);display:flex;flex-direction:column;gap:calc(var(--u) * 5);font-size:calc(var(--u) * 12);line-height:1.4;color:#e5eaec}.testmode{background:#7c4329;color:#fff!important;font-weight:800;padding:calc(var(--u) * 4);font-size:calc(var(--u) * 11)}.screen{position:absolute;inset:0;z-index:20;font-size:calc(var(--u) * 12);background:var(--slate-sh)}.title,.map,.prep{position:absolute;inset:0;display:flex;flex-direction:column;background-size:cover;background-position:center top}.title{justify-content:space-between;padding:calc(var(--u) * 40 + env(safe-area-inset-top,0px)) calc(var(--u) * 20) calc(var(--u) * 20 + env(safe-area-inset-bottom,0px));background-color:#1b262e}.title:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10171c88 0%,transparent 28%,transparent 48%,#10171cf2 80%);pointer-events:none}.title>*{position:relative;z-index:1}.title-top{text-align:center}.logo{width:92%;max-width:calc(var(--u) * 320);filter:drop-shadow(0 calc(var(--u) * 3) calc(var(--u) * 8) #000c)}.logo-text{font-family:var(--display);font-weight:900;font-size:calc(var(--u) * 40);letter-spacing:.08em;color:var(--ivory-hi);text-shadow:0 calc(var(--u) * 2) 0 var(--bronze-edge),0 calc(var(--u) * 6) calc(var(--u) * 14) #000}.sub{font-family:var(--display);letter-spacing:.28em;font-size:calc(var(--u) * 12);color:var(--amber-hi);text-transform:uppercase;margin-top:calc(var(--u) * 4);text-shadow:0 var(--u) calc(var(--u) * 4) #000}.title-bottom{display:flex;flex-direction:column;gap:calc(var(--u) * 9)}.tagline{white-space:pre-line;text-align:center;font-size:calc(var(--u) * 13);font-weight:600;text-shadow:0 var(--u) calc(var(--u) * 4) #000}.fair{white-space:pre-line;text-align:center;font-size:calc(var(--u) * 10);color:#c9d0d4;line-height:1.4}.build{text-align:center;font-size:calc(var(--u) * 8);color:#6f7b83}.map-head{display:flex;align-items:center;gap:calc(var(--u) * 8);padding:calc(var(--u) * 8 + env(safe-area-inset-top,0px)) calc(var(--u) * 10) calc(var(--u) * 8);background:linear-gradient(#18232bf5,#18232bcc);border-bottom:calc(var(--u) * 2) solid var(--bronze-edge);position:relative;z-index:2}.map-head h2{flex:1;font-family:var(--display);font-size:calc(var(--u) * 14);letter-spacing:.05em;color:var(--ivory-hi)}.star-total{display:inline-flex;align-items:center;gap:calc(var(--u) * 4);font-weight:800}.chapters{display:flex;gap:calc(var(--u) * 5);padding:calc(var(--u) * 6) calc(var(--u) * 10);background:#18232bcc;position:relative;z-index:2}.chap{flex:1;min-height:calc(var(--u) * 40);display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * 6);background:#ffffff12;font-weight:800}.chap.on{background:linear-gradient(var(--amber-hi),var(--amber));color:var(--slate-sh)}.chap span{font-size:calc(var(--u) * 9.5);font-weight:700;opacity:.85}.chap .chap-lock{opacity:.9}.map-scroll{flex:1;overflow-y:auto;padding:calc(var(--u) * 14) calc(var(--u) * 14) calc(var(--u) * 28);-webkit-overflow-scrolling:touch}.nodes{display:flex;flex-direction:column;gap:calc(var(--u) * 10)}.node{position:relative;width:78%;min-height:calc(var(--u) * 58);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:calc(var(--u) * 10);align-items:center;padding:calc(var(--u) * 7) calc(var(--u) * 12);text-align:left;background:linear-gradient(#2a363ffa,#1b252cfa);border-left:calc(var(--u) * 4) solid #55606a;color:#c3cbd0;clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut))}.node.r{align-self:flex-end}.node.open{color:var(--ivory-hi);background:linear-gradient(#34424dfa,#222e36fa);border-left-color:var(--bronze-edge)}.node.done{border-left-color:var(--amber)}.node.cur{background:linear-gradient(#f5eedb,var(--ivory));color:var(--slate-sh);border-left-color:var(--terra);animation:glow 1.6s infinite}.node.boss .node-n{background:var(--threat);color:#fff}.node-n{grid-row:1 / 3;width:calc(var(--u) * 36);height:calc(var(--u) * 36);display:grid;place-items:center;background:var(--slate-sh);color:var(--amber-hi);font-family:var(--display);font-weight:900;font-size:calc(var(--u) * 15);transform:rotate(45deg)}.node-n{transform:none;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.node-name{font-weight:800;font-size:calc(var(--u) * 12.5);line-height:1.2}.node-stars{display:flex;gap:calc(var(--u) * 2)}.node-lock{grid-column:2;font-size:calc(var(--u) * 10);color:#d5dde0}.node.cur .star.sm:not(.on){background:#28343d73}.node:not(.cur) .star.sm:not(.on){background:#ffffff59}.crest{position:absolute;right:calc(var(--u) * 8);top:calc(var(--u) * 6);width:calc(var(--u) * 10);height:calc(var(--u) * 12);background:var(--cyan);clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%)}.crest.last{right:calc(var(--u) * 22);background:var(--terra)}.paywall{margin-top:calc(var(--u) * 14);padding:calc(var(--u) * 12);background:#18232be8;border:var(--u) solid var(--bronze-edge);display:flex;flex-direction:column;gap:calc(var(--u) * 8);text-align:center}.map-foot{padding:calc(var(--u) * 8) calc(var(--u) * 12) calc(var(--u) * 12 + env(safe-area-inset-bottom,0px));background:linear-gradient(#18232bcc,#18232bf5);border-top:calc(var(--u) * 2) solid var(--bronze-edge);display:flex;flex-direction:column;position:relative;z-index:2}.prep{background-position:center}.prep-shade{position:absolute;inset:0;background:linear-gradient(#10171cd9,#10171cf2)}.prep-body{position:relative;flex:1;overflow-y:auto;padding:calc(var(--u) * 10) calc(var(--u) * 12);display:flex;flex-direction:column;gap:calc(var(--u) * 7)}.prep-body h3{font-family:var(--display);font-size:calc(var(--u) * 10.5);letter-spacing:.12em;text-transform:uppercase;color:var(--amber-hi);margin-top:calc(var(--u) * 4)}.brief{font-size:calc(var(--u) * 12.5);line-height:1.45;color:var(--ivory-hi)}.opt-row{display:flex;gap:calc(var(--u) * 5)}.opt-row.wrap{flex-wrap:wrap}.chip{flex:1 1 30%;min-height:calc(var(--u) * 46);padding:calc(var(--u) * 5) calc(var(--u) * 6);display:flex;flex-direction:column;justify-content:center;gap:calc(var(--u) * 1);background:#ffffff12;border-bottom:calc(var(--u) * 2) solid transparent}.chip b{font-size:calc(var(--u) * 11.5)}.chip span{font-size:calc(var(--u) * 8.5);color:#c9d0d4;line-height:1.25}.chip.on{background:#d99b3930;border-bottom-color:var(--amber)}.hero-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 2);padding:calc(var(--u) * 6) calc(var(--u) * 3);background:#ffffff12;border-bottom:calc(var(--u) * 2) solid transparent}.hero-card b{font-size:calc(var(--u) * 10.5);text-align:center}.hero-card span{font-size:calc(var(--u) * 8.5);color:#c9d0d4;text-align:center}.hero-card.on{background:#d99b3930;border-bottom-color:var(--amber)}.hero-card.locked{filter:grayscale(1) brightness(.6)}.loadout{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 5)}.lo{display:inline-flex;align-items:center;gap:calc(var(--u) * 5);padding:calc(var(--u) * 5) calc(var(--u) * 9);background:#ffffff12;font-weight:700;font-size:calc(var(--u) * 11);border-left:calc(var(--u) * 3) solid var(--bronze-edge)}.lo.f-kestrel{border-left-color:var(--ochre)}.lo.f-lumen{border-left-color:var(--violet)}.lo.f-mortar{border-left-color:var(--orange)}.lo.f-rime{border-left-color:var(--cyan)}.twist{font-size:calc(var(--u) * 12);font-weight:700;color:#ffb4a4}.crest-won{display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * 8);font-weight:800;color:var(--amber-hi)!important}.crest-won .crest{position:static;width:calc(var(--u) * 16);height:calc(var(--u) * 19)}.hero-desc{font-size:calc(var(--u) * 10.5);color:#d5dde0;line-height:1.4}.enemy-row{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 5)}.enemy-chip{width:calc(var(--u) * 48);height:calc(var(--u) * 48);display:grid;place-items:center;background:#ffffff12}.portrait{border-radius:calc(var(--u) * 4)}.rail{display:none;flex:0 1 360px;min-width:0;padding:22px 20px;overflow-y:auto;font-size:14.5px;color:#d5dde0;background:linear-gradient(180deg,#1b262ecc,#131b21cc)}body.desktop[data-screen=battle] .rail{display:block}.rail h3{font-family:var(--display);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-hi);margin:14px 0 8px;border-bottom:1px solid #ffffff22;padding-bottom:4px}.rail h3:first-child{margin-top:0}.rail .wl{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:8px;opacity:.8;border-bottom:1px solid #ffffff10}.rail .wl b{width:26px;height:26px;display:grid;place-items:center;background:#ffffff18;font-size:13px}.rail .wl.cur{background:#d99b3926;opacity:1}.rail .wl.done{opacity:.35}.rail .wp{font-size:14px;gap:4px}.rail .react{display:flex;flex-direction:column;gap:2px;padding:6px 8px;margin-bottom:6px;border-left:3px solid var(--cyan);background:#ffffff0c}.rail .react.r-relay{border-left-color:var(--violet)}.rail .react.r-steam{border-left-color:var(--ivory)}.rail .react.r-anchor{border-left-color:var(--bronze)}.rail .react span,.rail .keys{font-size:13px;line-height:1.45;color:#c3cbd0}.rail .react b{font-size:14px}.rail .react{padding:8px 10px;margin-bottom:8px}.rail .stats{grid-template-columns:repeat(3,1fr);gap:4px}.rail .st span{font-size:11.5px}.rail .st b{font-size:14.5px}.rail .ecard b{font-size:15px}.rail .estats{font-size:12.5px}.rail .edesc,.rail .inspect p{font-size:13.5px;line-height:1.45}.rail .inspect>b{font-size:16px;color:var(--ivory-hi)}#boot{position:fixed;inset:0;display:grid;place-items:center;background:#10171c;z-index:100}.boot-inner{display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--display);letter-spacing:.2em;color:var(--ivory)}.boot-inner b{font-size:26px}.boot-inner span{font-family:var(--font);font-size:12px;letter-spacing:.05em;color:#8a969d}@keyframes pulse{50%{opacity:.55}}@keyframes glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.22)}}@keyframes rise{0%{opacity:0;transform:translateY(calc(var(--u) * 8))}}@keyframes pop{0%{transform:scale(.2);opacity:0}70%{transform:scale(1.25)}}@keyframes vig{0%{box-shadow:inset 0 0 calc(var(--u) * 70) calc(var(--u) * 14) #c95c4bcc}to{box-shadow:inset 0 0 calc(var(--u) * 70) calc(var(--u) * 10) #c95c4b00}}body.reduce-motion *{animation-duration:.01s!important}
