@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(./barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(./barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(./barlow-latin-500-normal-C1h8hMer.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(./barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(./barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(./barlow-latin-600-normal-CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-vietnamese-700-normal-D6euyNzi.woff2)format("woff2"),url(./barlow-vietnamese-700-normal-4Jt4k04K.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-latin-ext-700-normal-BLuWmldJ.woff2)format("woff2"),url(./barlow-latin-ext-700-normal-CctuGmmz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-latin-700-normal-A9pxMQ4z.woff2)format("woff2"),url(./barlow-latin-700-normal-__SGTsZ1.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(./barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(./barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(./barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(./barlow-condensed-vietnamese-800-normal-CpjukuLw.woff2)format("woff2"),url(./barlow-condensed-vietnamese-800-normal-BZxKbt5V.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(./barlow-condensed-latin-ext-800-normal-DGNyg4u8.woff2)format("woff2"),url(./barlow-condensed-latin-ext-800-normal-gY_0Gifi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(./barlow-condensed-latin-800-normal-BKzMuPgK.woff2)format("woff2"),url(./barlow-condensed-latin-800-normal-e9GbPXiK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#1f1b16;--ink2:#3a342c;--paper:#f6f1e6;--paper2:#ece5d5;--card:#fffcf5;--muted:#72695c;--yellow:#ffc400;--yellow2:#ffd84d;--orange:#ff7a1a;--red:#e03131;--green:#2f9e44;--blue:#1c64c8;--plate:#1f1b16eb;--hazard:repeating-linear-gradient(-45deg, var(--yellow) 0 10px, var(--ink) 10px 20px);--hazard-thin:repeating-linear-gradient(-45deg, var(--yellow) 0 5px, var(--ink) 5px 10px);--stripe:3px;--text:#fffaf0;--dim:#c9bfae;--line:#ffffff24;--good:#69db7c;--bad:#ff6b6b;--warn:#ffc400;--accent:#ffc400;--money:#ffd84d;--bg:var(--plate);--bg2:var(--plate);--safe-top:env(safe-area-inset-top,0px);--safe-bot:env(safe-area-inset-bottom,0px);--nav-h:67px;--font:"Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-c:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;font-family:var(--font)}.sheet,.modal,.toast,.objectives,.coach .bubble,.placebar,.selbar{--text:var(--ink);--dim:var(--muted);--line:#1f1b1629;--good:#2b8a3e;--bad:#c92a2a;--warn:#d9480f;--accent:var(--ink);--money:#2b8a3e;--card:#fffcf5;color:var(--ink)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--text);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;background:#bfe0f0;margin:0;overflow:hidden}#app{position:fixed;inset:0}#scene{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#labels{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}#ui{pointer-events:none;z-index:3;position:absolute;inset:0}#ui>*{pointer-events:auto}input{-webkit-user-select:text;user-select:text;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none}.cond{font-family:var(--font-c)}.topbar{padding:calc(5px + var(--safe-top)) 8px calc(5px + var(--stripe));background:var(--ink);z-index:10;flex-direction:column;gap:5px;display:flex;position:absolute;top:0;left:0;right:0}.topbar:after{content:"";height:var(--stripe);background:var(--hazard-thin);position:absolute;bottom:0;left:0;right:0}.row{align-items:center;gap:6px;display:flex}.pill{font-family:var(--font-c);white-space:nowrap;color:#fffaf0;background:#2c2720;border-radius:8px;align-items:center;gap:5px;min-width:0;padding:5px 9px;font-size:16px;font-weight:700;display:flex}.pill.money{color:var(--yellow);letter-spacing:.3px;flex:auto;font-size:21px}.pill .inc{color:#8ce99a;font-size:13px;font-weight:700}.pill .inc.neg{color:#ff8787}.pill.btn{cursor:pointer}.pill.btn:active{transform:translateY(1px)}#speed{background:var(--yellow);color:var(--ink)}.meter{min-width:0;font-family:var(--font-c);cursor:pointer;color:#fffaf0;background:#2c2720;border-radius:8px;flex-direction:column;flex:1 1 0;gap:3px;padding:4px 7px 5px;font-size:13px;font-weight:700;display:flex}.row.four .meter{padding:4px 5px 5px;font-size:12px}.meter .lbl{white-space:nowrap;justify-content:space-between;gap:4px;display:flex;overflow:hidden}.meter .lbl span:last-child{text-overflow:ellipsis;font-variant-numeric:tabular-nums;overflow:hidden}.bar{background:#ffffff1f;border-radius:3px;height:6px;position:relative;overflow:hidden}.bar>i{background:#51cf66;border-radius:3px;height:100%;transition:width .3s;display:block}.bar.warn>i{background:var(--yellow)}.bar.bad>i{background:#ff6b6b;animation:.8s infinite alternate pulse}.sheet .bar,.modal .bar{background:#1f1b161f}@keyframes pulse{0%{opacity:1}to{opacity:.45}}.chips{z-index:9;flex-direction:column;align-items:flex-end;gap:6px;max-width:calc(47vw - 16px);display:flex;position:absolute;right:8px}.chip{background:var(--ink);color:#fffaf0;border:2px solid var(--ink);font-family:var(--font-c);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;max-width:100%;padding:4px 9px;font-size:14px;font-weight:700;overflow:hidden;box-shadow:0 3px #0000004d}.chip.wave{background:var(--yellow);color:var(--ink)}.chip.wave.soon{background:var(--yellow);color:var(--ink);border-color:var(--ink);box-shadow:0 3px 0 var(--ink), inset 0 -5px 0 -1px var(--ink);animation:.8s ease-in-out infinite alternate soonpulse}@keyframes soonpulse{to{background:#ffd84d}}.chip.danger{background:var(--red);border-color:#7a1010;animation:.9s infinite alternate blinkred}@keyframes blinkred{0%{background:#e03131}to{background:#a51111}}.chip.event{color:var(--ink);background:#fffaf0;font-size:13px}.chip.btn{cursor:pointer}.objectives{z-index:9;background:var(--paper);border:2px solid var(--ink);width:min(290px,51vw);box-shadow:0 3px 0 var(--ink);cursor:pointer;border-radius:10px;padding:7px 9px 8px;position:absolute;left:8px}.objectives h3{font-family:var(--font-c);text-transform:uppercase;letter-spacing:.6px;color:var(--muted);justify-content:space-between;gap:6px;margin:0;font-size:13px;font-weight:800;display:flex}.objectives .cur{color:var(--ink);margin-top:2px;font-size:14px;font-weight:700;line-height:1.2}.objectives .cur small{font-family:var(--font-c);color:var(--muted);margin-top:1px;font-size:13px;display:block}.objectives .bar{background:#1f1b161f;margin-top:5px}.objectives .bar>i{background:var(--green)}.objectives .goal{color:var(--muted);justify-content:space-between;gap:6px;margin-top:4px;font-size:13px;display:flex}.objectives .goal span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.objectives .goal.done{color:var(--green)}.objectives .goal b{font-family:var(--font-c);color:var(--ink);white-space:nowrap;font-weight:700}.objectives.collapsed .all,.objectives:not(.collapsed) .curwrap{display:none}.nav{height:calc(var(--nav-h) + var(--safe-bot));padding-top:var(--stripe);padding-bottom:var(--safe-bot);background:var(--ink);z-index:20;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.nav:before{content:"";height:var(--stripe);background:var(--hazard-thin);position:absolute;top:0;left:0;right:0}.navbtns{flex:1;min-height:0;display:flex}.nav button{font-family:var(--font-c);letter-spacing:.8px;text-transform:uppercase;color:#bfb5a3;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;font-size:13px;font-weight:800;display:flex;position:relative}.nav button .ic{font-size:22px;line-height:1}.nav button.on{color:var(--yellow)}.nav button.on:after{content:"";background:var(--yellow);border-radius:2px;height:3px;position:absolute;bottom:2px;left:30%;right:30%}.nav button.pulse .ic{animation:1s ease-in-out infinite navpulse}.nav button.pulse{color:var(--yellow2)}@keyframes navpulse{0%,to{transform:scale(1)}50%{transform:scale(1.22)translateY(-2px)}}.badge{background:var(--red);color:#fff;min-width:20px;height:20px;font-family:var(--font-c);border:2px solid var(--ink);letter-spacing:0;border-radius:10px;justify-content:center;align-items:center;padding:0 5px;font-size:13px;font-weight:800;display:flex;position:absolute;top:1px;right:calc(50% - 26px)}.badge.blue{background:var(--yellow);color:var(--ink)}.ticker{color:#d9cfbd;background:#2a251e;flex:0 0 17px;align-items:center;height:17px;font-size:11.5px;font-weight:600;display:flex;overflow:hidden;pointer-events:none!important}.ticker .tag{background:var(--red);color:#fff;font-family:var(--font-c);letter-spacing:1px;z-index:1;border-radius:3px;flex:none;margin:0 6px;padding:0 5px;font-size:10px;font-weight:800;line-height:13px}.ticker .track{flex:1;align-items:center;min-width:0;height:100%;display:flex;position:relative;overflow:hidden}.ticker .msg{white-space:nowrap;padding-left:100%;animation:22s linear infinite tick;display:inline-block}@keyframes tick{0%{transform:translate(0)}to{transform:translate(-100%)}}.sheet{left:0;right:0;bottom:calc(var(--nav-h) + var(--safe-bot));background:var(--paper);border-top:3px solid var(--ink);z-index:18;border-radius:16px 16px 0 0;flex-direction:column;max-height:min(64vh,600px);transition:transform .22s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;transform:translateY(110%);box-shadow:0 -6px #1f1b1640}.sheet.open{transform:translateY(0)}.sheet:not(.open),.sheet:not(.open) *{pointer-events:none!important}.sheet.tall{max-height:calc(100vh - var(--nav-h) - var(--safe-bot) - var(--toast-top,110px))}.sheet.tall .tabs{flex-wrap:nowrap;gap:5px}.sheet.tall .tab{white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;padding:6px 4px;font-size:13.5px;overflow:hidden}.sheet .head{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px 8px;display:flex}.sheet .head h2{font-family:var(--font-c);text-transform:uppercase;letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;margin:0;font-size:22px;font-weight:800;display:flex;overflow:hidden}.sheet .head h2 small{font-family:var(--font);text-transform:none;letter-spacing:0}.closebtn{border:2px solid var(--ink);font-family:var(--font-c);text-transform:uppercase;letter-spacing:.6px;background:var(--card);color:var(--ink);box-shadow:0 2px 0 var(--ink);border-radius:8px;flex:none;padding:6px 12px;font-size:15px;font-weight:800}.closebtn:active{box-shadow:none;transform:translateY(2px)}.sheet .body{-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;padding:2px 12px 16px;overflow-y:auto}.tabs{flex-wrap:wrap;flex-shrink:0;gap:6px;padding:0 12px 10px;display:flex}.tab{border:2px solid var(--ink);font-family:var(--font-c);text-transform:uppercase;letter-spacing:.4px;background:var(--card);color:var(--ink);border-radius:8px;flex:1 0 auto;padding:6px 9px;font-size:15px;font-weight:800}.tab.on{background:var(--yellow);box-shadow:inset 0 -3px #1f1b1640}.list{flex-direction:column;gap:8px;display:flex}.rowi{text-align:left;background:var(--card);border:2px solid var(--ink);width:100%;box-shadow:0 2px 0 var(--ink);color:var(--ink);border-radius:10px;align-items:center;gap:10px;padding:8px 10px 8px 8px;display:flex}button.rowi:active{box-shadow:none;transform:translateY(2px)}.rowi.locked{background:var(--paper2);box-shadow:none;color:var(--muted);border-style:dashed}.rowi.rec{outline:3px solid var(--yellow);outline-offset:1px}.rowi .ico{border:2px solid var(--ink);background:var(--yellow);border-radius:9px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;font-size:24px;display:flex;position:relative}.rowi.locked .ico{filter:grayscale();opacity:.6;border-style:dashed}.rowi .ico .lv{background:var(--ink);color:var(--yellow);font-family:var(--font-c);border-radius:6px;padding:0 5px;font-size:12px;font-weight:800;line-height:18px;position:absolute;bottom:-6px;right:-6px}.rowi .mid{flex:1;min-width:0}.rowi .nm{font-family:var(--font-c);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:800;line-height:1.1;overflow:hidden}.rowi .sub{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.3}.rowi .sub b{color:var(--ink)}.rowi .req{color:#b35900;margin-top:2px;font-size:13px;font-weight:700}.rowi .bar{margin-top:5px}.price{font-family:var(--font-c);background:var(--yellow);border:2px solid var(--ink);white-space:nowrap;border-radius:8px;flex:none;padding:5px 9px;font-size:17px;font-weight:800}.price.no{background:var(--paper2);color:#c92a2a}.rowi.locked .price{color:var(--muted);background:0 0;border-style:dashed}.more{text-align:center;color:var(--muted);border:2px dashed #1f1b164d;border-radius:10px;padding:6px;font-size:13px}.banner{background:var(--yellow);border:2px solid var(--ink);border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:9px 11px;font-size:14px;font-weight:700;display:flex}.banner .btnx{margin-left:auto}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.card{background:var(--card);border:2px solid var(--ink);text-align:left;color:var(--ink);box-shadow:0 2px 0 var(--ink);border-radius:10px;flex-direction:column;gap:4px;padding:10px;font-size:13px;display:flex;position:relative}.card.locked{opacity:.55;box-shadow:none}.card .t{font-family:var(--font-c);align-items:center;gap:6px;font-size:17px;font-weight:800;display:flex}.card .s{color:var(--muted);line-height:1.3}.card .cost{color:var(--green);font-weight:800}.card .cost.no{color:var(--red)}.card .stats{flex-wrap:wrap;gap:4px;display:flex}.lock{background:var(--paper2);border-radius:6px;order:-1;align-self:flex-start;padding:1px 6px;font-size:12px;font-weight:800}.tagx{font-family:var(--font-c);background:var(--paper2);white-space:nowrap;color:var(--ink);border:1px solid #1f1b1633;border-radius:6px;padding:1px 6px;font-size:13px;font-weight:700}.tagx.g{background:#d3f9d8}.tagx.r{background:#ffe3e3}.tagx.y{background:#fff3bf}.tagx.b{background:#d0ebff}.tagx.p{background:#e5dbff}.item{background:var(--card);border:2px solid var(--ink);color:var(--ink);box-shadow:0 2px 0 var(--ink);border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;display:flex}.item.sel{outline:3px solid var(--yellow);outline-offset:1px}.item .av{border:2px solid var(--ink);background:var(--yellow);border-radius:9px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex;position:relative}.item .av .lv{background:var(--ink);color:var(--yellow);font-family:var(--font-c);border-radius:6px;padding:0 5px;font-size:12px;font-weight:800;line-height:18px;position:absolute;bottom:-6px;right:-6px}.item .mid{flex:1;min-width:0}.item .mid .n{font-family:var(--font-c);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:800;line-height:1.1;overflow:hidden}.item .mid .d{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.3}.item .mid .bar{margin-top:6px}.btnx{background:var(--yellow);color:var(--ink);font-family:var(--font-c);letter-spacing:.3px;border:2px solid var(--ink);white-space:nowrap;box-shadow:0 2px 0 var(--ink);border-radius:9px;flex:none;min-height:40px;padding:8px 12px;font-size:16px;font-weight:800}.btnx:active{box-shadow:none;transform:translateY(2px)}.btnx.g{background:#8ce99a}.btnx.r{background:#ffa8a8}.btnx.y{background:var(--yellow)}.btnx.ghost{background:var(--card)}.btnx:disabled,.btnx.dis{opacity:.45;pointer-events:none;box-shadow:none}.btnrow{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.sec{font-family:var(--font-c);color:var(--muted);text-transform:uppercase;letter-spacing:1px;justify-content:space-between;align-items:center;gap:8px;margin:14px 2px 6px;font-size:14px;font-weight:800;display:flex}.kv{grid-template-columns:1fr auto;gap:5px 10px;font-size:14px;display:grid}.kv span:nth-child(odd){color:var(--muted)}.kv span:nth-child(2n){text-align:right;font-weight:700}.flavor{color:var(--muted);margin:6px 0;font-size:13px;font-style:italic;line-height:1.35}.slots{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.slot{aspect-ratio:1.25;background:var(--paper2);font-family:var(--font-c);color:var(--muted);border:2px dashed #1f1b1666;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:13px;font-weight:800;display:flex;position:relative;overflow:hidden}.slot.full{border:2px solid var(--ink);color:var(--ink);background:var(--card)}.slot.inst{background:#fff3bf}.slot.off{border-color:var(--red);background:#ffc9c9}.slot.picked{outline:3px solid var(--yellow);outline-offset:1px}.slot .e{font-size:20px}.slot .pb{background:var(--orange);height:4px;position:absolute;bottom:0;left:0}.placebar,.selbar{left:50%;bottom:calc(var(--nav-h) + var(--safe-bot) + 8px);z-index:19;background:var(--paper);border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:12px;align-items:center;gap:8px;width:min(460px,100vw - 16px);padding:8px;display:flex;position:absolute;transform:translate(-50%)}.placebar .info,.selbar .info{flex:1;min-width:0;padding:0 2px;font-size:13px;font-weight:600;line-height:1.25}.placebar .info b,.selbar .info b{font-family:var(--font-c);white-space:nowrap;text-overflow:ellipsis;font-size:17px;display:block;overflow:hidden}.placebar .info small,.selbar .info small{color:var(--muted);font-weight:600;display:block}.placebar .pbtools{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.placebar .pbtools .btnx{white-space:nowrap;min-height:0;padding:3px 8px;font-size:12.5px;line-height:1.25}.placebar .pbtools .btnx.on{background:var(--yellow)}.placebar .rotbtn{flex-direction:column;flex-shrink:0;align-items:center;gap:0;padding:4px 8px;font-size:11px;line-height:1.1;display:flex}.placebar .rotbtn span{font-size:22px;line-height:1}.unit{flex-direction:column;align-items:stretch;gap:6px}.unit .top{align-items:center;gap:10px;display:flex}.unit .ava{border:2px solid var(--ink);border-radius:10px;flex:none;justify-content:center;align-items:center;width:50px;height:50px;font-size:26px;display:flex;position:relative}.unit .ava .lv{background:var(--ink);color:var(--yellow);font-family:var(--font-c);border-radius:6px;padding:0 5px;font-size:12px;font-weight:800;line-height:18px;position:absolute;bottom:-6px;right:-6px}.unit .who{flex:1;min-width:0}.unit .who .nm{font-family:var(--font-c);white-space:nowrap;text-overflow:ellipsis;font-size:19px;font-weight:800;line-height:1.05;overflow:hidden}.unit .who .rl{color:var(--muted);font-size:13px;font-weight:700}.unit .st{font-size:13px;line-height:1.3}.unit .hint{color:var(--muted);font-size:12.5px}.unit .acts{gap:6px;display:flex}.unit .acts .btnx{flex:1;padding:6px 8px;font-size:15px}.toasts{z-index:30;width:min(460px,100vw - 16px);left:50%;bottom:var(--toast-bottom,calc(var(--nav-h) + var(--safe-bot) + 80px));flex-direction:column-reverse;gap:6px;display:flex;position:absolute;transform:translate(-50%);pointer-events:none!important}#ui.sheet-open .toasts{bottom:auto;top:var(--toast-top,90px);flex-direction:column}@media (max-width:899px){#ui.sheet-open .toasts{display:none}}.toast{pointer-events:auto;cursor:pointer;background:var(--paper);border:2px solid var(--ink);border-left:8px solid var(--blue);box-shadow:0 3px 0 var(--ink);border-radius:10px;align-items:flex-start;gap:8px;padding:7px 10px;font-size:13.5px;font-weight:600;line-height:1.3;animation:.25s ease-out tin;display:flex}.toast.good{border-left-color:var(--green)}.toast.bad{border-left-color:var(--red)}.toast.warn{border-left-color:var(--orange)}.toast.level{border-left-color:var(--yellow);background:#fff8db}.toast .i{font-size:17px;line-height:1.1}.toast.out{animation:.3s ease-in forwards tout}@keyframes tin{0%{opacity:0;transform:translateY(8px)scale(.97)}}@keyframes tout{to{opacity:0;transform:translateY(-8px)}}.coach{left:8px;right:8px;bottom:calc(var(--nav-h) + var(--safe-bot) + 6px);z-index:17;align-items:flex-end;gap:8px;max-width:460px;margin:0 auto;animation:.3s ease-out tin;display:flex;position:absolute}.coach .face{background:var(--yellow);border:2px solid var(--ink);width:46px;height:46px;box-shadow:0 3px 0 var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:26px;display:flex}.coach .bubble{background:var(--paper);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:12px;flex:1;padding:7px 10px 8px;font-size:14px;line-height:1.35;position:relative}.coach .bubble:before{content:"";border:7px solid #0000;border-right-color:var(--ink);border-left:0;position:absolute;bottom:12px;left:-9px}.coach .who{font-family:var(--font-c);text-transform:uppercase;letter-spacing:.8px;color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:800;display:flex}.coach .x{font-family:var(--font-c);text-transform:uppercase;color:var(--muted);padding:2px 4px;font-size:13px;font-weight:800}.modal-bg{z-index:50;background:#1f1b168c;justify-content:center;align-items:center;padding:14px;animation:.2s fadein;display:flex;position:absolute;inset:0}@keyframes fadein{0%{opacity:0}}.modal{background:var(--paper);border:3px solid var(--ink);width:min(430px,100%);max-height:88vh;box-shadow:0 6px 0 var(--ink);touch-action:pan-y;border-radius:14px;padding:0 16px 16px;animation:.3s cubic-bezier(.2,1.4,.4,1) pop;overflow-y:auto}.modal:before{content:"";background:var(--hazard);border-bottom:2px solid var(--ink);height:10px;margin:0 -16px 12px;display:block}@keyframes pop{0%{opacity:0;transform:scale(.9)}}.modal h1{font-family:var(--font-c);text-transform:uppercase;margin:0 0 4px;font-size:30px;font-weight:800;line-height:1.05}.modal h2{font-family:var(--font-c);color:var(--muted);margin:0 0 8px;font-size:17px;font-weight:700}.modal p{margin:8px 0;font-size:15px;line-height:1.45}.modal .big{text-align:center;margin:2px 0;font-size:48px;line-height:1.1}.modal .btnrow{justify-content:flex-end;margin-top:14px}.modal ul{margin:6px 0;padding-left:18px;font-size:14.5px;line-height:1.45}.logo{font-family:var(--font-c);letter-spacing:1px;color:var(--ink);text-transform:uppercase;font-size:50px;font-weight:800;line-height:1}.logo span{background:var(--yellow);border:3px solid var(--ink);border-radius:8px;padding:0 8px;display:inline-block;transform:rotate(-2deg)}.timerbar{background:#1f1b1626;border-radius:4px;height:8px;margin-top:10px;overflow:hidden}.timerbar i{background:var(--red);height:100%;display:block}.modal input{font-family:var(--font-c)}.wl{will-change:transform;pointer-events:none;white-space:nowrap;position:absolute;top:0;left:0}.wl.float{font-family:var(--font-c);color:#fff;-webkit-text-stroke:1px var(--ink);text-shadow:0 2px 0 var(--ink);font-size:17px;font-weight:800}.wl.float.big{font-size:22px}.wl.bubble{color:var(--ink);border:2px solid var(--ink);white-space:normal;background:#fffaf0;border-radius:9px;max-width:160px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1.25}.wl.bubble:after{content:"";border:6px solid #0000;border-bottom:0;border-top-color:var(--ink);margin-left:-6px;position:absolute;bottom:-7px;left:50%}.wl.bubble.happy{background:#d3f9d8}.wl.status{flex-direction:column;align-items:center;gap:2px;display:flex}.wl.status .ic{font-family:var(--font-c);background:var(--ink);color:#fffaf0;border-radius:6px;padding:1px 7px;font-size:14px;font-weight:800}.wl.status .ic.bad{background:var(--red);animation:.5s infinite alternate pulse}.wl.status .ic.warn{background:var(--yellow);color:var(--ink)}.wl.status .pbar{border:1px solid var(--ink);background:#1f1b16b3;border-radius:4px;width:56px;height:7px;overflow:hidden}.wl.status .pbar i{background:var(--yellow);height:100%;display:block}.wl.tag{font-family:var(--font-c);background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-radius:6px;padding:0 6px;font-size:14px;font-weight:800}@media (min-width:900px){.sheet{width:430px;left:auto;right:12px;bottom:calc(var(--nav-h) + 48px);max-height:calc(100vh - var(--nav-h) - 160px);border:3px solid var(--ink);border-radius:14px;transform:translate(120%)}.sheet.open{transform:translate(0)}.sheet.tall{max-height:calc(100vh - var(--nav-h) - 48px - var(--toast-top,70px))}.nav{width:520px;height:var(--nav-h);border:3px solid var(--ink);border-radius:14px;padding-top:0;padding-bottom:0;bottom:36px;left:50%;right:auto;overflow:hidden;transform:translate(-50%)}.nav:before{display:none}.placebar,.selbar,.coach{bottom:calc(var(--nav-h) + 52px)}.toasts{bottom:calc(var(--nav-h) + 130px)}#ui.sheet-open .chips{right:452px}.topbar{flex-direction:row}.topbar .row{flex:auto}}@media (max-height:500px) and (orientation:landscape){:root{--nav-h:52px}.topbar{padding:calc(4px + var(--safe-top)) 8px calc(4px + var(--stripe));flex-direction:row}.ticker{flex-basis:15px;height:15px;font-size:10.5px}.topbar .row{flex:auto;min-width:0}.pill.money{font-size:17px}.nav button{flex-direction:row;gap:6px}.nav button .ic{font-size:20px}.nav .badge{margin-left:-2px;position:static}.sheet{width:min(420px,55vw);left:auto;right:8px;bottom:calc(var(--nav-h) + 6px);max-height:calc(100vh - var(--nav-h) - 62px);border:3px solid var(--ink);border-radius:14px;transform:translate(120%)}.sheet.open{transform:translate(0)}.sheet.tall{max-height:calc(100vh - var(--nav-h) - 62px);width:min(540px,64vw)}.sheet.tall .head{padding:6px 12px 4px}.sheet.tall .head h2{font-size:18px}.sheet.tall .closebtn{padding:3px 10px}.sheet.tall .tabs{flex-wrap:nowrap;gap:4px;padding:0;position:absolute;top:7px;left:158px;right:96px}.sheet.tall .tab{white-space:nowrap;flex:1 1 0;min-width:0;padding:3px 6px;font-size:12.5px;overflow:hidden}.telem{gap:5px}.tl-read{align-items:baseline;gap:10px;min-width:0;display:flex}.tl-read .big{flex:none;font-size:20px}.tl-read .sub{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.tl-seg button{padding:3px 8px;font-size:12.5px}.tl-screen canvas{height:128px}.objectives{width:min(250px,36vw)}.coach,.placebar,.selbar{bottom:calc(var(--nav-h) + 6px)}}@media (max-width:370px){.pill{padding:4px 7px;font-size:14px}.pill.money{font-size:18px}.meter{font-size:12px}}.telem{flex-direction:column;gap:8px;display:flex}.tl-read .big{font-family:var(--font-c);font-variant-numeric:tabular-nums;font-size:27px;font-weight:800;line-height:1.05}.tl-read .big small{color:var(--muted);font-size:15px;font-weight:700}.tl-read .big.warn{color:#d9480f}.tl-read .big.bad{color:var(--red)}.tl-read .sub{color:var(--muted);margin-top:2px;font-size:12.5px;font-weight:600}.tl-seg{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.tl-seg .grp{border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink);border-radius:9px;display:flex;overflow:hidden}.tl-seg button{font-family:var(--font-c);letter-spacing:.3px;background:var(--card);color:var(--ink);border-right:2px solid var(--ink);padding:5px 10px;font-size:13.5px;font-weight:800}.tl-seg button:last-child{border-right:0}.tl-seg button.on{background:var(--yellow)}.tl-screen{border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#16130f;border-radius:12px;padding:4px 2px 2px;position:relative}.tl-screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000 1px 3px);border-radius:9px;position:absolute;inset:0}.tl-screen canvas{width:100%;height:210px;display:block}.tl-note{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:11.5px;font-weight:600;line-height:1.35;display:flex}.tl-note .k{white-space:nowrap;color:var(--ink)}.tl-note .k i{vertical-align:middle;border-top:2px dashed var(--ink);width:18px;margin-right:4px;display:inline-block}.tl-note .k i.np{border-top:2px dotted #e8590c}.tl-legend{flex-direction:column;gap:5px;display:flex}.tl-row{text-align:left;background:var(--card);width:100%;color:var(--ink);border:2px solid var(--ink);border-radius:9px;align-items:center;gap:9px;padding:6px 9px;display:flex}.tl-row i{border:1.5px solid var(--ink);border-radius:3px;flex:none;width:13px;height:13px}.tl-row .nm{min-width:0;font-family:var(--font-c);flex:1;font-size:15px;font-weight:800}.tl-row .nm small,.tl-row .v small{font-family:var(--font);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;display:block;overflow:hidden}.tl-row .v{text-align:right;font-family:var(--font-c);font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.tl-row .v.bad{color:var(--red)}.tl-row.on{background:#fff3bf}.tl-row.dim{opacity:.55}.tl-empty{color:var(--muted);padding:6px 2px;font-size:13px}.bar .pk{background:#fffaf0d9;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.qseg{border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink);border-radius:9px;flex:none;display:flex;overflow:hidden}.qseg button{font-family:var(--font-c);background:var(--card);color:var(--ink);border-right:2px solid var(--ink);padding:7px 10px;font-size:14px;font-weight:800}.qseg button:last-child{border-right:0}.qseg button.on{background:var(--yellow)}.oplog{flex-direction:column;gap:5px;display:flex}.oplog .ol{background:var(--card);border:2px solid var(--ink);border-left-width:7px;border-radius:9px;align-items:flex-start;gap:8px;padding:6px 9px;font-size:13px;font-weight:600;line-height:1.3;display:flex}.oplog .ol .i{font-size:16px;line-height:1.1}.oplog .ol .tx{flex:1;min-width:0}.oplog .ol .tm{color:var(--muted);white-space:nowrap;flex:none;font-size:11.5px}.wl.ovtag{background:var(--ink);color:#fffaf0;font-family:var(--font-c);white-space:nowrap;font-variant-numeric:tabular-nums;border:2px solid #fffaf0;border-radius:6px;padding:2px 7px;font-size:13px;font-weight:800}.wl.ovtag.hot{background:var(--red)}.chip.map{color:var(--ink);background:#fffaf0}body.photo #ui,body.photo #labels{display:none!important}#photobar{left:50%;bottom:calc(18px + var(--safe-bot));z-index:50;background:var(--paper);border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);--text:var(--ink);border-radius:12px;gap:8px;padding:8px;display:flex;position:fixed;transform:translate(-50%)}.item.daily .dz{font-family:var(--font-c);color:var(--muted);white-space:nowrap;flex:none;font-size:14px;font-weight:800}.item.daily .dz.done{color:var(--green)}.item.daily.ready{outline:3px solid var(--yellow);outline-offset:-1px}.item.daily.claimed{opacity:.6}.vols{flex-direction:column;gap:6px;margin-top:6px;display:flex}.vols label{color:var(--muted);align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.vols label span{flex:none;width:46px}.vols input[type=range]{accent-color:#e8a800;flex:1;height:24px}.hovertip{z-index:40;pointer-events:none;background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:9px;max-width:250px;padding:6px 9px;font-size:12.5px;font-weight:600;line-height:1.35;position:fixed;top:0;left:0}.hovertip b{font-family:var(--font-c);font-size:15px;display:block}@media (pointer:coarse){.hovertip{display:none!important}}.meter.pulse{animation:1s ease-in-out infinite meterpulse}@keyframes meterpulse{50%{box-shadow:0 0 0 3px var(--yellow)}}body.q-high #app:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(at 50% 45%,#0000 55%,#14100a52 100%);position:absolute;inset:0}.toast.level{border-color:#b8860b;position:relative;overflow:hidden}.toast.level:after{content:"";pointer-events:none;background:linear-gradient(100deg,#fff0 0%,#ffffffbf 50%,#fff0 100%);width:40%;animation:1.6s ease-out .15s 2 shimmer;position:absolute;top:0;bottom:0;left:-60%}@keyframes shimmer{to{left:130%}}.toast.level .i{animation:.6s cubic-bezier(.2,1.6,.4,1) medal}@keyframes medal{0%{transform:scale(.2)rotate(-30deg)}}@media (max-width:600px){.toast{padding:5px 9px;font-size:12.5px;line-height:1.25}.toast .i{font-size:15px}}.chip .cn{text-overflow:ellipsis;min-width:0;overflow:hidden}.chip .ct{font-variant-numeric:tabular-nums;flex:none;margin-left:6px}.chip:has(.ct){align-items:center;display:flex}.placebar .info b{white-space:normal;overflow-wrap:anywhere;line-height:1.05}@media (max-width:600px){.placebar .info b{font-size:15px}}@media (min-width:900px){.nav button{font-size:15px}.nav button .ic{font-size:24px}.ticker{font-size:13px}.meter{font-size:14px}.pill{font-size:17px}.pill.money{font-size:22px}:root{--nav-h:74px}}@media (max-height:500px) and (orientation:landscape){.toasts{width:min(380px,46vw);left:8px;top:var(--toast-top,60px);flex-direction:column;transform:none;bottom:auto!important}.coach{max-width:min(420px,50vw);margin:0}.sheet.tall .tab .tl{display:none}.sheet.tall .tab .ti{font-size:16px}}.objectives h3>span:first-child{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.objectives h3>span:last-child{white-space:nowrap;flex:none;margin-left:8px}
