/*! FocalShift Ai · Mission Control shell · MC-SHELL-DELIVERY (ruling 454, 11 Sep 2026).
    Generated by build/externalise.py from the shell's own inline block(s) — byte-for-byte the same
    rules/code, moved out of the document so the browser can cache them. The filename carries the
    content hash; a changed file is a new name, never an overwrite. */
/* ── from public_html/_mc_shellA.php: <style> ── */
/* CREATE NEW — grouped menu (-cn2-0801, restyled -cn3-0801).
       Rows come from fs_nav_tree()['create']; grouping from fs_nav_create_groups().
       NO filled icon plates — bare 20px Lucide glyphs whose STROKE carries the FocalShift Ai
       signature ramp (the same #5b57ef -> #6f5bf6 -> #39c8e8 as --fs-grad in
       assets/fs/fs-components.css:23 and the cover/XP-bar/avatar-ring gradient in
       assets/fs/fs-chrome.css). The paint reference is declared once in .fscn-defs; if a
       browser cannot resolve it the preceding `stroke:currentColor` keeps the row's flat
       brand token. Hover/active are colour + a 2px rule — never a filled block. */
    .fscn{position:relative;display:flex;align-items:center;margin-left:6px}
    .fscn-btn{height:28px;padding:0 13px;border:0;border-radius:8px;background:var(--vv,#615dfa);color:#fff;font-family:'Inter',system-ui,-apple-system,sans-serif;font-weight:700;font-size:11px;line-height:1;letter-spacing:.01em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
    .fscn-btn:hover{background:#524edd}
    .fscn-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
    .fscn-menu{position:absolute;left:0;top:calc(100% + 8px);z-index:200;width:640px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #e6e8ef;border-radius:10px;box-shadow:0 22px 60px -28px rgba(15,23,42,.4);padding:11px 10px 9px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .14s,transform .14s,visibility .14s}
    .fscn.open .fscn-menu{opacity:1;visibility:visible;transform:none}
    .fscn-eyebrow{margin:0 9px 9px;font-family:'Sora','Inter',system-ui,-apple-system,sans-serif;font-size:11.5px;font-weight:700;line-height:1;letter-spacing:-.01em;text-transform:none;color:var(--fsc-ink,#2c2c44)}
    .fscn-find{position:relative;margin:0 2px 10px}
    .fscn-find i,.fscn-find svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:#a3a4b6;stroke:#a3a4b6;stroke-width:1.6;pointer-events:none}
    .fscn-inp{width:100%;height:33px;box-sizing:border-box;border:1px solid #e9ebf2;border-radius:7px;background:#f8f9fc;padding:0 10px 0 33px;font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:12px;font-weight:500;line-height:1;color:#23233a;outline:none;transition:border-color .12s,background .12s,box-shadow .12s}
    .fscn-inp::placeholder{color:#a3a4b6}
    .fscn-inp:focus{border-color:#5b57ef;background:#fff;box-shadow:0 0 0 3px rgba(91,87,239,.12)}
    .fscn-groups{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0 20px;max-height:min(70vh,600px);overflow-y:auto;overflow-x:hidden;padding:0 2px 2px}
    .fscn-groups::-webkit-scrollbar{width:2px}
    .fscn-groups::-webkit-scrollbar-thumb{background:#5b57ef;border-radius:2px}
    .fscn-grp{min-width:0;margin:0 0 14px}
    .fscn-grp[hidden]{display:none}
    .fscn-gt{margin:4px 0 6px 11px;font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:8.5px;font-weight:800;line-height:1.1;letter-spacing:.2em;text-transform:uppercase;color:#a3a4b6}
    .fscn-item{display:flex;align-items:center;gap:11px;padding:7px 9px;border-radius:6px;border-left:2px solid transparent;text-decoration:none;color:var(--fsc-ink,#2c2c44);font-family:'Sora','Inter',system-ui,-apple-system,sans-serif;font-size:12.5px;font-weight:600;line-height:1.15;letter-spacing:-.01em;transition:color .12s,border-color .12s}
    .fscn-item[hidden]{display:none}
    .fscn-g{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;line-height:0;background:none;border:0;border-radius:0}
    .fscn-item .fscn-g i,.fscn-item .fscn-g svg{width:20px;height:20px;flex:0 0 20px;vertical-align:middle}
    .fscn-item .fscn-g svg{stroke-width:1.5;stroke:currentColor;stroke:url(#fscnGrad)}
    .fscn-item:hover,.fscn-item.fscn-on{color:var(--fsc-violet-2,#5450ee);border-left-color:#5b57ef}
    .fscn-tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .fscn-lock{margin-left:auto;display:inline-flex;align-items:center;gap:3px;font-family:'Inter',system-ui,sans-serif;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#a3a4b6;flex:0 0 auto}
    .fscn-lock svg{width:9px;height:9px;stroke:currentColor}
    .fscn-none{display:none;margin:10px 11px;font-family:'Inter',system-ui,sans-serif;font-size:12px;font-weight:500;line-height:1.4;color:#a3a4b6}
    .fscn-menu.fscn-empty .fscn-none{display:block}
    html.fs-dark .fscn-menu,.fs-dark .fscn-menu{background:#14182a;border-color:#262b40}
    html.fs-dark .fscn-eyebrow,.fs-dark .fscn-eyebrow{color:#e7e8f5}
    html.fs-dark .fscn-item,.fs-dark .fscn-item{color:#e6e7f0}
    html.fs-dark .fscn-item:hover,html.fs-dark .fscn-item.fscn-on,.fs-dark .fscn-item:hover,.fs-dark .fscn-item.fscn-on{color:#a9a6ff;border-left-color:#8b87ff}
    html.fs-dark .fscn-item .fscn-g svg{stroke:currentColor;stroke:url(#fscnGradD)}
    html.fs-dark .fscn-inp,.fs-dark .fscn-inp{background:#1d1e2b;border-color:#2e2f44;color:#e7e8f5}
    html.fs-dark .fscn-inp:focus,.fs-dark .fscn-inp:focus{background:#1d1e2b;border-color:#5b57ef}
    html.fs-dark .fscn-inp::placeholder,.fs-dark .fscn-inp::placeholder{color:#7f80a0}
    html.fs-dark .fscn-gt,html.fs-dark .fscn-none,html.fs-dark .fscn-lock,.fs-dark .fscn-gt,.fs-dark .fscn-none,.fs-dark .fscn-lock{color:#7f80a0}
    html.fs-dark .fscn-find i,html.fs-dark .fscn-find svg{color:#7f80a0;stroke:#7f80a0}
    @media(max-width:820px){.fscn-groups{grid-template-columns:1fr}}

/* ── from public_html/_mc_shellA.php: <style id=fs-dzs-btn-style> ── */
/* WO-DZ1 (8/5) — the "build, design, or deploy" trigger. Same header CONTROL idiom as
       the All Tools / theme / bell icons (.fslh-ic: no plate, hover changes the GLYPH
       colour only, per the HD1 square-fill audit, and light + dark both come from the
       existing .fslh-ic chrome). The filled --vv treatment stays unique to Create New.
       The !important sizing mirrors .fslh-bigbot, which is overridden the same way by the
       later #fs-lucide-shell block. */
    .fs-dzs-btn svg{width:22px !important;height:22px !important}

/* ── from public_html/_mc_shellA.php: <style> ── */
.fslh-search button.k{cursor:pointer;border:0;font:inherit;line-height:inherit}.fslh-search button.k:hover{filter:brightness(.96)}

/* ── from public_html/_mc_shellA.php: <style> ── */
.fslh-lpulse{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:-14px;border-radius:10px;color:#5b5b76;flex:0 0 auto;transition:background .15s,color .15s}.fslh-lpulse:hover{color:var(--fsc-ok,#0d8128)}.fslh-lpulse i{width:19px;height:19px}.fs-dark .fslh-lpulse{color:var(--fsc-muted,#6a6a8b)}.fs-dark .fslh-lpulse:hover{color:var(--fsc-ok,#0d8128)}

/* ── from public_html/_mc_shellA.php: <style> ── */
.fslh-golive{position:relative}.fslh-golive i{color:#e60023}.fslh-golive:hover i{color:#ff3b4e}.fslh-golive-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:#e60023;box-shadow:0 0 0 2px #fff;animation:fslhGlPulse 1.5s infinite}@keyframes fslhGlPulse{0%,100%{opacity:1}50%{opacity:.35}}.fs-dark .fslh-golive-dot{box-shadow:0 0 0 2px #1d1e2b}

/* ── from public_html/_mc_shellA.php: <style> ── */
.fsst{position:relative;display:flex;align-items:center;margin-right:2px}
.fsst-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border:1px solid #e6e6f0;border-radius:10px;background:transparent;color:#5b5b76;font-family:'Inter',system-ui,-apple-system,sans-serif;font-weight:700;font-size:12.5px;line-height:1;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.fsst-btn .fsst-lead{font-size:13px;color:var(--fsc-pink,#d21772)}
.fsst-btn .fsst-chev{font-size:10px;transition:transform .16s}
.fsst-btn:hover{color:var(--fsc-ok,#0d8128);border-color:#d9d9ec}
.fsst.open .fsst-btn{background:rgba(97,93,250,.1);color:var(--fsc-violet,#514dfa);border-color:var(--vv,#615dfa)}
.fsst.open .fsst-chev{transform:rotate(180deg)}
.fsst-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:1200;width:292px;padding:8px;border-radius:16px;background:#fff;border:1px solid #ececf4;box-shadow:0 28px 60px -22px rgba(20,20,50,.4);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility .16s}
.fsst.open .fsst-menu{opacity:1;visibility:visible;transform:none}
.fsst-title{padding:8px 10px 6px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fsc-muted,#6a6a8b)}
.fsst-item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:11px;text-decoration:none;transition:background .14s ease}
.fsst-item:hover{background:rgba(97,93,250,.08)}
.fsst-ic{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border-radius:9px;background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c);font-size:15px}
.fsst-tx{display:flex;flex-direction:column;min-width:0}
.fsst-tx b{font-size:12.5px;font-weight:700;color:var(--fsc-ink,#2c2c44);line-height:1.2}
.fsst-tx small{font-size:11px;color:var(--fsc-muted,#6a6a8b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-dark .fsst-btn{border-color:#2b2f45;color:#c9cbe0}
.fs-dark .fsst-btn:hover{color:var(--fsc-ok,#0d8128);border-color:#3a3f5c}
.fs-dark .fsst.open .fsst-btn{color:#a9a6ff;border-color:var(--vv,#615dfa);background:rgba(97,93,250,.16)}
.fs-dark .fsst-menu{background:#14182a;border-color:#262b40}
.fs-dark .fsst-title{color:var(--fsc-muted,#6a6a8b)}
.fs-dark .fsst-item:hover{background:rgba(97,93,250,.16)}
.fs-dark .fsst-tx b{color:#e6e7f0}
.fs-dark .fsst-tx small{color:var(--fsc-muted,#6a6a8b)}

/* ── from public_html/_mc_shellA.php: <style> ── */
.fsmsg{position:relative;display:inline-flex}.fsmsg>summary{list-style:none;cursor:pointer;position:relative}.fsmsg>summary::-webkit-details-marker{display:none}.fsmsg-pop{position:absolute;right:0;top:calc(100% + 10px);width:300px;background:#fff;border:1px solid #ececf4;border-radius:13px;box-shadow:0 20px 50px -18px rgba(40,38,90,.42);padding:10px;z-index:80;text-align:left}.fsmsg-h{display:block;font:700 13px Inter,sans-serif;color:#23233a;margin:2px 4px 8px}.fsmsg-empty{display:block;font-size:12.5px;color:var(--fsc-muted,#6a6a8b);line-height:1.4;padding:0 4px 8px}.fsmsg-row{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:9px;text-decoration:none}.fsmsg-row:hover{background:#f5f5fb}.fsmsg-av{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#45437f;color:#fff;font:700 11px Inter,sans-serif;display:flex;align-items:center;justify-content:center}.fsmsg-tx{min-width:0;flex:1}.fsmsg-tx b{display:flex;justify-content:space-between;gap:8px;font:600 12.5px Inter,sans-serif;color:#23233a}.fsmsg-tx b i{font-style:normal;font-weight:500;color:var(--fsc-muted,#6a6a8b);font-size:11px;flex:0 0 auto}.fsmsg-tx span{display:block;font-size:12px;color:var(--fsc-muted,#6a6a8b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsmsg-all{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;padding:8px;border-top:1px solid #f0f0f7;font:600 12px Inter,sans-serif;color:var(--fsc-violet,#514dfa);text-decoration:none}.fs-dark .fsmsg-pop{background:#14182a;border-color:#262b40}.fs-dark .fsmsg-h{color:#e6e7f0}.fs-dark .fsmsg-empty{color:var(--fsc-muted,#6a6a8b)}.fs-dark .fsmsg-row:hover{background:rgba(97,93,250,.16)}.fs-dark .fsmsg-tx b{color:#e6e7f0}.fs-dark .fsmsg-tx span{color:var(--fsc-muted,#6a6a8b)}.fs-dark .fsmsg-tx b i{color:var(--fsc-muted,#6a6a8b)}.fs-dark .fsmsg-all{border-top-color:#262b40}
.fsmsg-av.pic{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);border-radius:0;background:#eef0fa;overflow:hidden;height:33px;flex-basis:30px}
.fsmsg-av.pic img{width:100%;height:100%;object-fit:cover;display:block}

/* ── from public_html/_mc_shellA.php: <style> ── */
.fsnotif{position:relative;display:inline-flex}.fsnotif>summary{list-style:none;cursor:pointer;position:relative}.fsnotif>summary::-webkit-details-marker{display:none}.fsnotif-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:#e5484d;color:#fff;font:800 9.5px Inter,sans-serif;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}.fsnotif-pop{position:absolute;right:0;top:calc(100% + 10px);width:300px;background:#fff;border:1px solid #ececf4;border-radius:13px;box-shadow:0 20px 50px -18px rgba(40,38,90,.42);padding:10px;z-index:80;text-align:left;max-height:420px;overflow-y:auto}.fsnotif-h{display:flex;align-items:center;gap:7px;font:700 13px Inter,sans-serif;color:#23233a;margin:2px 4px 8px}.fsnotif-h em{font-style:normal;font:800 10px Inter,sans-serif;color:var(--fsc-danger,#d01e23);background:rgba(229,72,77,.12);padding:2px 6px;border-radius:99px}.fsnotif-empty{display:block;font-size:12.5px;color:var(--fsc-muted,#6a6a8b);line-height:1.4;padding:0 4px 8px}.fsnotif-row{display:flex;align-items:flex-start;gap:10px;padding:8px 6px;border-radius:9px;text-decoration:none}.fsnotif-row:hover{background:#f5f5fb}.fsnotif-row.unread{background:rgba(97,93,250,.06)}.fsnotif-ic{flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:rgba(97,93,250,.12);color:var(--fsc-violet,#514dfa);display:flex;align-items:center;justify-content:center;font-size:13px;margin-top:1px}.fsnotif-tx{min-width:0;flex:1}.fsnotif-tx b{display:flex;justify-content:space-between;gap:8px;font:600 12.5px Inter,sans-serif;color:#23233a;line-height:1.3}.fsnotif-tx b i{font-style:normal;font-weight:500;color:var(--fsc-muted,#6a6a8b);font-size:11px;flex:0 0 auto}/* ═══ RECON-SMALLS-A item 5 (11 Sep 2026) — A NOTICE THAT FINISHES ITS SENTENCE ═══════════
   Measured from the rendered page with the bell OPEN, on /mission-control, /wallet and
   /my-website at 1280, this seat: SIX of seven notices were cut on ONE line —
     318 / 313 / 316 / 313 / 316 / 323 px of text in a 226 px box.
   The ellipsis IS drawn (RECON-BETA-0912 R3 reported 'no ellipsis'; that half is wrong and
   the plate shows the dots) — what is wrong is that ~30 % of every notice is unreadable, and
   the half that goes is the half that tells the member what to do:
     'We noticed a sign-in from a new network. If this was y…'
   There is nowhere else to read it: the bell is a header popover and /notifications is a 404
   (RECON-BETA-0912 §1b). So the notice must finish here.
   🔴 AND THE THREE DOTS WERE THE SERVER'S, NOT THE BROWSER'S. The string in the DOM is
   already cut to 54 characters + '...' by the row builder twelve lines below (measured:
   every clipped body is EXACTLY 57 characters). The CSS then clipped that shortened string
   again and took the dots off the end with it — which is why the walk read it as truncation
   with no ellipsis. Both halves of that observation now have a mechanism.
   THE FIX IS TWO HALVES, and the other one is on the $fsNbody line below:
     · here, let the body WRAP and clamp at FOUR lines, so the browser decides where a
       notice ends and draws a real ellipsis when it does;
     · there, raise the server cut from 54 to 160 characters so the browser HAS the sentence
       to lay out. 226 px holds ~40 characters a line, so four lines = ~160, which is the
       whole of every security notice on this seat (110-122 characters) and the whole first
       sentence of every uptime notice.
   Same 300 px popover, same rows, same type; .fsnotif-pop already scrolls at 420 px.
   SCOPE: .fsnotif-tx span — the notification body, and nothing else on 254 member pages. */
.fsnotif-tx span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;font-size:12px;color:var(--fsc-muted,#6a6a8b);line-height:1.35;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere}.fsnotif-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--vv,#615dfa);margin-top:6px}.fs-dark .fsnotif-pop{background:#14182a;border-color:#262b40}.fs-dark .fsnotif-badge{box-shadow:0 0 0 2px #14182a}.fs-dark .fsnotif-h{color:#e6e7f0}.fs-dark .fsnotif-empty{color:var(--fsc-muted,#6a6a8b)}.fs-dark .fsnotif-row:hover{background:rgba(97,93,250,.16)}.fs-dark .fsnotif-row.unread{background:rgba(97,93,250,.14)}.fs-dark .fsnotif-tx b{color:#e6e7f0}.fs-dark .fsnotif-tx span{color:var(--fsc-muted,#6a6a8b)}.fs-dark .fsnotif-tx b i{color:var(--fsc-muted,#6a6a8b)}
.fsnotif-ic.av{background:#eef0fa;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);border-radius:0;overflow:hidden;height:33px}
.fsnotif-ic.av img{width:100%;height:100%;object-fit:cover;display:block}

/* ── from public_html/_mc_shellA.php: <style> ── */
.fslh-langdd{position:relative;display:inline-flex}.fslh-langdd>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;overflow:hidden;border:1px solid #ececf4;background:#fff;transition:border-color .15s,box-shadow .15s}.fs-dark .fslh-langdd>summary{background:#13141d;border-color:#2b2c3e}/* MC-HEADER-FLAG: the chip sits on the header's own dark surface (fs-pages.css .fs-dark .fslh / .fslh-search input) */.fslh-langdd>summary::-webkit-details-marker{display:none}.fslh-langdd>summary:hover{border-color:var(--vv,#615dfa);box-shadow:0 0 0 3px rgba(97,93,250,.12)}.fslh-langdd>summary img{width:100%;height:100%;object-fit:cover}.fslh-langpop{position:absolute;right:0;top:calc(100% + 10px);width:344px;background:#fff;border:1px solid #ececf4;border-radius:13px;box-shadow:0 20px 50px -18px rgba(40,38,90,.42);padding:9px 10px 6px;z-index:80}.fslh-langpop b.fslh-langh{display:block;font:700 11px Inter,sans-serif;color:var(--fsc-muted,#6a6a8b);text-transform:uppercase;letter-spacing:.06em;padding:2px 4px 8px}.fslh-langpop .fs-langbar-track{gap:11px;padding:2px 2px 6px;scroll-behavior:smooth;scrollbar-width:none}.fslh-langpop .fs-langbar-track::-webkit-scrollbar{display:none}.fs-dark .fslh-langpop{background:#1c1d2b;border-color:#2e2f44}.fs-dark .fslh-langpop b.fslh-langh{color:var(--fsc-muted,#6a6a8b)}.fslh-themedd{position:relative;display:inline-flex}.fslh-themedd>summary{list-style:none}.fslh-themedd>summary::-webkit-details-marker{display:none}.fslh-themepop{position:absolute;right:0;top:calc(100% + 10px);width:168px;background:#fff;border:1px solid #ececf4;border-radius:13px;box-shadow:0 20px 50px -18px rgba(40,38,90,.42);padding:7px;z-index:80}.fslh-themeopt{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:none;border-radius:9px;text-align:left;cursor:pointer;color:#3a3a52;font:600 13px Inter,system-ui,sans-serif}.fslh-themeopt>i{width:16px;text-align:center;color:var(--fsc-violet,#514dfa)}.fslh-themeopt:hover{background:#f5f5fb}.fslh-themeopt.on{background:#eef0ff;color:#3b38c9}.fs-dark .fslh-themepop{background:#1c1d2b;border-color:#2e2f44}.fs-dark .fslh-themeopt{color:#c9c9d6}.fs-dark .fslh-themeopt:hover{background:#262737}

/* ── from public_html/_mc_shellA.php: <style> ── */
.fslh-langpoprow{position:relative;display:flex;align-items:center;gap:2px;max-width:100%}
        .fslh-langpoprow .fs-langbar-track{width:250px;flex:0 0 250px;min-width:0;padding-right:24px;scroll-behavior:smooth}
        /* ═══ STRANGER-FIXES-B (11 Sep 2026) — ALL FIFTEEN LANGUAGES, NO HIDDEN TEN ═══════
           Measured from the rendered page with this menu OPEN, at 1280 and at 1440:
             · the popover ends 136 px INSIDE the window and PAINTS nothing outside it — the
               "overflow" the stranger's walk reported is the scrolled-out content of a
               250 px overflow-x:auto port (scrollWidth 780), clipped and never painted;
             · but only 5 of 15 chips are reachable at rest. Ten languages exist behind a
               24 px arrow, in a popover with 136 px of unused room beside it;
             · and 4 of 15 names are wider than their own 40 px chip and spill into the
               neighbour: Nederlands +13, Português +8, Tiếng Việt +7, Русский +2.
           Same chips, same circular flags, same native names, same popover width — laid out
           as a grid instead of a one-line scroller, so every language is one click away and
           no name touches its neighbour. The scroll arrows have nothing left to scroll, so
           they go; the track keeps overflow-x:auto as the fallback for a browser without
           grid, where it behaves exactly as it does today.
           SCOPE: `.fslh-langpop` only. The account panel's .fslh-langsec bar (355 px, six
           flags, its own rule at the top of this file) and the page-foot .fs-langbar are
           deliberately NOT touched — they are different components in different rooms. */
        .fslh-langpop .fslh-langpoprow .fs-langbar-track{display:grid;grid-template-columns:repeat(5,1fr);
          gap:12px 4px;width:100%;flex:1 1 auto;min-width:0;padding:2px 0 2px;overflow:visible}
        .fslh-langpop .fslh-langpoprow .fs-lang{width:auto;min-width:0}
        .fslh-langpop .fslh-langpoprow .fs-lang-name{white-space:normal;overflow-wrap:anywhere;line-height:1.15}
        .fslh-langpop .fslh-langpoprow .fs-langnav{display:none}
        .fslh-langnav-ovl{position:absolute;right:-2px;top:50%;transform:translateY(-50%);z-index:2;width:30px;height:40px;border:0;cursor:pointer;color:var(--fsc-muted,#6a6a8b);display:flex;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,#fff 46%)}
        .fslh-langnav-ovl:hover{color:var(--fsc-violet-2,#5450ee)}
        .fslh-langnav-ovl svg{width:15px;height:15px}
        .fs-dark .fslh-langnav-ovl{background:linear-gradient(90deg,rgba(29,30,43,0) 0%,#1d1e2b 46%);color:var(--fsc-muted,#6a6a8b)}
        .fs-dark .fslh-langnav-ovl:hover{color:#aab0ff}
