/* Forwext component UI layer.
 * Loaded after site-base.css and before site-pages.css.
 * Contains shared shell, navigation, primitives and cross-surface component rules.
 */
:root{
  --fx-shell-width:1200px;
  --fx-content-width:1160px;
  --fx-shell-gutter:clamp(12px,2vw,24px);
  --fx-radius-xl:8px;
  --fx-radius-lg:6px;
  --fx-radius-md:4px;
  --fx-transition:140ms ease;
  --fx-surface-panel-padding:12px;
}

html{scroll-behavior:smooth}
body{
  min-height:100vh;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body::before{content:none}
::selection{background:color-mix(in srgb,var(--accent) 36%,transparent)}
a,button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}

.wrap{
  width:min(var(--fx-content-width),calc(100% - (var(--fx-shell-gutter) * 2)));
  margin-inline:auto;
  margin-top:20px;
  margin-bottom:56px;
}
/* shell-layout-ownership-v2 */
.layout-shell{
  width:min(1240px,calc(100% - (var(--fx-shell-gutter) * 2)));
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,286px);
  gap:16px;
  margin-inline:auto;
  margin-top:20px;
  margin-bottom:56px;
}
.layout-shell>.wrap{width:100%;margin-inline:0}
.layout-sidebar{
  min-width:0;
  align-self:start;
  display:grid;
  gap:12px;
}
.breadcrumbs{
  min-height:24px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:12px;
  padding:0;
  color:var(--muted);
  font-size:12px;
}
.breadcrumbs a{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  border-radius:7px;
  color:inherit;
  text-decoration:none;
  transition:color var(--fx-transition),background var(--fx-transition);
}
.breadcrumbs a:hover{background:var(--panel2);color:var(--text);padding-inline:5px;margin-inline:-5px}
.breadcrumbs .sep{opacity:.55}
.card,
.profile,
.forum-category,
.forum-thread-list,
.thread-post,
.acp-hero,
.acp-panel{
  box-shadow:0 1px 2px rgba(0,0,0,.16);
}
/* Member profile hover card */
.member-hovercard-layer{position:fixed;z-index:1400;width:min(520px,calc(100vw - 24px));max-height:min(560px,calc(100dvh - 24px));overflow:auto;overscroll-behavior:contain;border-radius:14px;filter:drop-shadow(0 20px 48px rgba(0,0,0,.42))}
.member-hovercard-layer[hidden]{display:none}
.member-hovercard{overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 75%,var(--accent));border-radius:13px;background:var(--panel);color:var(--text);box-shadow:0 12px 34px rgba(0,0,0,.22)}
.member-hovercard-cover{height:112px;overflow:hidden;background:linear-gradient(125deg,#0d2118,#173c2c 58%,#28523c);position:relative}
.member-hovercard-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,15,12,.04),rgba(7,15,12,.5))}
.member-hovercard-cover-image,.member-hovercard-cover-pattern{display:block;width:100%;height:100%;object-fit:cover}
.member-hovercard-cover-pattern{background:radial-gradient(circle at 78% 18%,rgba(91,155,116,.3) 0 12%,transparent 12.5%),radial-gradient(circle at 85% 10%,transparent 0 28%,rgba(255,255,255,.06) 28.5% 36%,transparent 36.5%),linear-gradient(120deg,#10251a,#1e4531 68%,#173324)}
.member-hovercard-main{padding:0 15px 15px}
.member-hovercard-identity{display:flex;align-items:flex-end;gap:12px;margin-top:-34px;position:relative;z-index:1;min-height:78px}
.member-hovercard-avatar{width:76px;height:76px;flex:0 0 76px;overflow:hidden;border:3px solid var(--panel);border-radius:12px;background:var(--panel2);display:grid;place-items:center;box-shadow:0 5px 16px rgba(0,0,0,.2)}
.member-hovercard-avatar-image,.member-hovercard-avatar-fallback{width:100%;height:100%;object-fit:cover;display:grid;place-items:center;font-size:27px;font-weight:850;color:var(--accent)}
.member-hovercard-avatar-fallback[hidden]{display:none!important}
.member-hovercard-name{min-width:0;flex:1;padding-bottom:8px;display:grid;gap:4px}
.member-hovercard-name strong{font-size:19px;line-height:1.15;overflow-wrap:anywhere}
.member-hovercard-name>span{font-size:11px;color:var(--muted)}
.member-hovercard-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.member-hovercard-badge{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:7px;background:color-mix(in srgb,var(--accent) 11%,var(--panel));color:var(--text);font-size:10px;font-weight:750}
.member-hovercard-badge--staff{border-color:color-mix(in srgb,#d2b773 44%,var(--line));background:color-mix(in srgb,#d2b773 12%,var(--panel));color:color-mix(in srgb,#d2b773 76%,var(--text))}
.member-hovercard-badge--online{border-color:color-mix(in srgb,#4ccf87 44%,var(--line));color:color-mix(in srgb,#4ccf87 75%,var(--text))}
.member-hovercard-badge--role{border-color:color-mix(in srgb,var(--member-hovercard-role-color,#4d8c65) 42%,var(--line));background:color-mix(in srgb,var(--member-hovercard-role-color,#4d8c65) 10%,var(--panel));color:var(--text)}
.member-hovercard-achievements{display:flex;gap:6px;max-width:100%;margin-top:8px;padding:1px 1px 3px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.member-hovercard-achievement{display:inline-flex;align-items:center;gap:6px;min-width:max-content;min-height:28px;padding:4px 8px;border:1px solid color-mix(in srgb,#c4a45a 34%,var(--line));border-radius:7px;background:color-mix(in srgb,#c4a45a 9%,var(--panel));color:var(--text);font-size:10px;font-weight:700}
.member-hovercard-achievement img,.member-hovercard-achievement-mark{display:grid;width:16px;height:16px;flex:0 0 16px;place-items:center;object-fit:cover;color:#bd9841;font-size:15px}
.member-hovercard-close{width:30px;height:30px;flex:0 0 30px;margin-bottom:9px;border:1px solid var(--line);border-radius:50%;background:var(--panel2);color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.member-hovercard-details{display:grid;gap:8px;margin-top:13px;color:var(--muted);font-size:12px;line-height:1.55}
.member-hovercard-details>span{display:flex;gap:6px;align-items:center}
.member-hovercard-presence>span{font-size:8px;color:var(--muted)}
.member-hovercard-presence.is-online>span{color:#41c780}
.member-hovercard-about{margin:0;color:var(--text);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.member-hovercard-signature{margin:0;padding-inline-start:9px;border-inline-start:2px solid var(--accent);color:var(--text);font-style:italic;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.member-hovercard-signature>span{margin-inline-end:5px;color:var(--muted);font-size:10px;font-style:normal;font-weight:750}
.member-hovercard-interests{max-width:100%;overflow-wrap:anywhere}
.member-hovercard-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:14px;border-block:1px solid var(--line)}
.member-hovercard-stats>div{min-width:0;padding:10px 6px;display:grid;gap:3px;text-align:center}
.member-hovercard-stats>div+div{border-inline-start:1px solid var(--line)}
.member-hovercard-stats strong{font-size:15px;font-variant-numeric:tabular-nums}
.member-hovercard-stats span{color:var(--muted);font-size:10px}
.member-hovercard-actions{display:flex;gap:8px;margin-top:12px}
.member-hovercard-actions{flex-wrap:wrap}
.member-hovercard-action{min-height:38px;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);text-align:center;text-decoration:none;font-size:12px;font-weight:750;transition:background .14s ease,border-color .14s ease,transform .14s ease}
.member-hovercard-action:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));transform:translateY(-1px)}
.member-hovercard-action--primary{background:var(--accent);border-color:var(--accent);color:var(--forwext-semantic-text-on-accent,#fff)}
.member-hovercard-relationships{display:flex;align-items:center;gap:7px;margin-top:8px;flex-wrap:wrap}
.member-hovercard-relationships>.fx-btn{min-height:34px;padding:6px 10px;border-radius:7px;font-size:11px}
.member-hovercard-relationships>.fx-btn[data-active="1"]{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 13%,var(--panel2))}
.member-hovercard-relationships>.fx-btn:disabled{opacity:.55;cursor:not-allowed}
.member-hovercard-relationships .relationship-status{flex-basis:100%;min-height:0}
.member-hovercard-loading,.member-hovercard-error{margin:0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--muted);font-size:13px;box-shadow:0 12px 34px rgba(0,0,0,.22)}
@media(max-width:520px){.member-hovercard-layer{width:min(390px,calc(100vw - 20px));max-height:calc(100dvh - 20px)}.member-hovercard-cover{height:96px}.member-hovercard-main{padding-inline:12px}.member-hovercard-actions{gap:6px}.member-hovercard-action{padding-inline:7px;font-size:11px}}
/* XenForo-inspired profile preview: a compact dark surface over the shared green theme. */
.member-hovercard-layer{z-index:1400;width:min(520px,calc(100vw - 24px));max-height:min(560px,calc(100dvh - 24px));filter:drop-shadow(0 20px 48px rgba(0,0,0,.42))}
.member-hovercard{--member-card-bg:#151a1c;--member-card-panel:#1c2325;--member-card-line:rgba(227,239,231,.14);overflow:hidden;border:1px solid var(--member-card-line);border-radius:14px;background:var(--member-card-bg);color:#f1f5f2;box-shadow:0 18px 48px rgba(0,0,0,.38)}
.member-hovercard-cover{height:126px;background:linear-gradient(125deg,#0a1912,#173b2a 58%,#26563b)}
.member-hovercard-cover::after{background:linear-gradient(180deg,rgba(6,12,9,.06),rgba(6,12,9,.68))}
.member-hovercard-cover-pattern{background:radial-gradient(circle at 82% 14%,rgba(84,192,126,.35) 0 11%,transparent 11.5%),radial-gradient(circle at 86% 9%,transparent 0 26%,rgba(255,255,255,.075) 26.5% 35%,transparent 35.5%),linear-gradient(120deg,#10251a,#1e4531 68%,#173324)}
.member-hovercard-main{padding:0 16px 16px}
.member-hovercard-identity{min-height:90px;margin-top:-42px;gap:13px}
.member-hovercard-avatar{width:88px;height:88px;flex-basis:88px;border:4px solid var(--member-card-bg);border-radius:12px;background:#202729;box-shadow:0 8px 22px rgba(0,0,0,.38)}
.member-hovercard-avatar-fallback{background:linear-gradient(145deg,#e3efe7,#c9dfd1);color:#147d4d}
.member-hovercard-name{padding-bottom:8px}
.member-hovercard-name strong{font-size:21px;color:#fff}
.member-hovercard-name>span,.member-hovercard-details{color:#b6c2bb}
.member-hovercard-close{border-color:var(--member-card-line);background:#202729;color:#c7d1cb}
.member-hovercard-badge{border-color:rgba(96,193,135,.32);background:rgba(40,128,79,.17);color:#d5f3df}
.member-hovercard-badge--staff{border-color:rgba(222,187,104,.4);background:rgba(173,126,30,.15);color:#f1d58f}
.member-hovercard-badge--online{border-color:rgba(73,207,132,.4);background:rgba(37,154,87,.16);color:#7be0a3}
.member-hovercard-badge--role{background:color-mix(in srgb,var(--member-hovercard-role-color,#4d8c65) 22%,#151a1c);color:#e5eee8}
.member-hovercard-achievement{border-color:rgba(201,169,86,.35);background:rgba(157,119,30,.13);color:#f0e3b9}
.member-hovercard-details{color:#b6c2bb}
.member-hovercard-about,.member-hovercard-signature{color:#f1f5f2}
.member-hovercard-signature>span{color:#aebbb3}
.member-hovercard-interests{color:#b6c2bb}
.member-hovercard-stats{border-color:var(--member-card-line)}
.member-hovercard-stats>div+div{border-inline-start-color:var(--member-card-line)}
.member-hovercard-stats strong{color:#fff}
.member-hovercard-stats span{color:#aebbb3}
.member-hovercard-action{border-color:var(--member-card-line);background:var(--member-card-panel);color:#f1f5f2}
.member-hovercard-action:hover{border-color:rgba(86,196,130,.62);background:#25332b}
.member-hovercard-action--primary{border-color:#159458;background:#159458;color:#fff}
.member-hovercard-relationships>.fx-btn{border-color:var(--member-card-line);background:var(--member-card-panel);color:#eef4ef}
.member-hovercard-loading,.member-hovercard-error{border-color:var(--member-card-line);background:#151a1c;color:#d3ddd6}
.member-hovercard :focus-visible{outline:2px solid #71d49a;outline-offset:2px}
@media(max-width:520px){.member-hovercard-layer{width:min(420px,calc(100vw - 20px))}.member-hovercard-cover{height:104px}.member-hovercard-identity{min-height:80px;margin-top:-38px}.member-hovercard-avatar{width:78px;height:78px;flex-basis:78px}.member-hovercard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.member-hovercard-stats>div:nth-child(4){border-inline-start:0;border-top:1px solid var(--member-card-line)}.member-hovercard-stats>div:nth-child(5),.member-hovercard-stats>div:nth-child(6){border-top:1px solid var(--member-card-line)}}
/* Keep the profile identity, badges and core actions in view like the reference card. */
.member-hovercard-layer{width:min(550px,calc(100vw - 24px));max-height:min(560px,calc(100dvh - 24px))}
.member-hovercard-cover{height:142px}
.member-hovercard-cover-content{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;padding:0 14px 12px}
.member-hovercard-cover::after{background:linear-gradient(180deg,rgba(6,12,9,.04) 18%,rgba(6,12,9,.78) 100%)}
.member-hovercard-identity{min-height:108px;margin-top:0;align-items:flex-end;gap:13px}
.member-hovercard-avatar{width:104px;height:104px;flex-basis:104px;margin-bottom:0}
.member-hovercard-heading{min-width:0;flex:1;align-self:flex-end;padding-bottom:1px}
.member-hovercard-name{padding-bottom:0}
.member-hovercard-name strong{font-size:20px;text-shadow:0 1px 5px rgba(0,0,0,.55)}
.member-hovercard-name>span{color:#d0d9d3}
.member-hovercard-badges{margin-top:7px;max-height:56px;overflow:auto;scrollbar-width:thin}
.member-hovercard-close{align-self:flex-end;margin:0 0 3px;background:rgba(12,18,15,.72)}
.member-hovercard-details{gap:6px;margin-top:10px;font-size:11px}
.member-hovercard-main{padding:0 14px 14px}
.member-hovercard-achievements{margin-top:10px}
.member-hovercard-stats{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:10px}
.member-hovercard-stats>div{padding:8px 4px}
.member-hovercard-stats strong{font-size:14px}
.member-hovercard-stats span{font-size:9px;line-height:1.25}
.member-hovercard-action{min-height:36px;font-size:11px}
@media(max-width:520px){.member-hovercard-layer{width:min(420px,calc(100vw - 20px));max-height:calc(100dvh - 20px)}.member-hovercard-cover{height:108px}.member-hovercard-cover-content{padding-inline:10px;padding-bottom:10px}.member-hovercard-identity{min-height:78px;margin-top:0}.member-hovercard-avatar{width:70px;height:70px;flex-basis:70px}.member-hovercard-badge{font-size:9px}.member-hovercard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.member-hovercard-stats>div:nth-child(4){border-inline-start:0;border-top:1px solid var(--member-card-line)}.member-hovercard-stats>div:nth-child(5),.member-hovercard-stats>div:nth-child(6){border-top:1px solid var(--member-card-line)}}
.thread-badge--solved{border-color:rgba(77,176,117,.3);background:rgba(77,176,117,.12);color:#277849}
.thread-solution-status{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 14px;padding:11px 14px;border:1px solid color-mix(in srgb,#29965d 28%,var(--line));border-radius:10px;background:color-mix(in srgb,#29965d 7%,var(--panel));color:var(--text);font-size:13px}
.thread-solution-status>span,.thread-accepted-solution>span{color:#21945b;font-weight:900}
.thread-solution-status a{color:var(--accent);font-weight:750;text-decoration:none}
.thread-post.is-accepted-solution{border-color:color-mix(in srgb,#29965d 44%,var(--line));box-shadow:inset 3px 0 #29965d,0 7px 22px rgba(24,54,35,.045)}
.thread-accepted-solution{display:flex;align-items:center;gap:6px;margin:0 0 11px;color:#28784a;font-size:12px;font-weight:800}
.thread-solution-form{display:inline-flex;margin:0}
.thread-solution-button{min-height:30px;padding:5px 9px;border:1px solid color-mix(in srgb,#29965d 35%,var(--line));border-radius:7px;background:color-mix(in srgb,#29965d 7%,var(--panel));color:var(--text);font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.thread-solution-button:hover,.thread-solution-button:focus-visible{border-color:#29965d;background:color-mix(in srgb,#29965d 13%,var(--panel))}
.thread-solution-button.is-selected{border-color:color-mix(in srgb,#a55f58 40%,var(--line));background:color-mix(in srgb,#a55f58 7%,var(--panel))}
/* shared-primitives-v1 */
.card{
  padding:var(--forwext-component-forum-spacing);
  border:var(--forwext-component-forum-border-width) solid var(--forwext-component-forum-border-color);
  border-radius:var(--fx-radius-lg);
  background:var(--forwext-component-forum-background);
}
.empty{
  padding:28px;
  text-align:center;
  color:var(--muted);
}
.surface-panel{
  padding:var(--fx-surface-panel-padding);
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
}
.fx-btn{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 11px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--panel2);
  color:inherit;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  box-shadow:none;
  transition:
    transform var(--fx-transition),
    border-color var(--fx-transition),
    background var(--fx-transition),
    box-shadow var(--fx-transition);
}
.fx-btn:hover{
  border-color:var(--accent);
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(0,0,0,.10);
}
.fx-btn:active{transform:translateY(0)}
.fx-btn--primary{
  border-color:var(--accent);
  background:var(--accent);
  color:var(--forwext-component-button-contrast-text);
  box-shadow:none;
}

.forum-home-layout{
  grid-template-columns:minmax(0,1fr) 310px;
  gap:20px;
}
.forum-home-main{gap:16px}
.forum-home-side{
  gap:14px;
  position:sticky;
  top:92px;
}
.forum-hero,
.forum-view-head,
.thread-view-head,
.forum-compose-head{
  position:relative;
  overflow:hidden;
  padding:22px 24px;
  border-radius:var(--fx-radius-xl);
  background:var(--panel);
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--panel)),var(--panel2));
}
.forum-hero::after,
.forum-view-head::after,
.thread-view-head::after,
.forum-compose-head::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-72px;
  top:-96px;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  pointer-events:none;
}
.forum-hero>div,
.forum-view-head>div,
.thread-view-head>div,
.forum-compose-head>div{position:relative;z-index:1}
.forum-eyebrow{letter-spacing:.15em}
.forum-category{
  border-radius:var(--fx-radius-xl);
}
.forum-category-head{
  min-height:58px;
  padding:13px 17px;
  background:color-mix(in srgb,var(--panel2) 90%,var(--panel));
}
.forum-category-head>span{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:3px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel);
  white-space:nowrap;
}
.forum-node{
  min-height:84px;
  padding:15px 17px;
  transition:background var(--fx-transition),border-color var(--fx-transition);
}
.forum-node:hover{
  background:color-mix(in srgb,var(--accent) 4%,var(--panel));
}
.forum-node-icon{
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--accent) 7%,var(--panel2));
  transition:transform var(--fx-transition),border-color var(--fx-transition),background var(--fx-transition);
}
.forum-node:hover .forum-node-icon{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--accent) 40%,var(--line));
  background:color-mix(in srgb,var(--accent) 12%,var(--panel2));
}
.forum-node-main h3 a{transition:color var(--fx-transition)}
.forum-node-counts>div{
  padding:6px 4px;
  border-radius:9px;
  background:color-mix(in srgb,var(--panel2) 65%,transparent);
}
.forum-last-title{transition:color var(--fx-transition)}
.forum-last-title:hover{color:var(--accent)}
.forum-side-card{
  overflow:hidden;
  padding:16px;
}
.forum-side-card h2{letter-spacing:-.015em}
.forum-recent-list a,
.forum-side-card>a{
  margin-inline:-5px;
  padding-inline:5px;
  border-radius:8px;
  transition:background var(--fx-transition),color var(--fx-transition);
}
.forum-recent-list a:hover,
.forum-side-card>a:hover{
  background:var(--panel2);
  color:var(--text);
}
.forum-mini-stats>div{
  padding:10px 4px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel2);
}

.forum-subforums{
  margin-top:16px;
  border-radius:var(--fx-radius-lg);
}
.forum-subforums>div>a{
  border-radius:10px;
  transition:background var(--fx-transition),border-color var(--fx-transition),transform var(--fx-transition);
}
.forum-subforums>div>a:hover{
  background:color-mix(in srgb,var(--accent) 5%,var(--panel2));
  border-color:color-mix(in srgb,var(--accent) 32%,var(--line));
  transform:translateY(-1px);
}
.forum-thread-panel{margin-top:18px}
.forum-thread-panel-head{padding-inline:2px}
.forum-thread-list{border-radius:var(--fx-radius-lg)}
.forum-thread-row{
  min-height:72px;
  transition:background var(--fx-transition);
}
.forum-thread-row:hover{background:color-mix(in srgb,var(--accent) 4%,var(--panel))}
.forum-thread-main h3 a{transition:color var(--fx-transition)}
.forum-thread-main h3 a:hover{color:var(--accent)}
.thread-status-icon{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 9%,var(--panel2));
}
.thread-badge{
  min-height:17px;
  display:inline-flex;
  align-items:center;
  padding:1px 5px;
  border:1px solid var(--line);
  border-radius:3px;
  background:var(--panel2);
  color:var(--muted);
  font-size:8.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.thread-badge--accent{
  border-color:var(--accent);
  background:color-mix(in srgb,var(--accent) 8%,var(--panel2));
  color:var(--accent);
}
.pagination{
  display:flex;
  gap:8px;
  margin-top:12px;
}
.pagination a,
.pagination span{
  min-width:32px;
  min-height:30px;
  display:inline-grid;
  place-items:center;
  border-radius:5px;
  font-size:11px;
}
.pagination a{
  padding:7px 11px;
  border:1px solid var(--line);
  text-decoration:none;
}
.pagination a[aria-current=page]{
  border-color:var(--accent);
  color:var(--accent);
}

.thread-post{
  border-radius:var(--fx-radius-xl);
}
.thread-post-author{
  border-radius:var(--fx-radius-xl) 0 0 var(--fx-radius-xl);
  background:color-mix(in srgb,var(--panel2) 90%,var(--panel));
}
.thread-post-avatar{
  border:2px solid color-mix(in srgb,var(--accent) 20%,var(--line));
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.thread-post-body{
  min-width:0;
  line-height:1.68;
}
.thread-post-body>header{
  padding-bottom:10px;
  margin-bottom:14px;
  border-bottom:1px solid var(--line);
}
.thread-attachments{
  display:grid;
  gap:7px;
  margin:14px 0 4px;
  padding-top:11px;
  border-top:1px solid var(--line);
}
.thread-attachments>h3{
  margin:0;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.thread-attachment-list{
  display:grid;
  gap:6px;
}
.thread-attachment{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:7px 8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
}
.thread-attachment-thumb{
  width:42px;
  height:42px;
  overflow:hidden;
  display:block;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--panel);
}
.thread-attachment-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.thread-attachment-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.thread-attachment-copy strong,
.thread-attachment-copy span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.thread-attachment-copy strong{font-size:11px}
.thread-attachment-copy span{color:var(--muted);font-size:9.5px}
@media(max-width:700px){
  .thread-attachment{grid-template-columns:auto minmax(0,1fr)}
  .thread-attachment>.fx-btn{grid-column:1/-1;min-height:44px;justify-content:center}
}

/* profile-foundation-ownership-v2 */
.profile{overflow:hidden;border:var(--forwext-component-profile-border-width) solid var(--forwext-component-profile-border-color);border-radius:var(--forwext-component-profile-radius);background:var(--forwext-component-profile-background)}
.banner{width:100%;height:220px;object-fit:cover;background:linear-gradient(135deg,#20262e,#141920);display:block}
.profilebody{padding:0 24px 26px}
.profilehead{display:flex;gap:16px;align-items:end;margin-top:-46px}
.profile-relationship-actions{margin-left:auto;padding-bottom:8px;display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.profile-relationship-actions [data-active="1"]{border-color:var(--accent);color:var(--accent)}
.relationship-status{min-height:1em;color:var(--muted);font-size:11px}
.relationship-status[data-error="1"]{color:#ff9a9a}
.profilehead .avatar{width:96px;height:96px;font-size:30px;border:4px solid var(--panel)}
.identity{padding-bottom:8px}
.identity h1{margin:0;font-size:27px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.tabs a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--muted)}
.section{padding-top:8px;margin-top:18px}
.section h2{font-size:17px;margin:0 0 10px}
.about{white-space:pre-wrap;overflow-wrap:anywhere}
.social{display:flex;gap:9px;flex-wrap:wrap}
.social a{padding:7px 10px;border:1px solid var(--line);border-radius:8px;text-decoration:none}
.profilemusic{margin:20px 0 4px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.profilemusic-title{font-weight:700;margin-bottom:9px;overflow-wrap:anywhere}
.profilemusic audio{display:block;width:100%;height:40px;max-width:700px}
.portfolio-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0}
.portfolio-media figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel2);aspect-ratio:16/10}
.portfolio-media img{display:block;width:100%;height:100%;object-fit:cover}
.profile-wall{display:grid;gap:12px}
.profile-wall-head{display:flex;justify-content:space-between;align-items:end;gap:12px}
.profile-wall-head h2{margin:0}
.profile-wall-head p{margin:4px 0 0}
.profile-wall-composer{display:grid;gap:10px;padding:14px}
.profile-wall-composer label,.profile-wall-comment-form label{display:grid;gap:6px}
.profile-wall-composer label>span,.profile-wall-comment-form label>span{font-size:11px;font-weight:800;color:var(--muted)}
.profile-wall-composer textarea,.profile-wall-comment-form textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);padding:10px 11px;font:inherit;line-height:1.5}
.profile-wall-composer>div,.profile-wall-comment-form>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.profile-wall-status{min-height:1em;color:var(--muted);font-size:11px}
.profile-wall-status[data-error="1"]{color:#ff9a9a}
.profile-wall-list{display:grid;gap:10px}
.profile-wall-post{position:relative;overflow:visible;padding:16px}
.profile-wall-post>header>div{display:flex;justify-content:space-between;align-items:center;gap:10px}
.profile-wall-post time,.profile-wall-comment time{color:var(--muted);font-size:10px}
.profile-wall-body{margin:12px 0;line-height:1.6;overflow-wrap:anywhere}
.profile-wall-interactions{display:flex;gap:7px;flex-wrap:wrap}
.profile-wall-interactions details{position:relative}
.profile-wall-interactions summary{list-style:none;cursor:pointer}
.profile-wall-interactions summary::-webkit-details-marker{display:none}
.profile-wall-reaction-popover{position:absolute;left:0;top:calc(100% + 7px);z-index:30;width:min(330px,80vw);padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);box-shadow:var(--forwext-semantic-shadow-floating)}
.profile-wall-reaction-options{display:flex;gap:6px;flex-wrap:wrap}
.profile-wall-reaction-options button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);padding:7px 9px;cursor:pointer}
.profile-wall-reaction-options button:hover{border-color:var(--accent)}
.profile-wall-reaction-options button span{font-size:10px}
.profile-wall-reaction-remove{width:100%}
.profile-wall-reaction-count{display:inline-flex;margin:0 5px 6px 0;padding:3px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px}
.profile-wall-comments{display:grid;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.profile-wall-comment{padding:9px 10px;border-radius:9px;background:var(--panel2)}
.profile-wall-comment>div{display:flex;justify-content:space-between;gap:8px}
.profile-wall-comment p{margin:5px 0 0;line-height:1.5;overflow-wrap:anywhere}
.profile-wall-no-comments{padding:5px 0}
.profile-wall-comment-form{display:grid;gap:8px;margin-top:10px}
.profile-wall-empty{display:grid;gap:5px;text-align:center;padding:30px}
.profile-wall-empty span{color:var(--muted)}

.profile{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel);
}
.banner{
  height:180px;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--panel2)),var(--panel));
}
.profilebody{
  padding:0 20px 24px;
}
.profilehead{
  gap:14px;
  margin-top:-40px;
}
.profilehead .avatar{
  width:88px;
  height:88px;
  border-width:3px;
  border-color:var(--panel);
  box-shadow:0 8px 20px rgba(0,0,0,.20);
}
.profile-identity{
  min-width:0;
  padding-bottom:6px;
}
.profile-identity h1{
  overflow:hidden;
  margin:0;
  font-size:25px;
  line-height:1.15;
  letter-spacing:-.025em;
  text-overflow:ellipsis;
}
.profile-identity-meta{
  display:flex;
  gap:5px 10px;
  flex-wrap:wrap;
  margin-top:4px;
  color:var(--muted);
  font-size:10.5px;
}
.profile-settings-link{
  display:inline-flex;
  align-items:center;
  margin-top:6px;
  color:var(--accent);
  font-size:10.5px;
  font-weight:750;
  text-decoration:none;
}
.profile-settings-link:hover{text-decoration:underline}
.profile-settings-actions{
  display:flex;
  align-items:center;
  gap:5px 10px;
  flex-wrap:wrap;
}
.profile-settings-page{gap:14px}
.profile-settings-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:14px;
  align-items:start;
}
.profile-settings-form,
.profile-media-settings{display:grid;gap:13px}
.profile-settings-form>header,
.profile-media-settings>header{
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.profile-settings-form>header h2,
.profile-media-settings>header h2,
.profile-media-setting-card h3{margin:0;font-size:13.5px}
.profile-settings-form>header p,
.profile-media-settings>header p,
.profile-media-setting-card p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.5;
}
.profile-settings-form label{
  display:grid;
  gap:5px;
}
.profile-settings-form label>span{
  color:var(--text);
  font-size:11px;
  font-weight:780;
}
.profile-settings-form label>small{color:var(--muted);font-size:9.5px}
.profile-settings-form textarea,
.profile-settings-form select{
  width:100%;
  min-height:40px;
  box-sizing:border-box;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
  color:var(--text);
  font:inherit;
}
.profile-settings-form textarea{min-height:150px;resize:vertical;line-height:1.55}
.profile-settings-form textarea:focus,
.profile-settings-form select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent);
  outline:none;
}
.profile-settings-actions{justify-content:flex-start}
.profile-media-setting-grid{display:grid;gap:9px}
.profile-media-setting-card{
  min-width:0;
  display:grid;
  gap:9px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
}
.profile-media-setting-preview{
  min-height:92px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:1px dashed var(--line);
  border-radius:7px;
  background:var(--panel);
  color:var(--muted);
  font-size:10px;
}
.profile-media-setting-preview--avatar{width:92px;min-height:92px;border-radius:50%}
.profile-media-setting-preview--avatar img,
.profile-media-setting-preview--banner img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.profile-media-setting-preview--avatar img{aspect-ratio:1}
.profile-media-setting-preview--banner{width:100%;aspect-ratio:3/1;min-height:80px}
.profile-media-upload-form{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.profile-media-picker{position:relative;cursor:pointer}
.profile-media-picker input{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}
.profile-media-picker:focus-within{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
@media(max-width:820px){
  .profile-settings-layout{grid-template-columns:1fr}
  .profile-media-setting-preview--avatar{width:82px;min-height:82px}
}
@media(max-width:520px){
  .profile-settings-page>.surface-head{align-items:flex-start;display:grid}
  .profile-settings-page>.surface-head>.fx-btn{justify-self:start}
  .profile-media-upload-form{display:grid}
  .profile-media-upload-form .fx-btn{min-height:44px;justify-content:center}
}
.profile-tabs{
  gap:2px;
  margin:16px 0 14px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel2);
}
.profile-tabs a{
  min-height:33px;
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border:0;
  border-radius:6px;
  font-size:11.5px;
}
.profile-tabs a:hover,
.profile-tabs a:focus-visible{
  background:var(--panel);
  color:var(--text);
}
.profile-content{
  display:grid;
  gap:12px;
}
.profile-content>.section{
  margin:0;
  padding:15px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
}
.profile-content>.section>h2{
  margin:0 0 10px;
  font-size:15px;
}
.tabs{
  gap:6px;
  margin:20px 0;
  padding:6px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel2);
}
.tabs a{
  border-color:transparent;
  border-radius:9px;
  padding:8px 11px;
  transition:background var(--fx-transition),color var(--fx-transition),border-color var(--fx-transition);
}
.tabs a:hover,
.tabs a:focus-visible{
  background:var(--panel);
  border-color:var(--line);
  color:var(--text);
}
.profilemusic,
.profile-wall-composer,
.profile-wall-post,
.relationship-row,
.activity-feed-item,
.bookmark-card,

.notification-item{
  border-radius:var(--fx-radius-lg);
}
.account-sessions{gap:14px}
.account-session-panel{display:grid;gap:10px}
.account-session-panel>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.account-session-panel>header h2{margin:0;font-size:14px}
.account-session-panel>header p{margin:3px 0 0;color:var(--muted);font-size:10px}
.account-session-list{display:grid;gap:7px}
.account-session-row{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
}
.account-session-row.is-current{
  border-color:color-mix(in srgb,var(--accent) 32%,var(--line));
  background:color-mix(in srgb,var(--accent) 4%,var(--panel2));
}
.account-session-title{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
}
.account-session-title strong{font-size:11.5px}
.account-session-meta{
  display:flex;
  gap:4px 12px;
  flex-wrap:wrap;
  margin-top:4px;
  color:var(--muted);
  font-size:9.5px;
}
.account-session-bulk{flex:0 0 auto}
@media(max-width:700px){
  .account-session-panel>header,
  .account-session-row{display:grid;align-items:start}
  .account-session-row{grid-template-columns:1fr}
  .account-session-row>.fx-btn,
  .account-session-row>form .fx-btn,
  .account-session-bulk .fx-btn{min-height:44px;justify-content:center;width:100%}
}
.profile-wall-post,
.activity-feed-item,
.bookmark-card,

.notification-item,
.relationship-row{
  transition:border-color var(--fx-transition),background var(--fx-transition),transform var(--fx-transition);
}
.profile-wall-post:hover,
.activity-feed-item:hover,
.bookmark-card:hover,

.notification-item:hover,
.relationship-row:hover{
  border-color:color-mix(in srgb,var(--accent) 24%,var(--line));
}
.profile-wall-composer textarea,
.profile-wall-comment-form textarea{
  border-radius:10px;
}

.acp-dashboard{gap:16px}
.acp-hero,
.acp-panel{
  border-radius:var(--fx-radius-xl);
}
.acp-hero{
  padding:20px;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--panel)),var(--panel2));
}
.acp-search{max-width:860px}
.acp-search input{
  min-height:42px;
  border-radius:10px;
  transition:border-color var(--fx-transition),box-shadow var(--fx-transition),background var(--fx-transition);
}
.acp-search input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);
}
.acp-search button,
.acp-button{
  min-height:40px;
  transition:transform var(--fx-transition),border-color var(--fx-transition),background var(--fx-transition);
}
.acp-search button:hover,
.acp-button:hover{
  border-color:color-mix(in srgb,var(--accent) 45%,var(--line));
  background:color-mix(in srgb,var(--accent) 6%,var(--panel2));
}
.acp-card{
  border-radius:12px;
  transition:transform var(--fx-transition),border-color var(--fx-transition),background var(--fx-transition),box-shadow var(--fx-transition);
}
.acp-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
  box-shadow:0 10px 24px rgba(0,0,0,.10);
}
.acp-queue{border-radius:12px}
.acp-count{
  border-color:color-mix(in srgb,var(--accent) 22%,var(--line));
}
.acp-ux-guide{border-radius:var(--fx-radius-lg)}

input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="number"],
textarea,
select{
  transition:border-color var(--fx-transition),box-shadow var(--fx-transition),background var(--fx-transition);
}
input[type="text"]:focus,
input[type="search"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent);
  outline:none;
}

.site-footer{
  margin-top:auto;
  border-top:var(--forwext-component-footer-border-width) solid var(--forwext-component-footer-border-color);
  background:var(--forwext-component-footer-background);
  color:var(--forwext-component-footer-text);
}
.footerin{
  width:min(var(--fx-shell-width),calc(100% - (var(--fx-shell-gutter) * 2)));
  margin-inline:auto;
  padding:22px 0 28px;
}
.core-brand-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  color:var(--forwext-component-footer-muted-text);
  font-size:13px;
  line-height:1.45;
  text-align:center;
}
.core-brand-footer strong{color:var(--forwext-component-footer-text)}
.core-brand-footer span{color:var(--forwext-component-footer-muted-text)}
.ui-page-slot{
  width:min(var(--fx-shell-width),calc(100% - (var(--fx-shell-gutter) * 2)));
  margin-inline:auto;
}

/* bug-report-fab-foundation-v2 */
.bug-report-fab{position:fixed;right:20px;bottom:20px;z-index:50;width:46px;height:46px;display:grid;place-items:center;border:var(--forwext-component-button-border-width) solid var(--forwext-component-button-border-color);border-radius:50%;background:var(--forwext-component-button-background);color:var(--muted);text-decoration:none;box-shadow:var(--forwext-semantic-shadow-floating)}
.bug-report-fab:hover,.bug-report-fab:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}
.bug-report-fab svg{width:22px;height:22px;fill:currentColor}

/* profile-mobile-foundation-v2 */
@media(max-width:700px){
.banner{height:150px}
.profilebody{padding:0 16px 20px}
.profilehead{align-items:center;margin-top:-34px}
.profilehead .avatar{width:76px;height:76px}
.identity h1{font-size:22px}
.profile-relationship-actions{width:100%;margin-left:0;padding-bottom:0;justify-content:flex-start}
.profile-wall-post>header>div,.profile-wall-comment>div{display:grid}
.profile-wall-composer>div,.profile-wall-comment-form>div{align-items:flex-start}
.profile-wall-reaction-popover{left:0;right:auto}
.profilemusic{padding:12px}
.profilemusic audio{height:42px}
.portfolio-media{grid-template-columns:1fr}
}

/* Forwext responsive scale: 1100 / 920 / 820 / 760 / 700 / 520 px. */
@media(max-width:1100px){
  .forum-home-layout{grid-template-columns:minmax(0,1fr) 285px}
}

/* navigation-responsive-ownership-v2 */
@media(max-width:920px){
  .nav-account-grid{grid-template-columns:1fr}
  .nav-account-link{min-height:44px;padding-block:8px}
  .nav-tool-actions{grid-template-columns:1fr}
  .nav-tool-actions>a{min-height:44px}

  .layout-shell{grid-template-columns:1fr}
  .layout-sidebar{order:2}
  .forum-home-side{position:static}
}

@media(max-width:700px){
  :root{--fx-shell-gutter:14px;--fx-surface-panel-padding:11px}
  .search-form,
  .member-directory-form{grid-template-columns:1fr}
  .search-wide,
  .search-actions{grid-column:1}
  .wrap,.layout-shell{margin-top:18px;margin-bottom:48px}
  .breadcrumbs{font-size:12px;margin-bottom:12px}
  .forum-hero,
  .forum-view-head,
  .thread-view-head,
  .forum-compose-head{
    padding:17px;
    border-radius:14px;
  }
  .forum-hero-actions,
  .forum-view-actions,
  .thread-view-actions{width:100%}
  .forum-hero-actions .fx-btn,
  .forum-view-actions .fx-btn,
  .thread-view-actions .fx-btn{flex:1 1 auto;text-align:center;justify-content:center}
  .forum-category{border-radius:14px}
  .forum-category-head{
    align-items:flex-start;
    padding:12px 14px;
  }
  .forum-node{padding:13px}
  .forum-node-counts>div{background:transparent;padding:2px 0}
  .forum-thread-row{padding:13px}
  .thread-post{border-radius:14px}
  .thread-post-author{border-radius:14px 14px 0 0}
  .banner{height:135px}
  .profile{border-radius:10px}
  .profilebody{padding:0 13px 18px}
  .profilehead{
    margin-top:-31px;
    align-items:center;
  }
  .profilehead .avatar{
    width:68px;
    height:68px;
  }
  .profile-identity h1{font-size:21px}
  .profile-relationship-actions{
    width:100%;
    margin-left:0;
    padding-bottom:0;
    justify-content:flex-start;
  }
  .profile-tabs{
    margin-top:13px;
  }
  .tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .tabs::-webkit-scrollbar{display:none}
  .tabs a{white-space:nowrap}
  .acp-hero,.acp-panel{padding:14px;border-radius:14px}
  .acp-grid{grid-template-columns:1fr}
  .footerin{padding-block:18px 24px}
}

@media(max-width:520px){
  .forum-category-head{display:grid}
  .forum-category-head>span{justify-self:start}
  .forum-hero-actions,
  .forum-view-actions,
  .thread-view-actions{display:grid}
  .forum-hero-actions .fx-btn,
  .forum-view-actions .fx-btn,
  .thread-view-actions .fx-btn{width:100%}
  .profilebody{padding-inline:13px}
  .profile-relationship-actions{display:grid;grid-template-columns:1fr 1fr}
  .profile-relationship-actions .fx-btn{justify-content:center}
  .bug-report-fab{right:14px;bottom:14px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}


/* extended-surface-polish */
/* search-foundation-ownership-v2 */
.search-head{padding:4px 2px 10px}
.search-head h1{
  margin:0;
  font-size:clamp(24px,3vw,31px);
  letter-spacing:-.025em;
}
.search-head p{margin:6px 0 0}
.search-form,
.member-directory-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.search-form{gap:12px}
.search-form label,
.member-directory-form label{
  display:grid;
  gap:6px;
}
.search-form label span,
.member-directory-form label span{
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}
.search-form>label,
.search-form>details{min-width:0}
.search-wide{grid-column:1/-1}
.search-form input,
.search-form select,
.search-form textarea,
.member-directory-form input,
.member-directory-form select{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:10px 11px;
  border:var(--forwext-component-input-border-width) solid var(--forwext-component-input-border-color);
  border-radius:var(--forwext-component-input-radius);
  background:var(--forwext-component-input-background);
  color:var(--forwext-component-input-text,var(--text));
  font:inherit;
}
.search-form textarea{resize:vertical}
.search-form details.search-wide{
  padding:0;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel2);
}
.search-form details.search-wide>summary{
  padding:11px 13px;
  color:var(--text);
  font-weight:800;
  cursor:pointer;
  list-style-position:inside;
}
.search-form details.search-wide[open]>summary{border-bottom:1px solid var(--line)}
.search-form details.search-wide>.search-form{margin:0;padding:13px}
.search-actions{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:2px;
}
.search-actions button,
.member-directory-form button{
  align-self:end;
  min-height:40px;
  padding:10px 18px;
  border:0;
  border-radius:10px;
  background:var(--forwext-component-button-accent);
  color:var(--forwext-component-button-contrast-text);
  box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 13%,transparent);
  font-weight:800;
  cursor:pointer;
}
.search-actions>a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--muted);
  text-decoration:none;
  transition:color var(--fx-transition),border-color var(--fx-transition),background var(--fx-transition);
}
.search-actions>a:hover{
  color:var(--text);
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
  background:var(--panel2);
}
@media(max-width:700px){
  .search-form,
  .member-directory-form{
    grid-template-columns:minmax(0,1fr);
  }
  .search-wide,
  .search-actions{grid-column:1}
  .search-form>label,
  .search-form>details,
  .member-directory-form>label{min-width:0}
}
.search-alert{
  margin-top:18px;
  padding:12px 14px;
  border:var(--forwext-component-alert-border-width) solid var(--forwext-component-alert-border-color);
  border-radius:var(--forwext-component-alert-radius);
  background:var(--forwext-component-alert-background);
  box-shadow:inset 3px 0 0 var(--accent);
}
.search-results{margin-top:25px;padding-top:4px}
.search-result-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
  padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.search-hit{
  margin-top:9px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel2);
  transition:border-color var(--fx-transition),background var(--fx-transition),transform var(--fx-transition);
}
.search-hit:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--accent) 28%,var(--line));
  background:color-mix(in srgb,var(--accent) 4%,var(--panel2));
}
.search-hit:first-child{border-top:1px solid var(--line)}
.search-hit h3{margin:2px 0;font-size:17px}
.search-hit h3 a{
  text-decoration:none;
  transition:color var(--fx-transition);
}
.search-hit h3 a:hover{color:var(--accent)}
.search-hit-type{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:2px 7px;
  border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 7%,var(--panel));
  color:var(--accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.search-hit-id{font-size:12px;overflow-wrap:anywhere}
.search-hit>img{
  display:block;
  width:100%;
  height:100%;
  max-height:280px;
  margin-bottom:12px;
  border-radius:10px;
  object-fit:cover;
}
.member-directory-form{
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel2);
}

/* thread-discovery-surface-v1 */
.thread-discovery{display:grid;gap:12px}
.thread-discovery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.thread-discovery-head h1{margin:2px 0 4px;font-size:clamp(24px,3vw,31px);letter-spacing:-.025em}
.thread-discovery-head p{margin:0;color:var(--muted)}
.thread-discovery-tabs{margin:0}
.thread-discovery-panel{padding:0;overflow:hidden}
.thread-discovery-list{display:grid}
.thread-discovery-row{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}
.thread-discovery-row:last-child{border-bottom:0}
.thread-discovery-row:hover{background:color-mix(in srgb,var(--panel2) 62%,var(--panel))}
.thread-discovery-row.is-unread{box-shadow:inset 3px 0 0 var(--accent)}
.thread-discovery-main{min-width:0}
.thread-discovery-main h2{margin:4px 0 5px;font-size:14px;line-height:1.35}
.thread-discovery-main h2 a{color:var(--text);text-decoration:none}
.thread-discovery-main h2 a:hover,.thread-discovery-main h2 a:focus-visible{color:var(--accent)}
.thread-discovery-badges{min-height:18px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.thread-discovery-badge{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:1px 6px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel2);
  color:var(--muted);
  font-size:9.5px;
  font-weight:750;
}
.thread-discovery-badge.is-unread{
  border-color:color-mix(in srgb,var(--accent) 42%,var(--line));
  color:var(--accent);
}
.thread-discovery-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:10.5px}
.thread-discovery-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(54px,auto));
  gap:1px;
  border:1px solid var(--line);
  background:var(--line);
}
.thread-discovery-stats>div{min-width:60px;padding:6px 8px;background:var(--panel2);text-align:center}
.thread-discovery-stats strong{display:block;font-size:12px;color:var(--text)}
.thread-discovery-stats span{display:block;margin-top:1px;color:var(--muted);font-size:9.5px}
@media(max-width:700px){
  .thread-discovery-head{align-items:stretch;display:grid}
  .thread-discovery-head>.fx-btn{justify-self:start}
  .thread-discovery-row{grid-template-columns:1fr;gap:9px;padding:12px}
  .thread-discovery-stats{grid-template-columns:repeat(2,1fr)}
  .thread-discovery-meta{display:grid;gap:3px}
}

/* discussion-watch-controls-v1 */
.discussion-watch-form,
.discussion-mark-read-form{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin:0;
}
.discussion-watch-form select{
  min-height:34px;
  max-width:168px;
  padding:6px 28px 6px 8px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--panel2);
  color:var(--text);
  font-size:11px;
}
.discussion-watch-form .fx-btn,
.discussion-mark-read-form .fx-btn{white-space:nowrap}
@media(max-width:700px){
  .discussion-watch-form{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .discussion-watch-form label,
  .discussion-watch-form select{width:100%;max-width:none}
  .discussion-mark-read-form{width:100%}
  .discussion-mark-read-form .fx-btn{width:100%}
}

/* profile-forum-content-surface-v1 */
.profile-forum-content-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.profile-content-discovery{display:grid;gap:12px}
.profile-content-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.profile-content-head h1{margin:2px 0 4px;font-size:clamp(24px,3vw,31px);letter-spacing:-.025em}
.profile-content-head p{margin:0;color:var(--muted)}
.profile-forum-content-panel{padding:0;overflow:hidden}
.profile-forum-content-list{display:grid}
.profile-forum-content-row{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:start;
  padding:11px 13px;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}
.profile-forum-content-row:last-child{border-bottom:0}
.profile-forum-content-row:hover{background:color-mix(in srgb,var(--panel2) 62%,var(--panel))}
.profile-forum-content-main{min-width:0}
.profile-forum-content-kicker{margin-bottom:3px;color:var(--accent);font-size:9.5px;font-weight:760}
.profile-forum-content-row h2{margin:0;font-size:12.5px;line-height:1.35}
.profile-forum-content-row h2 a{color:var(--text);text-decoration:none}
.profile-forum-content-row h2 a:hover,.profile-forum-content-row h2 a:focus-visible{color:var(--accent)}
.profile-forum-content-row p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.45;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.profile-forum-content-row time{white-space:nowrap;color:var(--muted);font-size:9.5px}
@media(max-width:700px){
  .profile-content-head{align-items:flex-start;flex-direction:column}
  .profile-forum-content-row{grid-template-columns:1fr;gap:7px}
}

/* watched-content-surface-v1 */
.watched-content{display:grid;gap:12px}
.watched-head h1{margin:2px 0 4px;font-size:clamp(24px,3vw,31px);letter-spacing:-.025em}
.watched-head p{margin:0;color:var(--muted)}
.watched-tabs{margin:0}
.watched-panel{padding:0;overflow:hidden}
.watched-list{display:grid}
.watched-row{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:11px 13px;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}
.watched-row:last-child{border-bottom:0}
.watched-row:hover{background:color-mix(in srgb,var(--panel2) 62%,var(--panel))}
.watched-row-main{min-width:0}
.watched-row-kind{display:inline-flex;align-items:center;margin-bottom:4px;padding:2px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.04em}
.watched-row-main h2{margin:0;font-size:12.5px;line-height:1.35}
.watched-row-main h2 a{color:var(--text);text-decoration:none}
.watched-row-main h2 a:hover,.watched-row-main h2 a:focus-visible{color:var(--accent)}
.watched-row-main p{margin:3px 0 0;color:var(--muted);font-size:10.5px;line-height:1.4}
.watched-row-meta{
  min-width:138px;
  display:grid;
  justify-items:end;
  gap:2px;
  color:var(--muted);
  font-size:9.5px;
}
.watched-row-meta span{color:var(--accent);font-weight:760}
@media(max-width:700px){
  .watched-row{grid-template-columns:1fr;gap:7px}
  .watched-row-meta{min-width:0;justify-items:start}
}

/* notification-surface-ownership-v2 */
.notification-settings{display:grid;gap:16px}
.notification-list{display:grid;gap:9px}
.notification-item{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:var(--panel);
}
.notification-item.is-unread{
  border-color:color-mix(in srgb,var(--accent) 60%,var(--line));
  background:color-mix(in srgb,var(--accent) 5%,var(--panel));
  box-shadow:inset 3px 0 0 var(--accent),0 8px 24px rgba(0,0,0,.08);
}
.notification-main{min-width:0}
.notification-main h2{margin:5px 0 6px;font-size:16px}
.notification-main p{margin:0;color:var(--muted);overflow-wrap:anywhere}
.notification-meta{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:11px;
}
.notification-meta>span:first-child{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:2px 7px;
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 8%,var(--panel2));
  color:var(--accent);
  font-weight:850;
}
.notification-count{
  padding:2px 6px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel2);
}
.notification-actions{
  min-width:185px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.notification-actions form{margin:0}
.notification-actions button{cursor:pointer}
.notification-read-state{color:var(--muted);font-size:12px}
.notification-unread{
  min-width:96px;
  padding:10px 14px;
  border-width:1px;
  border-style:solid;
  border-color:color-mix(in srgb,var(--accent) 25%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 6%,var(--panel2));
  text-align:center;
}
.notification-unread strong{
  display:block;
  color:var(--text);
  font-size:25px;
}
.notification-unread span{color:var(--muted);font-size:11px}
.notification-pagination .fx-btn{min-width:92px;text-align:center}
.notification-settings-form{
  display:grid;
  gap:18px;
  border-radius:var(--fx-radius-xl);
}
.notification-settings-form>label{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel2);
}
.notification-settings-form>label>span{font-size:13px;font-weight:800}
.notification-settings-form select,
.notification-settings-form input[type="range"]{width:100%}
.notification-settings-form select{
  padding:10px 11px;
  border:var(--forwext-component-input-border-width) solid var(--forwext-component-input-border-color);
  border-radius:var(--forwext-component-input-radius);
  background:var(--forwext-component-input-background);
  color:#24342c;
  font:inherit;
}
.notification-settings-switch{
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  padding:14px!important;
}
.notification-settings-switch input{margin-top:4px}
.notification-settings-switch span{display:grid;gap:3px}
.notification-settings-switch small{color:var(--muted);font-weight:400}
.notification-settings-form input[type="range"]{accent-color:var(--accent)}
.notification-settings-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.notification-settings-actions button{cursor:pointer}
.notification-settings-info h2{margin:0 0 8px;font-size:17px}
.notification-settings-info p{margin:6px 0;color:var(--muted)}
.notification-settings-notice{
  padding:12px 14px;
  border:1px solid var(--accent);
  border-radius:10px;
  background:var(--panel2);
  box-shadow:inset 3px 0 0 var(--accent);
}

/* auth-surface-ownership-v2 */
.auth-entry{
  width:min(100%,520px);
  margin:28px auto 0;
}
.auth-entry-card{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:16px;
  padding:21px;
  border-radius:10px;
  background:var(--panel);
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.auth-entry-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:2px;
  background:var(--accent);
}
.auth-entry-copy{
  display:grid;
  gap:3px;
}
.auth-entry-copy h1{
  margin:0;
  font-size:24px;
  line-height:1.16;
  letter-spacing:-.03em;
}
.auth-entry-copy p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.auth-entry-form{
  display:grid;
  gap:12px;
}
.auth-entry-form label:not(.auth-entry-check){
  display:grid;
  gap:5px;
  padding:0;
}
.auth-entry-form label>span{
  color:var(--muted);
  font-size:11px;
  font-weight:760;
}
.auth-entry-form input:not([type=checkbox]),
.auth-entry-form select{
  width:100%;
  min-height:42px;
  padding:9px 10px;
  border:var(--forwext-component-input-border-width) solid var(--forwext-component-input-border-color);
  border-radius:7px;
  background:var(--panel2);
  color:var(--auth-entry-input-text,#24342c);
  caret-color:var(--auth-entry-input-text,#24342c);
  font:inherit;
}
.auth-entry-form input:not([type=checkbox])::placeholder{color:#68766e;opacity:1}
.auth-entry-form input:not([type=checkbox]):autofill{color:var(--auth-entry-input-text,#24342c);caret-color:var(--auth-entry-input-text,#24342c);box-shadow:0 0 0 1000px var(--panel2) inset}
.auth-entry-form input:not([type=checkbox]):-webkit-autofill{-webkit-text-fill-color:var(--auth-entry-input-text,#24342c);caret-color:var(--auth-entry-input-text,#24342c);box-shadow:0 0 0 1000px var(--panel2) inset}
.auth-entry-form input:not([type=checkbox]):focus,
.auth-entry-form select:focus{
  background:var(--panel);
}
.auth-entry-check{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:10px!important;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--panel2);
}
.auth-entry-check input{margin:3px 0 0}
.auth-entry-check span{
  color:var(--text)!important;
  font-size:10.5px!important;
  font-weight:620!important;
}
.auth-entry-challenge{
  min-height:64px;
  display:flex;
  align-items:center;
  padding:8px 0;
  overflow-x:auto;
}
.auth-entry-submit{
  min-height:42px;
  justify-content:center;
  border-radius:7px;
  cursor:pointer;
}
.auth-entry-links{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px 12px;
  flex-wrap:wrap;
  padding-top:11px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:11px;
}
.auth-entry-links a{
  color:var(--text);
  font-weight:760;
  text-decoration:none;
}
.auth-entry-links a:hover{color:var(--accent)}
.auth-entry-actions{
  display:flex;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.auth-entry-actions button{cursor:pointer}
.auth-entry-error,
.auth-entry-notice{
  display:grid;
  gap:4px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--panel2);
  font-size:11px;
}
.auth-entry-error{
  border-color:color-mix(in srgb,#a65353 72%,var(--line));
  box-shadow:inset 3px 0 0 #a65353;
}
.auth-entry-notice{
  border-color:color-mix(in srgb,var(--accent) 45%,var(--line));
  box-shadow:inset 3px 0 0 var(--accent);
}
.auth-entry-notice span{
  color:var(--muted);
  font-size:10.5px;
}
.auth-entry-mfa-form{
  padding-top:12px;
  border-top:1px solid var(--line);
}
.auth-entry-mfa-form .auth-entry-copy strong{
  font-size:12.5px;
}


@media(max-width:760px){
  .notification-unread{min-width:88px}
  .notification-actions{
    width:100%;
    min-width:0;
    justify-content:flex-start;
  }
  .notification-actions .fx-btn,
  .notification-actions form,
  .notification-actions form .fx-btn{
    width:100%;
  }
  .notification-settings-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .notification-settings-actions .fx-btn{width:100%;justify-content:center}
  .search-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .search-actions button,
  .search-actions>a{
    width:100%;
    justify-content:center;
  }
}

@media(max-width:520px){
  .auth-entry{margin-top:14px}
  .auth-entry-card{padding:15px;border-radius:8px;box-shadow:none}
  .auth-entry-copy h1{font-size:21px}
  .auth-entry-actions{display:grid;grid-template-columns:1fr}
  .auth-entry-actions .fx-btn{justify-content:center}
  .notification-unread{width:100%}
}


/* marketplace-and-trophy-foundation-v2 */
.trophy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.trophy-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.trophy-banner{display:block;width:100%;height:92px;object-fit:cover}
.trophy-card-body{display:flex;gap:12px;padding:14px}
.trophy-icon{width:52px;height:52px;object-fit:contain;border-radius:10px;flex:0 0 auto}
.trophy-card h3{margin:2px 0 5px}
.trophy-card p{margin:5px 0}
.trophy-history{margin:0;padding-left:20px;color:var(--muted)}
.market-head{display:grid;gap:14px}
.market-head h1{margin:0}
.market-manage-link{justify-self:start;padding:8px 12px;border:1px solid var(--line);border-radius:9px;text-decoration:none}
.market-result-head,.market-detail-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.market-list{display:grid;gap:10px}
.market-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.market-card>div{padding:16px}
.market-cover{display:block;background:var(--panel2)}
.market-cover img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.market-card h3{margin:5px 0}
.market-card h3 a{text-decoration:none}
.market-price{font-size:19px;font-weight:850;color:#fff}
.market-badge{display:inline-block;margin:0 6px 7px 0;padding:3px 7px;border-radius:var(--forwext-component-badge-radius);background:var(--forwext-component-badge-background);border:var(--forwext-component-badge-border-width) solid var(--forwext-component-badge-border-color);color:var(--forwext-component-badge-text);font-size:11px;font-weight:800}
.market-tags{display:flex;gap:8px;flex-wrap:wrap}
.market-tags a{padding:4px 8px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--muted)}
.market-specs{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:7px 14px}
.market-specs dt{font-weight:750}
.market-specs dd{margin:0;color:var(--muted)}
.market-review{padding:14px 0;border-top:1px solid var(--line)}
.market-review>div{display:flex;justify-content:space-between;gap:12px}
.market-stars{color:#ffb36f}
.market-actions{display:flex;gap:8px;flex-wrap:wrap}
.market-actions form{margin:0}
.market-actions button{border:var(--forwext-component-button-border-width) solid var(--forwext-component-button-border-color);border-radius:var(--forwext-component-button-radius);background:var(--forwext-component-button-background);color:var(--forwext-component-button-text);padding:8px 11px;cursor:pointer}
.market-category-links{display:flex;gap:8px;flex-wrap:wrap}
.market-category-links a{padding:8px 11px;border:1px solid var(--line);border-radius:9px;text-decoration:none}
.market-success{border-color:#2f6f47;background:#173722}
.market-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:18px 0}
.market-media figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.market-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.market-media figure form{padding:8px}
.market-media figure button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:7px;padding:6px 9px;cursor:pointer}

/* module-card-polish */
.portfolio-media figure,
.market-media figure{
  position:relative;
  border-radius:14px;
  box-shadow:0 8px 22px rgba(0,0,0,.09);
  transition:transform var(--fx-transition),border-color var(--fx-transition),box-shadow var(--fx-transition);
}
.portfolio-media figure:hover,
.market-media figure:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
  box-shadow:0 12px 28px rgba(0,0,0,.13);
}
.portfolio-media img,
.market-media img,
.market-cover img{
  transition:transform 220ms ease,filter 220ms ease;
}
.portfolio-media figure:hover img,
.market-media figure:hover img,
.market-card:hover .market-cover img{
  transform:scale(1.018);
}
.trophy-card{
  border-radius:14px;
  background:var(--panel2);
  transition:transform var(--fx-transition),border-color var(--fx-transition),box-shadow var(--fx-transition);
}
.trophy-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--accent) 28%,var(--line));
  box-shadow:0 11px 26px rgba(0,0,0,.11);
}
.trophy-banner{
  background:color-mix(in srgb,var(--accent) 6%,var(--panel));
}
.trophy-icon{
  border:1px solid var(--line);
  background:var(--panel);
}
.market-category-links a{
  transition:background var(--fx-transition),border-color var(--fx-transition),color var(--fx-transition),transform var(--fx-transition);
}
.market-category-links a:hover{
  background:color-mix(in srgb,var(--accent) 6%,var(--panel2));
  border-color:color-mix(in srgb,var(--accent) 32%,var(--line));
  color:var(--text);
  transform:translateY(-1px);
}
.market-grid{
  gap:13px;
}
.market-card{
  border-radius:16px;
  box-shadow:0 9px 24px rgba(0,0,0,.08);
  transition:transform var(--fx-transition),border-color var(--fx-transition),box-shadow var(--fx-transition);
}
.market-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
  box-shadow:0 14px 32px rgba(0,0,0,.13);
}
.market-cover{
  overflow:hidden;
}
.market-card h3 a{
  transition:color var(--fx-transition);
}
.market-card h3 a:hover{color:var(--accent)}
.market-price{
  color:var(--text);
  letter-spacing:-.02em;
}
.market-badge{
  background:color-mix(in srgb,var(--accent) 7%,var(--forwext-component-badge-background));
}
.market-tags a{
  transition:color var(--fx-transition),border-color var(--fx-transition),background var(--fx-transition);
}
.market-tags a:hover{
  color:var(--text);
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
  background:var(--panel2);
}
.market-specs{
  padding:13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel2);
}
.market-actions button{
  min-height:38px;
  transition:border-color var(--fx-transition),background var(--fx-transition),transform var(--fx-transition);
}
.market-actions button:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--accent) 34%,var(--line));
  background:color-mix(in srgb,var(--accent) 5%,var(--forwext-component-button-background));
}
.market-review{
  border-radius:10px;
  transition:background var(--fx-transition);
}
.market-review:hover{
  background:color-mix(in srgb,var(--accent) 3%,var(--panel2));
}
.market-success{
  border-color:color-mix(in srgb,var(--accent) 45%,var(--line));
  background:color-mix(in srgb,var(--accent) 9%,var(--panel2));
}

@media(max-width:700px){
  .market-result-head{
    display:grid;
  }
  .market-specs{
    grid-template-columns:1fr;
    gap:3px;
  }
  .market-specs dd{
    margin-bottom:8px;
  }
  .market-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .market-actions form,
  .market-actions button,
  .market-actions .fx-btn{
    width:100%;
  }
  .portfolio-media,
  .market-media{
    grid-template-columns:1fr;
  }
}


/* accessible-visually-hidden-v2 */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* navigation-shell-v1 */
/* shell-ownership-v2 */
/* navigation-stacking-ownership-v2 */
/* compact-reference-density-v1 */
.top{
  position:sticky;
  top:0;
  z-index:2000;
  isolation:isolate;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:0 1px 0 var(--line);
  transition:box-shadow var(--fx-transition),border-color var(--fx-transition);
}
.top[data-scrolled="1"]{box-shadow:0 6px 18px rgba(0,0,0,.20),0 1px 0 var(--line)}
.top-main{
  position:relative;
  z-index:2;
  overflow:visible;
  background:color-mix(in srgb,var(--forwext-component-header-background) 98%,var(--panel));
  border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);
}
.topin{
  position:relative;
  z-index:2;
  overflow:visible;
  width:min(var(--fx-shell-width),calc(100% - (var(--fx-shell-gutter) * 2)));
  min-height:50px;
  margin:auto;
  display:flex;
  align-items:stretch;
  gap:6px;
  padding:0;
}
.brand{
  flex:0 0 auto;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  margin-right:10px;
  color:var(--text);
  text-decoration:none;
  font-weight:760;
  letter-spacing:-.035em;
}
.brand::before,.brand-mark{display:none}
.brand-copy{display:flex;align-items:center;line-height:1}
.brand-copy strong{font-size:20px;font-weight:760;letter-spacing:-.035em}
.nav-shell{
  min-width:0;
  flex:1;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:8px;
}
.nav-primary{
  min-width:0;
  display:flex;
  align-items:stretch;
  gap:0;
  overflow:visible;
  scrollbar-width:none;
}
.nav-primary::-webkit-scrollbar,.nav-secondary-group::-webkit-scrollbar{display:none}
.nav-primary>a,
.nav-primary-menu>summary{
  position:relative;
  min-height:50px;
  display:flex;
  align-items:center;
  padding:0 10px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--forwext-component-navigation-muted-text);
  text-decoration:none;
  white-space:nowrap;
  font-size:12.5px;
  font-weight:650;
  cursor:pointer;
  list-style:none;
  transition:color var(--fx-transition),background var(--fx-transition);
}
.nav-primary-menu>summary::-webkit-details-marker,
.nav-account-menu>summary::-webkit-details-marker,
.nav-tool-menu>summary::-webkit-details-marker,
.nav-search-menu>summary::-webkit-details-marker{display:none}
.nav-primary>a:hover,
.nav-primary>a:focus-visible,
.nav-primary-menu>summary:hover,
.nav-primary-menu[open]>summary,
.nav-primary-menu[data-active="1"]>summary,
.nav-primary>a[aria-current="page"]{
  color:var(--text);
  background:color-mix(in srgb,var(--panel2) 82%,transparent);
}
.nav-primary>a[aria-current="page"]::after,
.nav-primary-menu[data-active="1"]>summary::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:var(--accent);
}
.nav-primary-menu,.nav-account-menu,.nav-tool-menu,.nav-search-menu{position:relative}
.nav-account-menu[open]{z-index:10}
.nav-primary-menu[open],.nav-tool-menu[open],.nav-search-menu[open]{z-index:10}
.nav-primary-popover,
.nav-account-popover,
.nav-tool-popover,
.nav-search-popover{
  position:absolute;
  z-index:20;
  top:100%;
  display:grid;
  overflow:hidden;
  border:1px solid var(--line);
  border-top:2px solid var(--accent);
  border-radius:4px;
  background:var(--panel);
  box-shadow:0 14px 34px rgba(0,0,0,.34);
}
.nav-primary-popover{left:0;width:240px;padding:5px}
.nav-account-popover{right:0;width:360px}
.nav-tool-popover{right:0;width:300px}
.nav-search-popover{right:0;width:380px}
.nav-primary-popover[data-forwext-top-layer="1"],
.nav-account-popover[data-forwext-top-layer="1"],
.nav-tool-popover[data-forwext-top-layer="1"],
.nav-search-popover[data-forwext-top-layer="1"]{
  right:auto;
  margin:0;
  max-width:calc(100vw - 24px);
}
.nav-primary-popover[popover]:not(:popover-open),
.nav-account-popover[popover]:not(:popover-open),
.nav-tool-popover[popover]:not(:popover-open),
.nav-search-popover[popover]:not(:popover-open){display:none}
.nav-primary-popover[popover]:popover-open,
.nav-account-popover[popover]:popover-open,
.nav-tool-popover[popover]:popover-open,
.nav-search-popover[popover]:popover-open{display:grid}
.nav-primary-popover>a{
  min-height:34px;
  display:flex;
  align-items:center;
  padding:6px 8px;
  border-radius:3px;
  color:var(--muted);
  text-decoration:none;
  font-size:12px;
  font-weight:620;
}
.nav-primary-popover>a:hover,
.nav-primary-popover>a:focus-visible,
.nav-primary-popover>a[aria-current="page"]{
  color:var(--text);
  background:var(--panel2);
}
.nav-popover-title{
  display:grid;
  gap:2px;
  padding:11px 12px 9px;
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--forwext-component-header-background) 74%,var(--panel));
}
.nav-popover-title strong{font-size:14px;color:var(--text)}
.nav-popover-title span{color:var(--muted);font-size:10.5px;line-height:1.4}
.nav-account-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  padding:1px;
  background:var(--line);
}
.nav-account-group{
  min-width:0;
  display:grid;
  align-content:start;
  background:var(--panel);
}
.nav-account-group-title{
  display:block;
  padding:8px 10px 5px;
  color:var(--text);
  font-size:10px;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.nav-account-group-links{display:grid;padding:0 4px 5px}
.nav-account-link{
  position:relative;
  min-height:33px;
  display:flex;
  align-items:center;
  padding:5px 7px;
  color:var(--muted);
  text-decoration:none;
  font-size:11.5px;
  font-weight:620;
}
.nav-account-link:hover,
.nav-account-link:focus-visible,
.nav-account-link[aria-current="page"]{color:var(--text);background:var(--panel2)}
.nav-account-link[aria-current="page"]::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  bottom:7px;
  width:2px;
  background:var(--accent);
}
.nav-tool-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  padding:7px;
  background:var(--line);
}
.nav-tool-actions>a{
  min-width:0;
  min-height:54px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:7px 9px;
  background:var(--panel);
  color:var(--text);
  text-decoration:none;
}
.nav-tool-actions>a:hover,
.nav-tool-actions>a:focus-visible,
.nav-tool-actions>a[aria-current="page"]{background:var(--panel2)}
.nav-tool-actions strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11.5px;
}
.nav-tool-actions span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:10px;
}
.nav-preview-list{
  display:grid;
  border-top:1px solid var(--line);
  background:var(--panel);
}
.nav-preview-list[hidden]{display:none!important}
.nav-preview-row{
  min-width:0;
  min-height:52px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:7px 10px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  color:var(--text);
  text-decoration:none;
}
.nav-preview-row:last-child{border-bottom:0}
.nav-preview-row:hover,
.nav-preview-row:focus-visible{background:var(--panel2)}
.nav-preview-row.is-unread{background:color-mix(in srgb,var(--accent) 7%,var(--panel))}
.nav-preview-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.nav-preview-copy strong,
.nav-preview-text{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nav-preview-copy strong{font-size:11.5px}
.nav-preview-text{color:var(--muted);font-size:10px}
.nav-preview-meta{
  display:grid;
  justify-items:end;
  gap:4px;
  color:var(--muted);
  font-size:9.5px;
}
.nav-preview-badge{
  min-width:18px;
  min-height:17px;
  display:inline-grid;
  place-items:center;
  padding:1px 5px;
  border-radius:999px;
  background:var(--accent);
  color:var(--forwext-component-button-contrast-text);
  font-size:9px;
  font-weight:800;
}
.nav-preview-status{
  min-height:44px;
  display:flex;
  align-items:center;
  padding:8px 10px;
  color:var(--muted);
  font-size:10.5px;
}
.nav-popover-footer{
  padding:5px 8px;
  border-top:1px solid var(--line);
  background:color-mix(in srgb,var(--panel2) 72%,var(--panel));
}
.nav-popover-footer>a,
.nav-popover-cta{
  min-height:34px;
  display:flex;
  align-items:center;
  padding:6px 8px;
  color:var(--accent);
  text-decoration:none;
  font-size:11.5px;
  font-weight:700;
}
.nav-popover-footer>a:hover,.nav-popover-cta:hover{text-decoration:underline}
.nav-tool-popover .nav-popover-cta,
.nav-search-popover .nav-popover-cta{border-top:1px solid var(--line)}
.nav-search-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  padding:10px 12px;
}
.nav-search-form label{display:block}
.nav-search-form input{
  width:100%;
  min-height:38px;
  border:1px solid var(--line);
  border-radius:3px;
  background:var(--panel2);
  color:var(--text);
  padding:7px 9px;
}
.nav-search-form button{
  min-height:38px;
  border:1px solid color-mix(in srgb,var(--accent) 56%,var(--line));
  border-radius:3px;
  background:color-mix(in srgb,var(--accent) 78%,var(--panel2));
  color:var(--forwext-component-button-contrast-text);
  padding:7px 13px;
  cursor:pointer;
}
.nav-primary-menu>summary span,.nav-chevron{margin-left:4px;color:var(--muted);font-size:10px}
.nav-user-tools{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  min-width:max-content;
  display:flex;
  align-items:stretch;
  gap:0;
  margin-left:auto;
  border-left:1px solid color-mix(in srgb,var(--line) 76%,transparent);
}
.nav-account-menu{height:50px}
.nav-account-menu>summary{
  min-height:50px;
  height:50px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 9px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--forwext-component-navigation-muted-text);
  cursor:pointer;
  list-style:none;
  user-select:none;
  transition:color var(--fx-transition),background var(--fx-transition);
}
.nav-account-menu>summary:hover,
.nav-account-menu[open]>summary,
.nav-account-menu[data-active="1"]>summary,
.nav-tool-menu[open]>.nav-icon-link,
.nav-search-menu[open]>.nav-icon-link{
  color:var(--text);
  background:var(--panel2);
}
.nav-user-avatar{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 82%,var(--panel2));
  color:var(--forwext-component-button-contrast-text);
}
.nav-user-avatar svg{width:13px;height:13px;fill:currentColor}
.nav-account-label{font-size:12px;font-weight:650}
.nav-icon-link{
  position:relative;
  min-width:38px;
  height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 9px;
  border:0;
  border-radius:0;
  color:var(--forwext-component-navigation-muted-text);
  background:transparent;
  text-decoration:none;
  cursor:pointer;
  list-style:none;
  transition:color var(--fx-transition),background var(--fx-transition);
}
.nav-icon-link:hover,
.nav-icon-link:focus-visible,
.nav-icon-link[aria-current="page"]{color:var(--text);background:var(--panel2)}
.nav-icon-link svg{width:17px;height:17px;fill:currentColor}
.nav-tool-label{font-size:12px;font-weight:650}
.nav-icon-link .nav-notification-badge{
  position:absolute;
  top:5px;
  right:3px;
  min-width:17px;
  height:17px;
  display:inline-grid;
  place-items:center;
  padding:0 4px;
  border-radius:999px;
  background:var(--accent);
  color:var(--forwext-component-button-contrast-text);
  font-size:9px;
  font-weight:900;
  line-height:1;
  box-shadow:0 0 0 2px var(--forwext-component-header-background);
}
.nav-auth-link{
  min-height:50px;
  display:flex;
  align-items:center;
  padding:0 10px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--forwext-component-navigation-muted-text);
  text-decoration:none;
  font-size:12px;
  font-weight:650;
}
.nav-auth-link:hover,.nav-auth-link:focus-visible{color:var(--text);background:var(--panel2)}
.nav-auth-link--primary{color:var(--text);border-left:1px solid color-mix(in srgb,var(--line) 76%,transparent)}
.top-sub{
  position:relative;
  z-index:1;
  min-height:31px;
  background:color-mix(in srgb,var(--panel2) 94%,var(--forwext-component-header-background));
  border-bottom:1px solid var(--line);
}
.top-sub[hidden]{display:none!important}
.top-subin{
  width:min(var(--fx-shell-width),calc(100% - (var(--fx-shell-gutter) * 2)));
  min-height:30px;
  margin:auto;
  display:flex;
  align-items:center;
}
.nav-secondary{width:100%;min-width:0;display:block}
.nav-secondary-group{
  min-width:0;
  display:flex;
  align-items:center;
  gap:0;
  overflow-x:auto;
  scrollbar-width:none;
}
.nav-secondary-group[hidden]{display:none!important}
.nav-secondary-group>a{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:0 8px;
  color:var(--muted);
  text-decoration:none;
  white-space:nowrap;
  font-size:10.5px;
  font-weight:620;
}
.nav-secondary-group>a:hover,
.nav-secondary-group>a:focus-visible,
.nav-secondary-group>a[aria-current="page"]{color:var(--accent);background:color-mix(in srgb,var(--panel) 58%,transparent)}
.nav-toggle{display:none}
body.forwext-nav-open{overflow:hidden}
@media(max-width:920px){
  body.forwext-nav-open #main-content,
  body.forwext-nav-open .site-footer,
  body.forwext-nav-open .top-sub{
    pointer-events:none;
    user-select:none;
  }
}

@media(max-width:1100px){
  .nav-primary>a,.nav-primary-menu>summary{padding-inline:7px;font-size:11.5px}
  .nav-account-label,.nav-chevron{display:none}
  .nav-tool-label{display:none}
}
@media(max-width:920px){
  .topin{min-height:50px;align-items:center;position:relative}
  .brand{min-height:50px;margin-right:auto}
  .brand-copy strong{font-size:19px}
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:38px;
    margin:0;
    padding:7px 10px;
    border:1px solid var(--line);
    border-radius:4px;
    background:var(--panel2);
    color:var(--text);
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
  }
  .nav-shell{
    position:fixed;
    z-index:2600;
    left:var(--fx-shell-gutter);
    right:var(--fx-shell-gutter);
    top:54px;
    max-height:min(calc(100dvh - 66px),720px);
    display:grid;
    gap:7px;
    padding:7px;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    border:1px solid var(--line);
    border-radius:5px;
    background:var(--panel);
    opacity:0;
    transform:translateY(-4px);
    pointer-events:none;
    box-shadow:0 16px 38px rgba(0,0,0,.32);
    transition:opacity var(--fx-transition),transform var(--fx-transition);
  }
  .nav-shell[data-mobile-open="1"]{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
    transition:opacity var(--fx-transition),transform var(--fx-transition);
  }
  .nav-primary{display:grid;overflow:visible}
  .nav-primary>a,.nav-primary-menu>summary{min-height:42px;padding:8px 10px;border-radius:3px}
  .nav-primary>a[aria-current="page"]::after,.nav-primary-menu[data-active="1"]>summary::after{display:none}
  .nav-primary-menu,.nav-account-menu,.nav-tool-menu,.nav-search-menu{height:auto;position:static}
  .nav-primary-popover,.nav-account-popover,.nav-tool-popover,.nav-search-popover{
    position:static;
    width:auto;
    margin:3px 0 0;
    border-top-width:1px;
    box-shadow:none;
  }
  .nav-account-grid{grid-template-columns:1fr}
  .nav-account-link{min-height:44px;padding-block:8px}
  .nav-user-tools{
    display:grid;
    margin-left:0;
    padding-top:6px;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .nav-user-tools--member{grid-template-columns:minmax(150px,1fr) 44px 44px minmax(88px,auto)}
  .nav-user-tools--guest{grid-template-columns:minmax(100px,1fr) minmax(100px,1fr) minmax(88px,auto)}
  .nav-account-menu>summary{
    min-height:42px;
    height:42px;
    justify-content:flex-start;
    border-radius:3px;
    background:var(--panel2);
  }
  .nav-account-label{display:inline}
  .nav-icon-link{min-width:44px;height:42px;border-radius:3px;background:var(--panel2)}
  .nav-tool-label{display:inline}
  .nav-auth-link{min-height:42px;justify-content:center;border-radius:3px;background:var(--panel2)}
  .nav-auth-link--primary{border:0;background:color-mix(in srgb,var(--accent) 10%,var(--panel2))}
  .nav-account-popover,.nav-tool-popover,.nav-search-popover{grid-column:1/-1}
  .top-subin{width:100%;padding:0 10px}
  .nav-secondary-group{
    width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible
  }
  .nav-secondary-group>a{
    min-width:0;min-height:40px;padding:6px 8px;justify-content:center;
    white-space:normal;text-align:center
  }
}
@media(max-width:520px){
  .brand-copy strong{font-size:18px}
  .nav-user-tools--member{grid-template-columns:minmax(0,1fr) 42px 42px 42px}
  .nav-user-tools--guest{grid-template-columns:1fr 1fr 42px}
  .nav-tool-label{display:none}
  .nav-secondary-group{grid-template-columns:repeat(2,minmax(0,1fr))}
}



/* member-directory-community-actions-v1 */
.member-directory-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
.member-staff-card{
  border-color:color-mix(in srgb,var(--accent) 24%,var(--line));
}
.member-staff-card .member-directory-copy small{
  color:color-mix(in srgb,var(--accent) 72%,var(--muted));
}
@media(max-width:520px){
  .member-directory-head-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }
  .member-directory-head-actions .fx-btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}


/* account-preferences-hub-v1 */
.account-preferences-page{display:grid;gap:14px}
.account-preferences-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.account-preference-card{
  min-width:0;
  display:grid;
  gap:11px;
}
.account-preference-card>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:9px;
  border-bottom:1px solid var(--line);
}
.account-preference-card>header h2{margin:0;font-size:14px}
.account-preference-card>header p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.5;
}
.account-preference-summary{display:grid}
.account-preference-summary-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:35px;
  padding:7px 0;
  border-bottom:1px solid var(--line);
  font-size:10.5px;
}
.account-preference-summary-row:last-child{border-bottom:0}
.account-preference-summary-row span{color:var(--muted)}
.account-preference-summary-row strong{text-align:right;font-size:10.5px}
.account-presence-preference-form{display:grid;gap:10px}
.account-presence-preference-form label{display:grid;gap:5px}
.account-presence-preference-form label>span{
  color:var(--text);
  font-size:11px;
  font-weight:780;
}
.account-presence-preference-form label>small{
  color:var(--muted);
  font-size:9.5px;
  line-height:1.45;
}
.account-presence-preference-form select{
  width:100%;
  min-height:40px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
  color:var(--text);
  font:inherit;
}
.account-presence-preference-form select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent);
  outline:none;
}
.account-presence-preference-form .fx-btn{justify-self:start}
.account-preference-links{display:grid;gap:6px}
.account-preference-links>a{
  min-width:0;
  display:grid;
  gap:2px;
  min-height:42px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel2);
  color:var(--text);
  text-decoration:none;
}
.account-preference-links>a:hover,
.account-preference-links>a:focus-visible{
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
  background:color-mix(in srgb,var(--accent) 4%,var(--panel2));
}
.account-preference-links strong{font-size:11px}
.account-preference-links span{color:var(--muted);font-size:9.5px}
.account-preferences-notice{
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));
  border-radius:8px;
  background:color-mix(in srgb,var(--accent) 5%,var(--panel));
  box-shadow:inset 3px 0 0 var(--accent);
  font-size:11px;
}
@media(max-width:820px){
  .account-preferences-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .account-preferences-head{display:grid;align-items:start}
  .account-preferences-head>.fx-btn{justify-self:start}
  .account-preference-card>header{display:grid}
  .account-preference-card>header>.fx-btn{justify-self:start;min-height:44px}
  .account-presence-preference-form .fx-btn{width:100%;min-height:44px;justify-content:center}
}


/* mobile-secondary-navigation-wrap-v1 */
@media(max-width:700px){
  .top-subin{align-items:stretch}
  .nav-secondary-group{
    max-width:100%;
    flex-wrap:wrap;
    overflow-x:visible;
  }
  .nav-secondary-group>a{
    min-width:0;
    flex:1 1 auto;
    justify-content:center;
    padding-inline:6px;
    white-space:normal;
    text-align:center;
  }
}


/* visual-shell-rebuild-v3: real two-tier community navigation
 * Layout is owned here, rather than patched per individual page. */
@media(min-width:921px){
  .top{box-shadow:0 2px 12px rgba(0,0,0,.22)}
  .top-main{
    background:linear-gradient(to bottom,
      color-mix(in srgb,var(--forwext-component-header-background) 87%,#070e18) 0 49px,
      color-mix(in srgb,var(--forwext-component-header-background) 72%,#123751) 49px 100%);
    border-bottom:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));
  }
  .topin{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:49px minmax(43px,auto);
    min-height:92px;
    gap:0;
  }
  .brand{grid-row:1;min-height:49px;max-width:max-content;gap:9px;margin:0;align-self:center}
  .brand::before{
    content:"";
    display:block;
    width:24px;height:24px;
    border-radius:6px;
    background:
      linear-gradient(135deg,transparent 42%,color-mix(in srgb,var(--accent) 45%,white) 43% 57%,transparent 58%),
      linear-gradient(135deg,color-mix(in srgb,var(--accent) 65%,#163856),#13263c);
    border:1px solid color-mix(in srgb,var(--accent) 40%,#345269);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  }
  .brand-copy strong{font-size:21px;letter-spacing:-.045em}
  .nav-shell{grid-row:2;min-height:43px;gap:12px;align-items:stretch}
  .nav-primary>a,.nav-primary-menu>summary{min-height:43px;padding-inline:12px;font-size:12px}
  .nav-primary>a[aria-current="page"],.nav-primary-menu[data-active="1"]>summary{
    background:color-mix(in srgb,var(--accent) 10%,transparent);
    color:var(--text);
  }
  .nav-primary>a[aria-current="page"]::after,.nav-primary-menu[data-active="1"]>summary::after{
    height:3px;border-radius:3px 3px 0 0;
  }
  .nav-user-tools{min-height:43px}
}
.top-sub{
  background:color-mix(in srgb,var(--forwext-component-header-background) 80%,#0d273a);
  border-bottom:1px solid var(--line);
}
.site-footer{
  border-top:2px solid color-mix(in srgb,var(--accent) 16%,var(--line));
  background:linear-gradient(180deg,var(--forwext-component-footer-background),color-mix(in srgb,var(--forwext-component-footer-background) 87%,#050d16));
}
.site-footer .core-brand-footer{gap:14px}
:where(.nav-primary>a,.nav-primary-menu>summary,.nav-secondary-group>a):focus-visible{
  outline-offset:-3px;
}
@media(max-width:920px){
  .top-main{background:color-mix(in srgb,var(--forwext-component-header-background) 86%,#0e2537)}
  .brand::before{display:none}
}


/* visual-community-reference-v4: utility / brand / section nav tiers. */
.community-utility{
  min-height:22px;background:#080d13;border-bottom:1px solid #172c3d;
  color:#81a8c3;font-size:10px;
}
.community-utility-inner{
  max-width:1180px;width:calc(100% - 2 * var(--fx-shell-gutter));
  min-height:22px;display:flex;align-items:center;justify-content:space-between;
  gap:20px;margin:auto;
}
.community-utility a{color:#9fb8c9;text-decoration:none}
.community-utility nav{display:flex;align-items:center;gap:15px}
.community-utility :where(a:hover,a:focus-visible){color:#fff}
@media(min-width:921px){
  .top-main{background:linear-gradient(to bottom,#0b2a40 0 48%,#092238 48% 100%)}
  .topin{grid-template-rows:40px minmax(37px,auto);min-height:77px}
  .brand{min-height:40px}
  .brand::before{width:20px;height:20px;border-radius:3px}
  .brand-copy strong{font-size:20px;font-weight:600;letter-spacing:-.04em}
  .nav-shell,.nav-user-tools{min-height:37px}
  .nav-primary>a,.nav-primary-menu>summary{min-height:37px;font-size:11.5px;padding-inline:11px}
  .top-sub{background:#0a1d2c}
  .top-subin{min-height:27px}
  .nav-secondary-group>a{min-height:27px}
}
@media(max-width:920px){
  .community-utility{display:none}
}

/* Member hover card should stay above forum rows and remain usable on touch. */
.member-hovercard-layer{pointer-events:auto;overscroll-behavior:contain;}
.member-hovercard-layer:focus{outline:none;}
@media (prefers-reduced-motion:reduce){.member-hovercard-action{transition:none;}}

/* XenForo-style member card: profile identity sits over the cover; stats and
   actions stay in a clean, readable panel below it. */
.member-hovercard-cover{height:auto;min-height:218px;position:relative;isolation:isolate;overflow:hidden}
.member-hovercard-cover::after{z-index:0;background:linear-gradient(180deg,rgba(5,12,8,.18) 0%,rgba(5,12,8,.46) 54%,rgba(5,12,8,.94) 100%)}
.member-hovercard-cover-image,.member-hovercard-cover-pattern{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.member-hovercard-cover-pattern{background:radial-gradient(circle at 84% 17%,rgba(79,179,117,.29) 0 11%,transparent 11.5%),radial-gradient(circle at 86% 7%,transparent 0 27%,rgba(255,255,255,.07) 27.5% 35%,transparent 35.5%),linear-gradient(120deg,#10251a,#1e4531 68%,#173324)}
.member-hovercard-cover-content{position:relative;z-index:1;min-height:218px;padding:14px 15px 13px}
.member-hovercard-identity{min-height:112px;margin:0;align-items:flex-start;gap:14px}
.member-hovercard-avatar{width:112px;height:112px;flex-basis:112px;border:0;border-radius:10px;background:#202729;box-shadow:0 8px 22px rgba(0,0,0,.4)}
.member-hovercard-avatar-image,.member-hovercard-avatar-fallback{border-radius:10px}
.member-hovercard-heading{min-width:0;flex:1;padding:3px 34px 0 0}
.member-hovercard-name{padding:0;gap:3px}
.member-hovercard-name strong{color:#fff;font-size:21px;text-shadow:0 2px 8px rgba(0,0,0,.65)}
.member-hovercard-name>span{color:rgba(241,247,243,.78)}
.member-hovercard-badges{margin-top:7px;gap:5px}
.member-hovercard-badge{min-height:22px;padding:3px 8px;border-color:rgba(255,255,255,.18);background:rgba(9,17,13,.62);color:#f3f7f4;backdrop-filter:blur(5px)}
.member-hovercard-badge--staff{border-color:rgba(238,203,119,.6);background:rgba(87,62,13,.62);color:#ffe6a3}
.member-hovercard-badge--online{border-color:rgba(100,226,151,.58);background:rgba(10,76,41,.65);color:#a8f3c2}
.member-hovercard-badge--role{border-color:color-mix(in srgb,var(--member-hovercard-role-color,#4d8c65) 66%,white);background:color-mix(in srgb,var(--member-hovercard-role-color,#4d8c65) 44%,rgba(9,17,13,.62));color:#fff}
.member-hovercard-close{position:absolute;top:0;right:0;margin:0;border-color:rgba(255,255,255,.24);background:rgba(7,15,11,.62);color:#fff}
.member-hovercard-details{margin:8px 0 0 126px;gap:5px;color:#eef4ef;font-size:11px;line-height:1.45;text-shadow:0 1px 4px rgba(0,0,0,.75)}
.member-hovercard-details>span{flex-wrap:wrap}
.member-hovercard-about,.member-hovercard-signature{color:#f5f8f6}
/* The public theme mutes generic paragraphs with a more specific selector.
   Reassert readable contrast for profile text on the dark cover card. */
body:not([data-forwext-surface="admin"]) .member-hovercard-details :is(.member-hovercard-about,.member-hovercard-signature){color:#f5f8f6}
.member-hovercard-interests{color:#d8e5dc}
.member-hovercard-main{padding:0 15px 14px}
.member-hovercard-achievements{margin-top:9px}
.member-hovercard-stats{margin:0 -15px;padding:0 5px;border-block-color:rgba(227,239,231,.16);background:#101416}
.member-hovercard-stats>div{padding:10px 5px}
.member-hovercard-stats>div+div{border-inline-start-color:rgba(227,239,231,.16)}
.member-hovercard-stats strong{font-size:16px}
.member-hovercard-stats span{color:#aebbb3}
@media(max-width:520px){.member-hovercard-cover{min-height:0}.member-hovercard-cover-content{min-height:0;padding:12px}.member-hovercard-identity{min-height:86px;gap:10px}.member-hovercard-avatar{width:84px;height:84px;flex-basis:84px}.member-hovercard-heading{padding:2px 30px 0 0}.member-hovercard-name strong{font-size:18px}.member-hovercard-details{margin:9px 0 0 94px}.member-hovercard-main{padding-inline:12px}.member-hovercard-stats{margin:0 -12px;padding:0 3px}.member-hovercard-stats>div{padding:9px 3px}.member-hovercard-stats strong{font-size:14px}.member-hovercard-stats span{font-size:9px}}

