/* Serious Sailors deck plans v2 */
.ssx{
  --plum-950:#12061D; --plum-900:#180825; --plum-800:#22103A; --plum-700:#2E1A46; --plum-500:#4B5563;
  --lilac:rgba(255,255,255,.76); --lilac-soft:rgba(255,255,255,.56);
  --red:#BE0004; --red-deep:#9E0A10; --red-glow:rgba(255,64,72,.55);
  --page:#F8F7F4; --card:#FFFFFF; --ink:#1F2937; --muted:#6B7280; --line:#E5E7EB; --chip:#F3F4F6;
  --display:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Source Sans 3","Source Sans Pro",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-family:var(--body); color:var(--ink); font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.ssx *,.ssx *::before,.ssx *::after{box-sizing:border-box}
.ssx button{font:inherit;color:inherit;cursor:pointer}
.ssx a{color:inherit}
.ssx :focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:6px}

/* ---------- top controls ---------- */
.ssx-top{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;margin:0 0 16px}
.ssx-ships{display:inline-flex;padding:4px;border-radius:999px;background:var(--plum-900);gap:2px}
.ssx-ships button{border:0;background:transparent;color:var(--lilac);padding:9px 16px;border-radius:999px;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:-.005em;transition:background .15s,color .15s}
.ssx-ships button:hover{color:#fff}
.ssx-ships button[aria-pressed="true"]{background:#fff;color:var(--plum-900)}
.ssx-search{position:relative;flex:1 1 300px;max-width:420px}
.ssx-search input{width:100%;height:46px;border-radius:999px;border:1px solid var(--line);background:var(--card);padding:0 18px 0 44px;font:inherit;font-size:16px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.ssx-search input::placeholder{color:#9CA3AF}
.ssx-search input:focus{outline:0;border-color:var(--plum-500);box-shadow:0 0 0 4px rgba(31,41,55,.12)}
.ssx-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#9CA3AF;pointer-events:none}
.ssx-results{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px -12px rgba(24,8,37,.28);padding:6px;max-height:360px;overflow:auto}
.ssx-results[hidden]{display:none}
.ssx-res{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:10px}
.ssx-res:hover,.ssx-res[aria-selected="true"]{background:var(--chip)}
.ssx-res b{font-weight:600;display:block;line-height:1.25}
.ssx-res small{color:var(--muted);font-size:13px}
.ssx-res em{font-style:normal;font-size:13px;color:var(--muted);white-space:nowrap;text-align:right}
@media (max-width:520px){.ssx-res em{white-space:normal;max-width:130px}}
.ssx-res i{width:10px;height:10px;border-radius:3px}
.ssx-noresult{padding:12px;color:var(--muted);font-size:15px}

/* ---------- stage: the map is the canvas, controls float on it ---------- */
.ssx-stage{position:relative;height:560px;border-radius:24px;overflow:hidden;color:#fff;isolation:isolate;
  background:radial-gradient(120% 100% at 45% 60%,#221033 0%,var(--plum-900) 60%,var(--plum-950) 100%)}
.ssx-canvas{position:absolute;inset:0;touch-action:none;cursor:grab;overflow:hidden}
.ssx-canvas.is-panning{cursor:grabbing}
.ssx-svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:hidden}
.ssx-scrim{position:absolute;left:0;right:0;top:0;height:230px;pointer-events:none;opacity:0;transition:opacity .25s;
  background:linear-gradient(180deg,rgba(18,6,29,.92) 0%,rgba(18,6,29,.7) 55%,rgba(18,6,29,0) 100%)}
.ssx-stage.is-zoomed .ssx-scrim{opacity:1}
.ssx-ov{position:absolute;z-index:5}
.ssx-ov-head{left:28px;top:22px;right:24px;display:flex;flex-direction:column;gap:6px;pointer-events:none;transition:opacity .2s}
.ssx-ov-head>*{pointer-events:auto}
.ssx-stage.has-panel .ssx-ov-head{opacity:0;pointer-events:none}
.ssx-stage.has-panel .ssx-ov-head>*{pointer-events:none}
.ssx-deckno{font-family:var(--display);font-weight:800;font-size:30px;line-height:1.05;letter-spacing:-.025em;margin:0}
.ssx-sum{margin:0 0 8px;color:var(--lilac);font-size:16px;max-width:60ch}
.ssx-chips{display:flex;flex-wrap:wrap;gap:8px}
.ssx-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.16);background:rgba(24,8,37,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#EDE7F4;border-radius:999px;padding:6px 12px 6px 10px;font-size:14px;line-height:1.2;transition:background .15s,border-color .15s,opacity .15s}
.ssx-chip:hover{background:rgba(255,255,255,.12)}
.ssx-chip i{width:10px;height:10px;border-radius:3px;flex:none}
.ssx-chip small{color:var(--lilac-soft);font-size:12px;font-variant-numeric:tabular-nums}
.ssx-chip[aria-pressed="true"]{background:#fff;color:var(--plum-900);border-color:#fff}
.ssx-chip[aria-pressed="true"] small{color:var(--muted)}
.ssx-chips.has-on .ssx-chip[aria-pressed="false"]{opacity:.55}

.ssx-elevtip{position:absolute;z-index:30;pointer-events:none;background:#fff;color:var(--ink);border-radius:10px;padding:7px 10px;font-size:13px;line-height:1.3;box-shadow:0 10px 24px -8px rgba(0,0,0,.45);width:max-content;max-width:230px}
.ssx-elevtip b{font-family:var(--display);font-weight:800;display:block;font-size:13px}
.ssx-elevtip[hidden]{display:none}

.ssx-hot [data-v],.ssx-hot [data-c]{cursor:pointer;transition:opacity .18s}
.ssx-hot .is-dim{opacity:.16}
.ssx-hot [data-v]:focus{outline:none}
.ssx-lbl text{font-family:var(--display);font-weight:700;pointer-events:none;letter-spacing:-.01em}
.ssx-lbl-c text{font-family:var(--display);font-weight:600;pointer-events:none}
.ssx-lbl .is-dim,.ssx-lbl-c .is-dim{opacity:.2}
.ssx-hover *{fill:none;stroke:#fff;stroke-width:2.5px;vector-effect:non-scaling-stroke;pointer-events:none}
.ssx-sel .ring{fill:none;stroke:var(--red);stroke-width:7px;vector-effect:non-scaling-stroke;opacity:.85}
.ssx-sel .edge{fill:none;stroke:#fff;stroke-width:2.5px;vector-effect:non-scaling-stroke}
.ssx-sel *{pointer-events:none}
.ssx-pulse{fill:none;stroke:var(--red);stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:ssx-pulse 1.1s ease-out 2}
@keyframes ssx-pulse{from{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}
.ssx-svg.is-leave-up{transition:transform .16s ease-in,opacity .16s ease-in;transform:translateY(-22px);opacity:0}
.ssx-svg.is-leave-down{transition:transform .16s ease-in,opacity .16s ease-in;transform:translateY(22px);opacity:0}
.ssx-svg.is-enter-up{transform:translateY(22px);opacity:0}
.ssx-svg.is-enter-down{transform:translateY(-22px);opacity:0}
.ssx-svg.is-enter-go{transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .26s ease-out;transform:none;opacity:1}

/* overview strip, always on: shows where you are and which way is forward */
.ssx-mini{left:18px;bottom:18px;height:38px;padding:0 12px 0 10px;display:flex;align-items:center;gap:8px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(24,8,37,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:left .28s cubic-bezier(.2,.8,.2,1)}
.ssx-mini svg{width:150px;height:24px;display:block;cursor:pointer;flex:none}
.ssx-bow{font-size:12px;color:var(--lilac-soft);display:inline-flex;align-items:center;gap:4px}
.ssx-bow::after{content:"";width:0;height:0;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent}
.ssx-stage.has-panel .ssx-mini{left:414px}
.ssx-zoom{right:18px;bottom:18px;display:flex;gap:6px}
.ssx-zoom button{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(24,8,37,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;display:grid;place-items:center;transition:background .15s}
.ssx-zoom button:hover{background:rgba(255,255,255,.16)}
.ssx-zoom svg{width:16px;height:16px}

.ssx-tip{position:absolute;z-index:25;pointer-events:none;background:#fff;color:var(--ink);border-radius:12px;padding:8px 12px 9px;box-shadow:0 14px 30px -10px rgba(0,0,0,.5);max-width:260px;font-size:13.5px;line-height:1.3}
.ssx-tip b{display:block;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:-.01em}
.ssx-tip small{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:6px;margin-top:2px}
.ssx-tip small i{width:8px;height:8px;border-radius:2px;flex:none}
.ssx-tip[hidden]{display:none}
.ssx-toast{position:absolute;z-index:26;left:50%;bottom:22px;transform:translate(-50%,6px);background:rgba(255,255,255,.96);color:var(--ink);font-size:14px;font-weight:600;border-radius:999px;padding:9px 18px;pointer-events:none;opacity:0;transition:opacity .25s,transform .25s;box-shadow:0 12px 30px -12px rgba(0,0,0,.6);white-space:nowrap}
.ssx-toast.is-on{opacity:1;transform:translate(-50%,0)}
.ssx-loading{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:0 24px;color:var(--lilac);font-size:15px;pointer-events:none}
.ssx-loading[hidden]{display:none}

/* detail panel */
.ssx-panel{position:absolute;z-index:30;top:14px;left:14px;max-height:calc(100% - 28px);width:372px;background:var(--card);color:var(--ink);border-radius:18px;box-shadow:0 24px 60px -20px rgba(0,0,0,.6);display:flex;flex-direction:column;overflow:hidden;transform:translateX(calc(-100% - 24px));transition:transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s .28s;visibility:hidden}
.ssx-panel.is-open{transform:none;visibility:visible;transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.ssx-panel-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 0 20px}
.ssx-kind{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--muted)}
.ssx-kind i{width:10px;height:10px;border-radius:3px}
.ssx-x{width:34px;height:34px;border-radius:10px;border:0;background:var(--chip);display:grid;place-items:center;flex:none}
.ssx-x:hover{background:#E5E7EB}
.ssx-x svg{width:14px;height:14px}
.ssx-panel-body{overflow:auto;padding:8px 20px 20px;flex:1;overscroll-behavior:contain}
.ssx-panel h3{font-family:var(--display);font-weight:800;font-size:26px;line-height:1.1;letter-spacing:-.025em;margin:2px 0 4px}
.ssx-sub{margin:0 0 12px;color:var(--muted);font-size:15.5px}
.ssx-sub a{color:var(--red-deep);font-weight:600;text-decoration:none}
.ssx-sub a:hover{text-decoration:underline}
.ssx-p{margin:0 0 14px;font-size:16px;line-height:1.55}
.ssx-facts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;list-style:none}
.ssx-facts li{background:var(--chip);border-radius:8px;padding:4px 10px;font-size:14px;font-weight:600;color:#374151}
.ssx-facts li.is-good{background:#E4F4EA;color:#1D6B43}
.ssx-cta{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.ssx-btn{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:12px;padding:12px 16px;font-family:var(--display);font-weight:700;font-size:15px;border:1px solid transparent;transition:background .15s,border-color .15s}
.ssx .ssx-btn-1{background:var(--red);color:#fff}
.ssx .ssx-btn-1:hover{background:var(--red-deep)}
.ssx-btn-2{background:transparent;border-color:var(--line);color:var(--ink)}
.ssx-btn-2:hover{border-color:#D1D5DB;background:#F9FAFB}
.ssx-score{display:flex;align-items:center;gap:14px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#FDF2F2,#F8F7F4);margin:0 0 14px}
.ssx-score-n{--p:60;width:58px;height:58px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:conic-gradient(var(--red) calc(var(--p)*1%),#E5E7EB 0)}
.ssx-score-n span{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:18px}
.ssx-score-t{font-family:var(--display);font-weight:800;font-size:17px;line-height:1.2}
.ssx-score-t small{display:block;font-family:var(--body);font-weight:600;font-size:13px;color:var(--muted);margin-bottom:1px}
.ssx-rates{display:grid;gap:8px;margin:0 0 16px}
.ssx-rate{display:grid;grid-template-columns:72px 1fr 78px;align-items:center;gap:10px;font-size:14px}
.ssx-rate .t{height:6px;border-radius:3px;background:#EEF0F2;overflow:hidden}
.ssx-rate .t i{display:block;height:100%;border-radius:3px;background:#2E8F62}
.ssx-rate .t i.is-ok{background:#D99A1E}
.ssx-rate .t i.is-bad{background:#C8193F}
.ssx-rate em{font-style:normal;color:var(--muted);text-align:right;font-size:13px}
.ssx-pc{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:7px}
.ssx-pc li{display:grid;grid-template-columns:18px 1fr;gap:8px;font-size:15px;line-height:1.35}
.ssx-pc li::before{content:"";width:18px;height:18px;border-radius:6px;margin-top:1px;background:#E4F4EA center/11px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.5 2.5L10 3.5' fill='none' stroke='%231D6B43' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ssx-pc li.is-con::before{background:#FCE8EB center/9px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5h6' stroke='%23B3143A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}

/* deck index */
.ssx-index{margin-top:36px}
.ssx-index h2{font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.025em;margin:0 0 18px}
.ssx-groups{columns:3 260px;column-gap:40px}
.ssx-group{break-inside:avoid;margin:0 0 22px}
.ssx-group h3{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:15px;margin:0 0 6px}
.ssx-group h3 i{width:10px;height:10px;border-radius:3px}
.ssx-item{display:block;width:100%;text-align:left;border:0;background:transparent;padding:7px 10px;margin:0 -10px;border-radius:10px;transition:background .12s}
.ssx-item:hover,.ssx-item.is-on{background:#F1F2F4}
.ssx-item b{font-weight:600;display:block;line-height:1.3}
.ssx-item small{color:var(--muted);font-size:14px;line-height:1.3;display:block}
.ssx-item .row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.ssx-item .score{font-family:var(--display);font-weight:800;font-size:14px;color:var(--red-deep);font-variant-numeric:tabular-nums}
.ssx-types{display:grid;gap:2px}
.ssx-type{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;padding:6px 0;text-decoration:none;border-bottom:1px solid var(--line);font-size:15px}
.ssx-type:hover b{text-decoration:underline}
.ssx-type i{width:12px;height:12px;border-radius:3px}
.ssx-type b{font-weight:600}
.ssx-type span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}

/* ---------- responsive ---------- */
@media (max-width:980px){.ssx-panel{width:330px}.ssx-stage.has-panel .ssx-mini{left:372px}}
@media (max-width:760px){
  .ssx-stage{height:560px;border-radius:18px}
  .ssx-ov-head{left:14px;right:14px;top:14px;gap:6px}
  .ssx-deckno{font-size:24px}
  .ssx-sum{font-size:14.5px;margin:0 0 4px}
  .ssx-decks-m{margin:0 -14px;border-radius:0;border-width:1px 0;padding:4px 14px}
  .ssx-headrow{gap:6px}
  .ssx-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -14px;padding:0 14px 2px;scrollbar-width:none}
  .ssx-chips::-webkit-scrollbar{display:none}
  .ssx-chip{flex:none}
  .ssx-scrim{height:220px;opacity:1}
  .ssx-mini{left:12px;bottom:12px}
  .ssx-mini svg{width:110px}
  .ssx-zoom{right:12px;bottom:12px}
  .ssx-stage.has-panel .ssx-mini,.ssx-stage.has-panel .ssx-zoom{opacity:0;pointer-events:none}
  .ssx-toast{white-space:normal;text-align:center;width:max-content;max-width:calc(100% - 40px);bottom:66px}
  .ssx-panel{position:absolute;left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:62%;border-radius:20px;transform:translateY(calc(100% + 16px));z-index:30}
  .ssx-panel.is-open{transform:none}
  .ssx-panel::before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:#D1D5DB;margin:8px auto 0}
  .ssx-tr{grid-template-columns:1fr 40px;gap:4px 10px;padding:8px 0}
  .ssx-tr>span:last-child{grid-column:1/-1}
  .ssx-th>span:last-child{display:none}
}
.ssx-headrow{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.ssx-titles{min-width:0}
.ssx-decks-m{display:flex;gap:4px;padding:4px;border-radius:14px;background:rgba(24,8,37,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);flex:none;overflow-x:auto;scrollbar-width:none;max-width:100%}
.ssx-decks-m::-webkit-scrollbar{display:none}
.ssx-decks-m button{flex:none;width:34px;height:34px;border-radius:10px;border:0;background:transparent;color:rgba(255,255,255,.85);font-family:var(--display);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;transition:background .15s,color .15s}
.ssx-decks-m button:hover,.ssx-decks-m button.is-nudge{background:rgba(255,255,255,.14);color:#fff}
.ssx-decks-m button[aria-current="true"]{background:var(--red);color:#fff;font-weight:800}
@media (max-width:1100px){.ssx-headrow{flex-direction:column;gap:8px}}

@media (prefers-reduced-motion:reduce){
  .ssx *{transition:none!important;animation:none!important}
}

.ssx-chip.is-sub{font-size:13px;padding:5px 11px 5px 9px;background:rgba(255,255,255,.02);border-style:dashed}
.ssx-chips.has-on .ssx-chip.is-sub[aria-pressed="false"]{opacity:.8}
.ssx-chip[data-open="1"][aria-pressed="false"]{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5);opacity:1!important}
.ssx-tt{max-width:860px;border-top:1px solid var(--line)}
.ssx-tr{display:grid;grid-template-columns:minmax(0,1.4fr) 64px minmax(0,1.3fr);gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:4px 0;min-height:52px}
.ssx-th{min-height:0;padding:10px 0;font-size:13.5px;font-weight:600;color:var(--muted)}
.ssx-tname{display:flex;align-items:center;gap:10px;font-weight:600;text-decoration:none}
.ssx-tname:hover{text-decoration:underline}
.ssx-tname i{width:12px;height:12px;border-radius:3px;flex:none}
.ssx-tn{font-variant-numeric:tabular-nums;color:var(--muted)}
.ssx-pick{margin-left:-10px!important;display:grid!important;grid-template-columns:auto auto 1fr;gap:10px;align-items:baseline;margin:0!important;width:auto!important}
.ssx-pick b{display:inline!important}
.ssx-pick small{display:inline!important}
.ssx-none{color:#9CA3AF;font-size:14px}
@media (max-width:760px){
  .ssx-tr{grid-template-columns:1fr 40px;gap:4px 10px;padding:8px 0}
  .ssx-tr>span:last-child{grid-column:1/-1}
  .ssx-th>span:last-child{display:none}
  .ssx-stage.has-panel .ssx-zoom{margin-right:0}
  .ssx-ends .aft,.ssx-ends .bow{display:none}
}

.ssx-ships .short{display:none}
@media (max-width:760px){
  .ssx-ships{width:100%}
  .ssx-ships button{flex:1;padding:9px 6px}
  .ssx-ships .full{display:none}.ssx-ships .short{display:inline}
  .ssx-search{max-width:none}
}
.ssx-stage.has-panel .ssx-scrim{opacity:0!important}

/* ---- cabin feature icons + inline key (doubles as a filter) ---- */
.ssx-cicons path{cursor:pointer;transition:opacity .24s}
.ssx-cicons .is-dim{opacity:.22}
.ssx-fkey{right:152px;bottom:18px;max-width:calc(100% - 152px - 240px);opacity:0;pointer-events:none;transition:opacity .2s}
.ssx-stage.has-panel .ssx-fkey{max-width:calc(100% - 152px - 430px)}
.ssx-fkey.is-on{opacity:1;pointer-events:auto}
.ssx-fkey[hidden]{display:none}
.ssx-fkey-list{display:flex;align-items:center;gap:2px;height:38px;padding:0 4px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(24,8,37,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:100%;overflow-x:auto;scrollbar-width:none}
.ssx-fkey-list::-webkit-scrollbar{display:none}
.ssx-fkey-list button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 9px;border:0;border-radius:8px;background:none;color:#EDE7F4;font-size:13.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}
.ssx-fkey-list button:hover{background:rgba(255,255,255,.12)}
.ssx-fkey-list button[aria-pressed="true"]{background:#fff;color:var(--plum-900)}
.ssx-fg{width:11px;height:11px;flex:none;display:block}
.ssx-fkey-btn{display:none;height:38px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(24,8,37,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.ssx-fkey-btn.is-active{background:#fff;color:var(--plum-900);border-color:#fff}
.ssx-facts li.ssx-feat{background:#EEF1FB;color:#2B3A67}
.ssx-conn{border:0;background:none;padding:0;font:inherit;color:var(--red);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.ssx-res i.ssx-res-f{background:none;width:14px;height:14px;display:grid;place-items:center;color:var(--ink)}
.ssx-res i.ssx-res-f .ssx-fg{width:12px;height:12px}
@media (max-width:760px){
  .ssx-fkey{right:146px;bottom:12px;max-width:none}
  .ssx-stage.has-panel .ssx-fkey{max-width:none}
  .ssx-fkey-btn{display:block}
  .ssx-fkey-list{display:none;position:absolute;right:0;bottom:46px;height:auto;max-height:300px;flex-direction:column;align-items:stretch;padding:6px;gap:2px;max-width:calc(100vw - 64px);overflow-y:auto}
  .ssx-fkey.is-open .ssx-fkey-list{display:flex}
  .ssx-fkey-list button{height:36px;justify-content:flex-start;font-size:15px}
  .ssx-fg{width:13px;height:13px}
  .ssx-stage.has-panel .ssx-fkey{opacity:0;pointer-events:none}
}
@media (max-width:760px){
  .ssx-stage.has-fkey .ssx-mini svg{width:64px}
  .ssx-stage.has-fkey .ssx-mini .ssx-bow{display:none}
}
.ssx-lbl-c .ssx-cic{pointer-events:auto;cursor:pointer;transition:opacity .24s}
.ssx-lbl-c .ssx-cic.is-dim{opacity:.22}
/* embedded on a cabin page: just the map */
.ssx.is-embed .ssx-top,.ssx.is-embed .ssx-index{display:none}
/* The map's drawing surface takes focus (keyboard shortcuts). Its focus outline sat just outside the frame and slid
   into view as a red line while dragging, so the focus ring goes on the (fixed) frame instead. */
.ssx .ssx-svg:focus,.ssx .ssx-svg:focus-visible{outline:none}
.ssx-canvas:has(.ssx-svg:focus-visible){box-shadow:inset 0 0 0 2px var(--red)}
