/* VEXMIRA v4.7.0 HF17 — viewport messages, public directory, claim flow. */
html.vx-hf17{--vx17-message-height:calc(100dvh - 72px)}
html.vx-hf17,html.vx-hf17 body{max-width:100%;overflow-x:clip}
html.vx-hf17 .page,html.vx-hf17 .page>*{min-width:0}

/* Country flags: local SVG first, visible country-code fallback second. Never render a blank flag tile. */
html.vx-hf17 .vx17-flag-img,html.vx-hf17 .vx17-flag-code{
  display:grid!important;place-items:center!important;width:44px!important;height:30px!important;min-width:44px!important;
  padding:0!important;border:1px solid rgba(151,117,214,.24)!important;border-radius:8px!important;background:#0b1125!important;
  overflow:hidden!important;opacity:1!important;visibility:visible!important;filter:none!important;text-indent:0!important;
}
html.vx-hf17 .vx17-flag-img img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border:0!important;border-radius:7px!important}
html.vx-hf17 .vx17-flag-code{font:900 10px/1 Inter,system-ui,sans-serif!important;letter-spacing:.08em!important;color:#d9ccff!important;background:linear-gradient(145deg,#121936,#0a1024)!important}

html.vx-hf17 .vx17-flag-img::after{content:attr(data-code);display:none;font:900 10px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;color:#d9ccff}
html.vx-hf17 .vx17-flag-img.vx17-flag-failed::after{display:block}

/* 1366 desktop header must keep the VEXMIRA wordmark. */
@media (min-width:821px) and (max-width:1440px){
  html.vx-hf17 #topbar.vx46-topbar .top-brand.vx46-brand{
    display:flex!important;flex:0 0 150px!important;width:150px!important;min-width:150px!important;max-width:150px!important;
    height:48px!important;padding:3px 6px!important;gap:9px!important;overflow:visible!important;
  }
  html.vx-hf17 #topbar.vx46-topbar .top-brand.vx46-brand .vx46-emblem{--vx46-size:40px!important;flex:0 0 40px!important}
  html.vx-hf17 #topbar.vx46-topbar .top-brand.vx46-brand .vx46-brand-copy{display:flex!important;visibility:visible!important;opacity:1!important;min-width:0!important}
  html.vx-hf17 #topbar.vx46-topbar .top-brand.vx46-brand .vx46-brand-copy b{display:block!important;font-size:13px!important;letter-spacing:.13em!important;white-space:nowrap!important}
  html.vx-hf17 #topbar.vx46-topbar .top-brand.vx46-brand .vx46-brand-copy small{display:block!important;font-size:6.5px!important;white-space:nowrap!important}
  html.vx-hf17 #topbar.vx46-topbar{gap:6px!important;padding-inline:10px!important}
  html.vx-hf17 #topbar.vx46-topbar .vx17-nav{min-width:0!important}
  html.vx-hf17 #topbar.vx46-topbar .vx17-link{padding-inline:7px!important;font-size:10.5px!important}
  html.vx-hf17 #topbar .top-brand.vx95-brand-lockup{display:flex!important;width:150px!important;min-width:150px!important;max-width:150px!important;flex:0 0 150px!important;justify-content:flex-start!important;padding:4px 8px 4px 5px!important;gap:8px!important;overflow:hidden!important}
  html.vx-hf17 #topbar .top-brand.vx95-brand-lockup .vx95-brand-logo{display:grid!important;width:40px!important;height:40px!important;min-width:40px!important;flex:0 0 40px!important}
  html.vx-hf17 #topbar .top-brand.vx95-brand-lockup .vx95-brand-copy{display:grid!important;visibility:visible!important;opacity:1!important;min-width:0!important;max-width:92px!important}
  html.vx-hf17 #topbar .top-brand.vx95-brand-lockup .vx95-brand-copy strong{display:block!important;visibility:visible!important;opacity:1!important;font-size:11px!important;letter-spacing:.08em!important;white-space:nowrap!important}
  html.vx-hf17 #topbar .top-brand.vx95-brand-lockup .vx95-brand-copy small{display:none!important}
}

/* Messages are a viewport application, not a long document. */
html.vx-hf17.vx17-messages-active body{overscroll-behavior:none!important}
html.vx-hf17.vx17-messages-headerless :is(main,#mainContent,.main-col){padding-top:0!important;margin-top:0!important}
html.vx-hf17.vx17-messages-headerless #page-messages.active{margin-top:0!important}
html.vx-hf17 #page-messages.active{
  display:block!important;width:100%!important;max-width:100%!important;height:var(--vx17-message-height)!important;min-height:320px!important;max-height:var(--vx17-message-height)!important;
  margin:0!important;padding:4px 12px 6px!important;overflow:hidden!important;box-sizing:border-box!important;
}
html.vx-hf17 #page-messages .vx11-dm-page{width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
html.vx-hf17 #page-messages #vx11DmShell{width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;overflow:hidden!important}
html.vx-hf17 #page-messages #vx11DmShell.vx515-message-shell{grid-template-columns:clamp(258px,24vw,318px) minmax(0,1fr) clamp(220px,18vw,270px)!important}
html.vx-hf17 #page-messages .vx480-sidebar{
  display:grid!important;grid-template-rows:70px 42px 28px minmax(0,1fr) 54px!important;height:100%!important;min-height:0!important;overflow:hidden!important;
}
html.vx-hf17 #page-messages .vx480-sidebar-head{height:70px!important;min-height:70px!important;padding:7px 10px!important}
html.vx-hf17 #page-messages .vx480-search{grid-row:2!important;height:36px!important;min-height:36px!important;margin:3px 9px!important}
html.vx-hf17 #page-messages .vx480-conversations-head{grid-row:3!important;height:28px!important;min-height:28px!important;padding:1px 11px!important}
html.vx-hf17 #page-messages #vx11Conversations{grid-row:4!important;min-height:0!important;height:auto!important;padding:0 7px 5px!important;overflow-y:auto!important;overflow-x:hidden!important;align-content:start!important;overscroll-behavior:contain!important}
html.vx-hf17 #page-messages .vx480-social-trigger{grid-row:5!important;height:48px!important;min-height:48px!important;margin:3px 8px!important;padding:6px 8px!important;align-self:end!important}
html.vx-hf17 #page-messages .vx480-chat{
  display:grid!important;grid-template-rows:52px minmax(0,1fr) 60px!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important;
}
html.vx-hf17 #page-messages #vx11ChatHead{grid-row:1!important;height:52px!important;min-height:52px!important;max-height:52px!important;padding:7px 11px!important;overflow:hidden!important}
html.vx-hf17 #page-messages #vx11ChatThread{grid-row:2!important;min-height:0!important;height:auto!important;padding:10px 14px!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important}
html.vx-hf17 #page-messages #vx11Composer{
  grid-row:3!important;position:relative!important;inset:auto!important;bottom:auto!important;z-index:20!important;visibility:visible!important;opacity:1!important;
  display:grid!important;grid-template-columns:38px 38px minmax(0,1fr) 80px!important;align-items:center!important;gap:7px!important;
  width:100%!important;height:60px!important;min-height:60px!important;max-height:60px!important;margin:0!important;padding:7px 8px!important;
  border-top:1px solid rgba(140,91,224,.22)!important;background:#070d1e!important;box-sizing:border-box!important;transform:none!important;
}
html.vx-hf17 #page-messages #vx11Composer>.btn{width:38px!important;min-width:38px!important;height:40px!important;padding:0!important}
html.vx-hf17 #page-messages #vx11Composer textarea{display:block!important;min-width:0!important;width:100%!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:10px 12px!important;resize:none!important}
html.vx-hf17 #page-messages #vx11Composer .send{width:80px!important;min-width:80px!important;height:40px!important}
html.vx-hf17 #page-messages .vx17-person-result{width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 8px;border:0;border-radius:12px;background:transparent;color:inherit;text-align:left;cursor:pointer}
html.vx-hf17 #page-messages .vx17-person-result:hover{background:rgba(139,92,246,.11)}
html.vx-hf17 #page-messages .vx17-person-open{font-size:8px;font-weight:800;color:#b98cff;white-space:nowrap}
html.vx-hf17 #page-messages .vx17-dm-empty{display:grid;gap:4px;padding:13px 9px!important;text-align:left!important}.vx17-dm-empty span{color:#7f8aa9;font-size:9px}
html.vx-hf17 #page-messages .vx17-dm-searching{display:flex;align-items:center;gap:8px;padding:12px;color:#8792b5;font-size:9px}.vx17-dm-searching i{width:10px;height:10px;border:2px solid #6f3bc9;border-top-color:#c28aff;border-radius:50%;animation:vx17spin .7s linear infinite}@keyframes vx17spin{to{transform:rotate(1turn)}}

@media (min-width:801px) and (max-width:1366px){
  html.vx-hf17 #page-messages #vx11DmShell.vx515-message-shell{grid-template-columns:clamp(250px,25vw,306px) minmax(0,1fr)!important}
  html.vx-hf17 #page-messages .vx515-message-profile{display:none!important}
}
@media (min-width:801px) and (max-height:780px){
  html.vx-hf17 #page-messages.active{padding:3px 12px 5px!important}
  html.vx-hf17 #page-messages .vx480-sidebar{grid-template-rows:56px 36px 24px minmax(0,1fr) 44px!important}
  html.vx-hf17 #page-messages .vx480-sidebar-head{height:56px!important;min-height:56px!important;padding:4px 9px!important}
  html.vx-hf17 #page-messages .vx480-brand-icon{width:38px!important;height:38px!important}.vx480-brand-copy em{display:none!important}
  html.vx-hf17 #page-messages .vx480-search{height:32px!important;min-height:32px!important;margin:2px 8px!important}
  html.vx-hf17 #page-messages .vx480-conversations-head{height:26px!important;min-height:26px!important}
  html.vx-hf17 #page-messages .vx480-social-trigger{height:44px!important;min-height:44px!important;margin:2px 7px!important}
  html.vx-hf17 #page-messages .vx480-chat{grid-template-rows:46px minmax(0,1fr) 54px!important}
  html.vx-hf17 #page-messages #vx11ChatHead{height:46px!important;min-height:46px!important;max-height:46px!important}
  html.vx-hf17 #page-messages #vx11Composer{height:54px!important;min-height:54px!important;max-height:54px!important;padding:5px 7px!important}
}

@media (max-width:800px){
  html.vx-hf17 #page-messages.active{height:var(--vx17-message-height)!important;max-height:var(--vx17-message-height)!important;min-height:300px!important;padding:2px 3px max(2px,env(safe-area-inset-bottom))!important}
  html.vx-hf17 #page-messages #vx11DmShell{display:block!important;position:relative!important;border-radius:12px!important}
  html.vx-hf17 #page-messages :is(.vx480-sidebar,.vx480-chat){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important}
  html.vx-hf17 #page-messages .vx480-sidebar{grid-template-rows:60px 40px 27px minmax(0,1fr) 50px!important}
  html.vx-hf17 #page-messages .vx480-chat{grid-template-rows:50px minmax(0,1fr) 58px!important}
  html.vx-hf17 #page-messages #vx11Composer{height:58px!important;min-height:58px!important;max-height:58px!important;grid-template-columns:34px 34px minmax(0,1fr) 64px!important;gap:4px!important;padding:6px!important;padding-bottom:max(6px,env(safe-area-inset-bottom))!important}
  html.vx-hf17 #page-messages #vx11Composer>.btn{width:34px!important;min-width:34px!important;height:38px!important}
  html.vx-hf17 #page-messages #vx11Composer .send{width:64px!important;min-width:64px!important;height:40px!important;padding-inline:5px!important;font-size:8px!important}
  html.vx-hf17 #page-messages #vx11Composer textarea{height:40px!important;min-height:40px!important;max-height:40px!important;padding:10px!important}
}

/* Claim modal */
.vx17-claim-veil{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:14px;background:rgba(2,5,15,.78);backdrop-filter:blur(12px)}
.vx17-claim-card{width:min(620px,100%);max-height:min(760px,calc(100dvh - 28px));overflow:auto;border:1px solid rgba(149,91,229,.34);border-radius:20px;background:linear-gradient(145deg,#0b1125,#070b18);box-shadow:0 34px 100px rgba(0,0,0,.52);padding:18px;color:#edf0ff}
.vx17-claim-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.vx17-claim-card h2{font-size:20px;margin:0}.vx17-claim-card header p{color:#8d98b7;font-size:10px;margin-top:5px;line-height:1.55}.vx17-claim-close{width:38px;height:38px;border:1px solid rgba(151,117,214,.22);border-radius:11px;color:#dbe2ff;background:#0b1329;font-size:20px}
.vx17-claim-steps{display:grid;gap:9px;margin-top:15px}.vx17-claim-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid rgba(137,91,210,.16);border-radius:13px;background:#080f21}.vx17-claim-step>i{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(139,92,246,.18);color:#c5a2ff;font-style:normal;font-weight:900}.vx17-claim-step b,.vx17-claim-step small{display:block}.vx17-claim-step small{color:#8893b2;font-size:9px;line-height:1.5;margin-top:3px}
.vx17-claim-code{margin:12px 0;padding:13px;border:1px dashed rgba(151,91,235,.5);border-radius:12px;background:#050a18}.vx17-claim-code small{display:block;color:#8e99b8;font-size:8px}.vx17-claim-code code{display:block;margin-top:5px;color:#d8bdff;font:800 15px/1.4 "JetBrains Mono",monospace;overflow-wrap:anywhere;user-select:all}.vx17-claim-observed{font-size:9px;color:#98a3bf;margin:8px 0}.vx17-claim-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.vx17-claim-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(52,211,153,.11);color:#62e6b1;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}

/* Admin public-directory cards */
.vx17-discovery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px;margin-top:10px}.vx17-discovery-grid article{display:grid;gap:5px;padding:12px;border:1px solid rgba(139,92,246,.16);border-radius:12px;background:#080f20}.vx17-discovery-grid small,.vx17-discovery-grid span{font-size:9px;color:#8f9ab7}.vx17-discovery-grid code{font-size:8px;color:#bfa0ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* HF17 final viewport authority: the DM workspace owns the visible browser area. */
@media (min-width:821px){
  html.vx-hf17.vx17-messages-active,
  html.vx-hf17.vx17-messages-active body{overflow-y:hidden!important;overscroll-behavior:none}
}

.vx17-geo-attribution{margin-top:8px;font-size:10px;color:var(--mut2);opacity:.78}.vx17-geo-attribution a{color:var(--vio2);text-decoration:underline;text-underline-offset:2px}

/* HF17 FIX4 — messages are pinned to the usable viewport and legacy message layers cannot push rows down. */
html.vx-hf17.vx17-messages-active,html.vx-hf17.vx17-messages-active body{height:100%!important;overflow:hidden!important;overscroll-behavior:none!important}
html.vx-hf17.vx17-messages-active body>footer{display:none!important}
html.vx-hf17.vx17-messages-active #page-messages.active{position:fixed!important;z-index:72!important;left:0!important;right:0!important;top:var(--vx17-message-fixed-top,64px)!important;bottom:auto!important;width:100vw!important;max-width:100vw!important;height:var(--vx17-message-height)!important;max-height:var(--vx17-message-height)!important;min-height:0!important;margin:0!important;padding:3px 12px 5px!important;transform:none!important;overflow:hidden!important;background:#060b1a!important;box-sizing:border-box!important}
html.vx-hf17.vx17-messages-headerless #page-messages.active{top:0!important}
html.vx-hf17 #page-messages.vx480-messages #vx11DmShell.vx515-message-shell{height:100%!important;max-height:100%!important;min-height:0!important}
html.vx-hf17 #page-messages.vx480-messages .vx480-sidebar{display:grid!important;grid-template-rows:56px 36px 24px minmax(0,1fr) 44px!important;height:100%!important;min-height:0!important;align-content:stretch!important;overflow:hidden!important}
html.vx-hf17 #page-messages.vx480-messages .vx480-sidebar-head{grid-row:1!important;height:56px!important;min-height:56px!important;margin:0!important;padding:4px 9px!important}
html.vx-hf17 #page-messages.vx480-messages .vx480-search{grid-row:2!important;height:32px!important;min-height:32px!important;margin:2px 8px!important;align-self:start!important}
html.vx-hf17 #page-messages.vx480-messages .vx480-conversations-head{grid-row:3!important;height:24px!important;min-height:24px!important;margin:0!important;padding:0 11px!important;align-self:start!important}
html.vx-hf17 #page-messages.vx480-messages #vx11Conversations.vx11-conversations{grid-row:4!important;display:grid!important;grid-auto-rows:max-content!important;align-content:start!important;justify-content:stretch!important;gap:4px!important;height:auto!important;min-height:0!important;max-height:100%!important;margin:0!important;padding:0 7px 5px!important;overflow-y:auto!important;overflow-x:hidden!important;position:relative!important;inset:auto!important;transform:none!important;overscroll-behavior:contain!important;scrollbar-gutter:stable!important}
html.vx-hf17 #page-messages.vx480-messages #vx11Conversations .vx11-conv{min-height:54px!important;height:auto!important;margin:0!important;padding:6px 8px!important;position:relative!important;inset:auto!important;transform:none!important}
html.vx-hf17 #page-messages.vx480-messages .vx480-social-trigger{grid-row:5!important;height:40px!important;min-height:40px!important;margin:2px 7px!important;padding:5px 8px!important;align-self:end!important}
html.vx-hf17 #page-messages.vx480-messages .vx480-chat{display:grid!important;grid-template-rows:46px minmax(0,1fr) 56px!important;height:100%!important;min-height:0!important;overflow:hidden!important}
html.vx-hf17 #page-messages.vx480-messages #vx11ChatHead{grid-row:1!important;height:46px!important;min-height:46px!important;max-height:46px!important}
html.vx-hf17 #page-messages.vx480-messages #vx11ChatThread{grid-row:2!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-content:flex-start!important;min-height:0!important;height:auto!important;margin:0!important;padding:8px 14px!important;position:relative!important;inset:auto!important;transform:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scrollbar-gutter:stable!important}
html.vx-hf17 #page-messages.vx480-messages #vx11Composer{grid-row:3!important;display:grid!important;position:relative!important;inset:auto!important;visibility:visible!important;opacity:1!important;height:56px!important;min-height:56px!important;max-height:56px!important;margin:0!important;transform:none!important;z-index:75!important}
html.vx-hf17 #page-messages.vx480-messages #vx11ChatThread>.vx11-msg:first-child{margin-top:0!important}
@media(max-width:800px){html.vx-hf17.vx17-messages-active #page-messages.active{left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;padding:2px 3px max(2px,env(safe-area-inset-bottom))!important}html.vx-hf17 #page-messages.vx480-messages .vx480-sidebar{grid-template-rows:58px 38px 25px minmax(0,1fr) 46px!important}html.vx-hf17 #page-messages.vx480-messages .vx480-chat{grid-template-rows:48px minmax(0,1fr) 58px!important}html.vx-hf17 #page-messages.vx480-messages #vx11Composer{height:58px!important;min-height:58px!important;max-height:58px!important}}

/* FIX4 ranking media/status: real server media first, original game mark fallback, compact live state. */
html.vx-hf17 .vx500-rank-row.kind-server .identity>i img,html.vx-hf17 .vx500-rank-mini .mini img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
html.vx-hf17 .vx500-rank-row.kind-server .identity>i img[src*="cs2-original-orange"],html.vx-hf17 .vx500-rank-mini .mini img[src*="cs2-original-orange"]{object-fit:contain!important;padding:3px!important;background:#0d111b!important}
html.vx-hf17 .vx500-rank-row .game.vx17-rank-live{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;min-width:58px!important;color:#39df8a!important}
html.vx-hf17 .vx500-rank-row .game.vx17-rank-live>i{display:block!important;width:12px!important;height:12px!important;min-width:12px!important;border-radius:50%!important;background:#35e38b!important;box-shadow:0 0 0 4px rgba(53,227,139,.11),0 0 16px rgba(53,227,139,.55)!important}
html.vx-hf17 .vx500-rank-row .game.vx17-rank-live>b{font-size:10px!important;font-weight:950!important;letter-spacing:.08em!important;color:#43e894!important}
html.vx-hf17 .vx500-rank-row .game.vx17-rank-live.is-offline>i{background:#647089!important;box-shadow:none!important}html.vx-hf17 .vx500-rank-row .game.vx17-rank-live.is-offline>b{color:#7e89a1!important}
html.vx-hf17.vx17-messages-active footer{display:none!important}
