*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#0a0e16;font-family:JetBrains Mono,monospace}#app{position:fixed;inset:0}canvas{display:block;touch-action:none}html,body{touch-action:none;-webkit-text-size-adjust:100%}.hud,#hudR,#labels,#floaters,#toasts{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.hud{position:fixed;z-index:11;color:#dcecff;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.7)}.topbar{top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:calc(14px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) 14px calc(18px + env(safe-area-inset-left));background:linear-gradient(180deg,rgba(8,11,20,.65),transparent)}.logo{font-family:Tektur,sans-serif;font-weight:800;letter-spacing:2px;font-size:18px}.logo .ac{color:#3fe0ff}.zone{font-size:12px;letter-spacing:2px;color:#cfe0f4}.zone b{color:#ffb43f}.hint{bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);max-width:92vw;text-align:center;font-size:12px;letter-spacing:1px;color:#cfe0f4;background:#080b148c;border:1px solid rgba(120,160,210,.2);padding:8px 16px;border-radius:20px}#hudR{position:fixed;top:calc(58px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));z-index:11;display:flex;flex-direction:column;gap:10px;align-items:stretch;width:236px;max-height:calc(100vh - 70px - env(safe-area-inset-top));overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}#hudR::-webkit-scrollbar{display:none}.paneltoggle{cursor:default}.panel-collapsible.collapsed .panelbody{display:none}.panel{background:#0a0e16cc;border:1px solid rgba(120,160,210,.22);border-radius:12px;padding:11px 13px;backdrop-filter:blur(6px);color:#e8eef7}.invrow{display:flex;align-items:center;gap:9px;font-family:JetBrains Mono,monospace;font-weight:700;font-size:13px}.invrow+.invrow{margin-top:7px}.chip{width:15px;height:15px;border-radius:3px;display:inline-block}.iico{width:22px;height:22px;flex:0 0 auto;image-rendering:pixelated;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.cnt{margin-left:auto;min-width:34px;text-align:right;font-size:15px;color:#fff}.bump{animation:bump .3s ease}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.4)}to{transform:scale(1)}}#build h4{font-family:Tektur,sans-serif;letter-spacing:1px;font-size:13px;margin-bottom:9px;color:#fff}.br{margin:8px 0 0;font-family:JetBrains Mono,monospace;font-size:11px;color:#bcd0e6;display:flex;justify-content:space-between}.bar{height:7px;border-radius:5px;background:#ffffff1a;overflow:hidden;margin-top:4px}.bar i{display:block;height:100%;border-radius:5px;width:0;transition:width .3s}.bar.m i{background:linear-gradient(90deg,#1aa,#3fe0ff)}.bar.f i{background:linear-gradient(90deg,#a73,#ffc24a)}.bar.c i{background:linear-gradient(90deg,#a3a,#ff4ad0)}.bar.xp i{background:linear-gradient(90deg,#3fe0ff,#9affc4);box-shadow:0 0 8px #9affc480}.bar.ct i{background:linear-gradient(90deg,#ffb43f,#ffe08a)}.lvlrow{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.lvlbadge{font-family:Tektur,sans-serif;font-weight:800;letter-spacing:1px;font-size:12px;color:#9affc4}.lvlbadge b{color:#fff;font-size:14px}.xptext{font-size:10px;color:#bcd0e6;letter-spacing:.5px}.bloompanel{border-color:#6effa84d;background:linear-gradient(180deg,#0e1c14d6,#0a0e16d6);transition:border-color .6s,box-shadow .6s}.bloompanel.peak{border-color:#6effa8cc;box-shadow:0 0 18px #6effa859}.bloomtop{display:flex;align-items:center;gap:11px}.bloomring{position:relative;width:44px;height:44px;flex:0 0 auto}.bloomring svg{transform:rotate(-90deg)}.bloomring .brbg{fill:none;stroke:#ffffff1f;stroke-width:3}.bloomring .brfill{fill:none;stroke:#6effa8;stroke-width:3;stroke-linecap:round;stroke-dasharray:94.25;stroke-dashoffset:94.25;transition:stroke-dashoffset .3s linear;filter:drop-shadow(0 0 3px rgba(110,255,168,.7))}.bloompct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-weight:700;font-size:10px;color:#caffe0}.bloommeta{min-width:0}.bloomlabel{font-family:Tektur,sans-serif;font-weight:800;letter-spacing:1px;font-size:9px;color:#6effa8;opacity:.85}.bloomphase{font-family:Tektur,sans-serif;font-weight:900;letter-spacing:1px;font-size:15px;color:#eafff2;line-height:1.1;margin:1px 0}.bloomyield{font-family:JetBrains Mono,monospace;font-size:10px;color:#9affc4}.bloomhint{margin-top:8px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.35;color:#bcd0e6}.panelhdr{font-family:Tektur,sans-serif;letter-spacing:1px;font-size:13px;margin-bottom:9px;color:#fff}.dockbtns{display:flex;gap:8px}.dockbtn{flex:1 1 0;position:relative;font-family:Tektur,sans-serif;font-weight:700;letter-spacing:.5px;font-size:11px;padding:9px 6px;border:1px solid rgba(120,160,210,.28);border-radius:10px;background:#0a0e16cc;color:#dcecff;cursor:pointer;pointer-events:auto;backdrop-filter:blur(6px);transition:border-color .15s,background .15s;min-height:38px}.dockbtn:hover{border-color:#3fe0ff8c;background:#3fe0ff14}.dockdot{display:none;position:absolute;top:5px;right:6px;width:7px;height:7px;border-radius:50%;background:#ffb43f;box-shadow:0 0 7px #ffb43f}.navgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.navbtn{font-family:Tektur,sans-serif;font-weight:700;letter-spacing:.4px;font-size:11px;padding:9px 6px;border:1px solid rgba(120,160,210,.28);border-radius:9px;background:#ffffff0d;color:#e8eef7;cursor:pointer;pointer-events:auto;transition:border-color .15s,background .15s;min-height:40px}.navbtn:hover{border-color:#3fe0ff8c;background:#3fe0ff1a}.navbtn.here{border-color:#9affc4b3;background:#9affc424;color:#9affc4;box-shadow:0 0 10px #9affc440;cursor:default}.navbtn:disabled{cursor:default}.overlay{position:fixed;inset:0;z-index:30;display:none;align-items:center;justify-content:center;padding:24px;background:#04070e9e;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:ovin .18s ease}.overlay.on{display:flex}@keyframes ovin{0%{opacity:0}to{opacity:1}}.overlaycard{width:min(440px,100%);max-height:min(80vh,640px);display:flex;flex-direction:column;padding:0;overflow:hidden;animation:ovcard .2s cubic-bezier(.2,.9,.3,1)}@keyframes ovcard{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.overlayhead{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid rgba(120,160,210,.18)}.overlayhead h3{font-family:Tektur,sans-serif;letter-spacing:1px;font-size:15px;color:#fff}.ovclose{font-family:JetBrains Mono,monospace;font-size:16px;line-height:1;width:30px;height:30px;border-radius:8px;border:1px solid rgba(120,160,210,.28);background:#ffffff0d;color:#cfe0f4;cursor:pointer;pointer-events:auto}.ovclose:hover{border-color:#ff787899;background:#ff5a4a1f;color:#fff}.overlaybody{padding:14px 15px;overflow-y:auto;-webkit-overflow-scrolling:touch}.overlaybody .craftcards{max-height:none}.travel-dests{display:flex;flex-direction:column;gap:8px}.tdest{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 13px;border:1px solid rgba(120,160,210,.28);border-radius:11px;background:#ffffff0a;color:#e8eef7;cursor:pointer;pointer-events:auto;transition:border-color .15s,background .15s,transform .12s}.tdest:hover{border-color:#3fe0ff99;background:#3fe0ff17;transform:translate(2px)}.tdest .ticon{font-size:22px;line-height:1;width:30px;text-align:center;flex:0 0 auto}.tdest .tinfo{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.tdest .tname{font-family:Tektur,sans-serif;font-weight:800;letter-spacing:.6px;font-size:14px;color:#fff}.tdest .ttag{font-family:JetBrains Mono,monospace;font-size:10.5px;color:#9fb2c8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tdest .tgo{font-family:JetBrains Mono,monospace;font-size:16px;color:#3fe0ff;flex:0 0 auto}.tdest.here{border-color:#9affc48c;background:#9affc41a;cursor:default}.tdest.here .tname,.tdest.here .ttag{color:#9affc4}.tdest.here:hover{transform:none}.tdest.locked{border-color:#ff5a4a59;background:#ff5a4a0f;cursor:not-allowed;opacity:.8}.tdest.locked .tname{color:#ff9a8a}.tdest.locked .ttag{color:#ff8a78}.tdest.locked:hover{transform:none;border-color:#ff5a4a59;background:#ff5a4a0f}.tdest:disabled{cursor:default}.overlaysub{font-family:JetBrains Mono,monospace;font-size:11px;color:#9fb2c8;padding:8px 15px 0}#workshop h4,#bag h4{font-family:Tektur,sans-serif;letter-spacing:1px;font-size:13px;margin-bottom:9px;color:#fff}.craftcards{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow-y:auto}.craftgrouptitle{font-family:Tektur,sans-serif;font-weight:800;letter-spacing:1px;font-size:10px;color:#7fa3c4;margin:6px 0 2px}.craftgrouptitle:first-child{margin-top:0}.rcard{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 8px;border:1px solid rgba(120,160,210,.22);border-radius:8px;background:#ffffff0a;cursor:pointer;pointer-events:auto;color:#e8eef7;font-family:JetBrains Mono,monospace}.rcard.available:hover{border-color:#3fe0ff99;background:#3fe0ff14}.rcard.owned{border-color:#9affc473;background:#9affc414;cursor:default}.rcard.locked,.rcard.poor{opacity:.45;filter:grayscale(.4);cursor:not-allowed}.rswatch{width:15px;height:15px;border-radius:4px;flex:0 0 auto}.rinfo{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}.rname{font-family:Tektur,sans-serif;font-weight:700;font-size:11px;letter-spacing:.4px;color:#fff;display:flex;align-items:baseline;gap:5px}.rtier{font-size:8px;color:#7fa3c4;font-family:JetBrains Mono,monospace}.reffect{font-size:9px;color:#9fb6cf}.rcost{font-size:9px;color:#ffd27a;letter-spacing:.3px}.rstate{font-size:8px;letter-spacing:.3px;flex:0 0 auto;text-align:right;color:#9fb6cf}.rstate.owned{color:#9affc4}.rstate.available{color:#3fe0ff}.rstate.poor{color:#ff9a7a}.ctrow{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#e8eef7;font-weight:700}.ctprog{font-size:11px;color:#ffd27a}.ctreward{font-size:10px;color:#9fb6cf;margin-top:6px;letter-spacing:.3px}.btn{margin-top:11px;width:100%;font-family:Tektur,sans-serif;font-weight:700;letter-spacing:1px;font-size:12px;padding:10px;border:none;border-radius:8px;cursor:pointer;pointer-events:auto;color:#1a1205}#buildBtn{background:linear-gradient(180deg,#ffb43f,#e8901a);box-shadow:0 0 16px #ffb43f66}#buildModeBtn{background:linear-gradient(180deg,#9affc4,#3fd68a);color:#06281a;box-shadow:0 0 16px #9affc459}.btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5);box-shadow:none}#buildPanel h4{font-family:Tektur,sans-serif;letter-spacing:1px;font-size:13px;margin-bottom:9px;color:#fff}.bprodline{font-size:10px;color:#9affc4;letter-spacing:.4px;margin-bottom:8px;text-align:center}.bcard{display:flex;align-items:center;gap:9px;width:100%;text-align:left;margin:6px 0 0;padding:8px 9px;border:1px solid rgba(120,160,210,.22);border-radius:9px;background:#ffffff0a;cursor:pointer;pointer-events:auto;color:#e8eef7;font-family:JetBrains Mono,monospace}.bcard:hover{border-color:#3fe0ff80}.bcard.sel{border-color:#9affc4;background:#9affc41f;box-shadow:0 0 12px #9affc440}.bcard.poor{opacity:.45;filter:grayscale(.4)}.bswatch{width:16px;height:16px;border-radius:4px;flex:0 0 auto}.binfo{display:flex;flex-direction:column;gap:1px;min-width:0}.bname{font-family:Tektur,sans-serif;font-weight:700;font-size:11px;letter-spacing:.5px;color:#fff}.bprod{font-size:10px;color:#9affc4}.bprod.cosmetic{color:#9fb6cf}.bcost{font-size:9px;color:#ffd27a;letter-spacing:.3px}.btn.rmbtn{margin-top:9px;background:linear-gradient(180deg,#5a6470,#3a424d);color:#fff;box-shadow:none}.btn.rmbtn.on{background:linear-gradient(180deg,#ff7a5a,#d84a2a);color:#1a0a05;box-shadow:0 0 14px #ff5a4a66}.bhint{font-size:10px;color:#9fb6cf;text-align:center;margin-top:7px;letter-spacing:.3px;min-height:13px}#hpbar{bottom:calc(48px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;z-index:11}.hp-ico{font-size:20px;color:#ff5a6a;text-shadow:0 0 8px #ff5a6a}.hp-track{position:relative;width:240px;height:18px;border-radius:10px;background:#0a0e16cc;border:1px solid rgba(120,160,210,.25);overflow:hidden}#hpFill{height:100%;width:100%;border-radius:10px;background:linear-gradient(90deg,#ff5a4a,#ff8a5a);transition:width .18s ease;box-shadow:0 0 12px #ff5a4a80 inset}.hp-track span{position:absolute;inset:0;display:grid;place-items:center;font-family:JetBrains Mono,monospace;font-weight:700;font-size:11px;color:#fff;text-shadow:0 1px 2px #000}.hurt{animation:hurt .4s ease}@keyframes hurt{0%,to{filter:none}30%{filter:brightness(2.4) saturate(2)}}#floaters{position:fixed;inset:0;z-index:7;pointer-events:none;overflow:hidden}.floater{position:absolute;transform:translate(-50%,-50%);font-family:JetBrains Mono,monospace;font-weight:700;font-size:14px;text-shadow:0 1px 3px #000}.floater.metal{color:#8af2ff}.floater.fuel{color:#ffd87a}.floater.crystal{color:#ff9ae6}.floater.dmg{color:#ff8a5a;font-size:16px}.floater.loot{color:#8af2ff}.floater.lvl{color:#9affc4;font-size:18px;font-family:Tektur,sans-serif;font-weight:800;text-shadow:0 0 8px #9affc4,0 1px 3px #000}#labels{position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden}.nlabel{position:absolute;transform:translate(-50%,-100%);text-align:center;white-space:nowrap;line-height:1.1}.nlabel .lv{font-size:9px;color:#ffd27a;letter-spacing:1px}.nlabel .nm{font-size:12px;font-weight:700;color:#fff;text-shadow:0 0 4px #000,0 1px 2px #000}.nlabel.me .nm{color:#3fe0ff}.nlabel.mob .nm,.nlabel.mob .lv{color:#ff6a5a}#toasts{position:fixed;top:58px;left:50%;transform:translate(-50%);z-index:13;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:#0a0e16eb;border:1px solid rgba(63,224,255,.4);color:#dcecff;padding:10px 20px;border-radius:24px;font-size:13px;box-shadow:0 0 22px #3fe0ff4d;animation:tin .35s ease}@keyframes tin{0%{opacity:0;transform:translateY(-10px)}to{opacity:1}}#warp{position:fixed;inset:0;z-index:40;background:#04060e;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .5s}#warp.on{opacity:1;pointer-events:auto}#warp .wt{font-family:Tektur,sans-serif;letter-spacing:5px;color:#3fe0ff;font-size:24px;text-shadow:0 0 20px #3fe0ff;z-index:2}#warp .ws{position:absolute;width:3px;height:3px;background:#cfeeff;border-radius:50%}#loading{position:fixed;inset:0;display:grid;place-items:center;background:#0a0e16;z-index:50;font-family:Tektur,sans-serif;letter-spacing:3px;color:#3fe0ff}#rotateHint{position:fixed;left:50%;top:calc(50% + 40px);transform:translate(-50%,-50%);z-index:14;display:none;pointer-events:none;background:#080b14d1;border:1px solid rgba(63,224,255,.35);color:#cfe0f4;padding:9px 16px;border-radius:22px;font-size:12px;letter-spacing:.5px;text-align:center;box-shadow:0 0 18px #3fe0ff33;animation:rhpulse 2.4s ease-in-out infinite}@keyframes rhpulse{0%,to{opacity:.6}50%{opacity:1}}@media (pointer:coarse),(max-width:760px){.paneltoggle{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:2px 0;min-height:24px}.paneltoggle:after{content:"▾";font-size:11px;color:#7fa3c4;transition:transform .2s;margin-left:8px}.panel-collapsible.collapsed .paneltoggle:after{transform:rotate(-90deg)}.btn{padding:12px;min-height:44px}.btn.upbtn{padding:10px;min-height:42px}.bcard{padding:10px 9px;min-height:46px}}@media (pointer:coarse) and (orientation:portrait) and (max-width:560px){#rotateHint{display:block}}@media (max-width:560px){.overlay{align-items:flex-end;justify-content:stretch;padding:0}.overlaycard{width:100%;max-width:100%;max-height:86vh;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom);animation:ovsheet .22s cubic-bezier(.2,.9,.3,1)}.overlayhead{padding:14px 16px calc(14px + env(safe-area-inset-top)*0)}.dockbtn,.navbtn{min-height:44px}}@keyframes ovsheet{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@media (max-height:430px){.overlay{align-items:center}.overlaycard{max-height:90vh}}@media (max-width:760px){#hudR{width:208px;gap:8px;top:calc(50px + env(safe-area-inset-top));max-height:calc(100vh - 60px - env(safe-area-inset-top))}.panel{padding:9px 11px;border-radius:11px}.topbar{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:8px}.logo{font-size:15px;letter-spacing:1px}.zone{font-size:10px;letter-spacing:1px}}@media (max-width:560px){#hudR{width:178px;top:calc(44px + env(safe-area-inset-top))}.panel{padding:8px 10px}.invrow{font-size:12px;gap:7px}.cnt{font-size:13px;min-width:28px}.chip{width:13px;height:13px}#workshop h4,#contract h4,#build h4{font-size:12px;margin-bottom:6px}.uptitle{font-size:11px}.upcur,.upnext,.ctreward{font-size:9px}.up{padding:6px 0}.pip{width:14px;height:4px}.hp-track{width:170px;height:16px}.hp-ico{font-size:17px}#hpbar{bottom:calc(14px + env(safe-area-inset-bottom))}.hint{font-size:11px;padding:6px 12px;bottom:calc(60px + env(safe-area-inset-bottom))}#toasts{top:calc(48px + env(safe-area-inset-top))}.toast{font-size:11px;padding:8px 15px}}@media (max-height:430px){#hudR{top:calc(40px + env(safe-area-inset-top));gap:7px;max-height:calc(100vh - 48px)}.topbar{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:6px}#hpbar{bottom:calc(10px + env(safe-area-inset-bottom))}.hint{bottom:calc(48px + env(safe-area-inset-bottom))}}#chat{position:fixed;z-index:12;left:calc(14px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));width:min(340px,72vw);display:flex;flex-direction:column;gap:6px;pointer-events:none}#chatLog{display:flex;flex-direction:column;gap:3px;max-height:168px;overflow:hidden;transition:opacity .6s;-webkit-mask-image:linear-gradient(180deg,transparent,#000 26px);mask-image:linear-gradient(180deg,transparent,#000 26px)}#chatLog.faded{opacity:.32}.cmsg{font-family:JetBrains Mono,monospace;font-size:11.5px;line-height:1.4;letter-spacing:.2px;color:#dcecff;background:#0a0e169e;border:1px solid rgba(120,160,210,.18);border-radius:9px;padding:4px 9px;backdrop-filter:blur(5px);text-shadow:0 1px 3px rgba(0,0,0,.7);max-width:100%;overflow-wrap:anywhere;animation:cmIn .22s ease}@keyframes cmIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.cmsg b{font-weight:700}.cm-you{border-color:#3fe0ff66}.cm-you b{color:#3fe0ff}.cm-sys{color:#9affc4;border-color:#6effa842}.cm-pio b{color:#ffb43f}#chatInput{pointer-events:auto;display:none;width:100%;font-family:JetBrains Mono,monospace;font-size:12.5px;color:#eef5ff;background:#0a0e16db;border:1px solid rgba(63,224,255,.55);border-radius:10px;padding:8px 11px;outline:none;backdrop-filter:blur(6px);box-shadow:0 0 14px #3fe0ff38}#chatInput.on{display:block}#chatInput::placeholder{color:#7f95ad}#chatToggle{position:fixed;z-index:12;left:calc(14px + env(safe-area-inset-left));bottom:calc(188px + env(safe-area-inset-bottom));width:40px;height:40px;display:none;align-items:center;justify-content:center;font-size:18px;border:1px solid rgba(120,160,210,.3);border-radius:50%;background:#0a0e16cc;color:#cfe0f4;backdrop-filter:blur(6px);cursor:pointer;-webkit-tap-highlight-color:transparent}#chatToggle.touch{display:flex}@media (max-height:430px){#chat{width:min(280px,60vw)}#chatLog{max-height:104px}}.fishpanel{border-color:#3ad6e257;background:linear-gradient(180deg,#0e1a1ed6,#0a0e16d6)}.fishhdr{font-family:Tektur,sans-serif;letter-spacing:1px;font-size:12px;color:#bfeefa;display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.fishtotal{font-family:JetBrains Mono,monospace;font-size:10px;color:#7fd6e2;letter-spacing:.3px}.fishstatus{font-family:JetBrains Mono,monospace;font-size:10.5px;line-height:1.35;color:#cfe6ee;min-height:14px}.fishprogwrap{height:6px;border-radius:5px;background:#ffffff1a;overflow:hidden;margin:7px 0 9px;transition:opacity .3s}.fishprogwrap i{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,#3ad6e2,#9affc4);box-shadow:0 0 8px #3ad6e299;transition:width .12s linear}.fishrow{display:flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:700;color:#e8f3f7}.fishrow+.fishrow{margin-top:5px}.fishrow.dim{opacity:.4}.fchip{width:13px;height:13px;border-radius:3px;flex:0 0 auto}.fname{flex:1 1 auto}.fcnt{min-width:22px;text-align:right;color:#fff}
