﻿@import url("./css/views/settings.css");
@import url("./css/views/map.css");
@import url("./css/views/dashboard.css");
@import url("./css/views/economy.css");
@import url("./css/views/academy.css");
@import url("./css/views/analytics.css");
@import url("./css/views/alchemy.css");
@import url("./css/views/stats.css");
@import url("./css/views/premium.css");
@import url("./css/views/skill-builder.css");

:root {
  --bg:#0a0908;
  --bg-deep:#050404;
  --panel:#15110d;
  --panel-2:#1c1711;
  --panel-3:#241d15;
  --text:#efe6d0;
  --muted:#b7a88f;
  --gold:#d8b77a;
  --gold-bright:#f4d69a;
  --gold-dark:#7f5c2e;
  --line:rgba(217,183,122,.30);
  --line-soft:rgba(255,236,196,.09);
  --red:#cf5a4a;
  --blue:#4eb3ff;
  --green:#7ad270;
  --color-premium:#ffe100;
  --shadow:0 10px 22px rgba(0,0,0,.42);
  --shadow-sm:0 6px 14px rgba(0,0,0,.18);
  --shadow-md:0 10px 22px rgba(0,0,0,.42);
  --shadow-lg:0 18px 34px rgba(0,0,0,.30);
  --shadow-focus:0 0 0 2px rgba(217,183,122,.08);
  --radius-lg:12px;
  --radius-md:9px;
  --radius-sm:7px;
  --radius-xs:5px;
  --radius-xl:15px;
  --radius-pill:999px;
  --font-body:'Segoe UI', Tahoma, Arial, sans-serif;
  --font-display:Georgia, 'Times New Roman', serif;
  --font-ui:var(--font-body);
  --text-main:var(--text);
  --text-muted:var(--muted);
  --panel-grad:linear-gradient(180deg,rgba(32,26,20,.94),rgba(18,14,10,.97));
  --panel-grad-soft:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
  --field-grad:linear-gradient(180deg,rgba(11,10,8,.92),rgba(21,17,12,.92));
  --button-grad:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
  --button-grad-hover:linear-gradient(180deg,rgba(217,183,122,.20),rgba(121,82,30,.14));
  --button-grad-accent:linear-gradient(180deg,rgba(217,183,122,.16),rgba(110,76,30,.12));
  --border-soft:1px solid rgba(255,236,196,.09);
  --border-panel:1px solid rgba(217,183,122,.22);
  --border-focus-color:rgba(217,183,122,.42);
  --transition-fast:.12s ease;
  --transition-base:.15s ease;
  --transition-slow:.22s ease;
  --anim-shimmer:1.25s linear infinite;
  --anim-pulse:1.7s ease-in-out infinite;
  --anim-blink:.48s steps(1,end) infinite;
  --app-font-size:14px;
  --primary-contrast-text: #d5d5d5;
}
*{box-sizing:border-box}
.hidden{display:none!important}
.is-premium-feature{
  position:relative;
  overflow:visible;
  border:2px solid var(--color-premium)!important;
}
.text-danger {
  color: var(--red) !important;
}
.is-premium-feature::after{
  content:'★';
  position:absolute;
  top:-7px;
  left:-7px;
  display:grid;
  place-items:center;
  min-width:10px;
  min-height:10px;
  padding:1px;
  border:1px solid var(--color-premium);
  border-radius:999px;
  background:rgba(10,9,8,.96);
  color:var(--color-premium);
  font-size:9px;
  line-height:1;
  pointer-events:none;
  box-shadow:0 0 0 1px rgba(0,0,0,.4);
}
body .menu-item.is-premium-feature,
body .menu-item.is-premium-feature:hover,
body .menu-item.is-premium-feature.active{
  border-color:var(--color-premium)!important;
  box-shadow:0 0 0 1px rgba(255,225,0,.38), inset 0 1px 0 rgba(255,232,192,.28)!important;
  background: rgba(255,225,0,.38) !important;
}
html,body{margin:0;padding:0;min-height:100%;color:var(--text-main);font-family:var(--font-body);font-size:var(--app-font-size);background:
        linear-gradient(rgba(6,5,4,.78), rgba(6,5,4,.86)),
        url('./assets/theme/phMonitor-bg.webp') center top / cover fixed no-repeat,
        radial-gradient(circle at top,#2f2417 0%,var(--bg) 48%,var(--bg-deep) 100%)}
.skeleton{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:var(--radius-sm);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(255,236,196,.06);
}
.shimmer::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-120%);
  background:linear-gradient(100deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.12) 45%,rgba(255,255,255,.04) 60%,rgba(255,255,255,0) 80%);
  animation:surfaceShimmer var(--anim-shimmer);
}
@keyframes surfaceShimmer{
  0%{transform:translateX(-120%)}
  100%{transform:translateX(120%)}
}
.skeleton-stack{display:grid;gap:8px}
.skeleton-line{height:12px}
.skeleton-line-compact{height:10px}
.skeleton-avatar{width:40px;height:40px;border-radius:999px;flex:0 0 40px}
.skeleton-card{
  padding:14px;
  min-height:108px;
  display:grid;
  align-content:start;
  gap:10px;
}
.skeleton-grid{display:grid;gap:12px}
.skeleton-grid-4{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.skeleton-grid-1{grid-template-columns:minmax(0,1fr)}
.skeleton-list{display:grid;gap:10px}
.skeleton-row{
  padding:12px 14px;
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:72px;
}
.skeleton-row-copy{flex:1;min-width:0}
.table-skeleton-row td{padding:14px 12px}
.dashboard-skeleton-block{display:grid;gap:14px}
.guild-tabs-skeleton{display:grid;gap:8px}
*{
  scrollbar-width:thin;
  scrollbar-color:rgba(216,183,122,.52) rgba(10,9,8,.34);
}
*::-webkit-scrollbar{
  width:11px;
  height:11px;
}
*::-webkit-scrollbar-track{
  background:linear-gradient(180deg, rgba(12,10,8,.92), rgba(21,17,12,.94));
  border-radius:999px;
  border:1px solid rgba(255,236,196,.05);
}
*::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(244,214,154,.78), rgba(127,92,46,.92));
  border-radius:999px;
  border:2px solid rgba(12,10,8,.86);
  box-shadow:inset 0 1px 0 rgba(255,240,206,.20);
}
*::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, rgba(250,225,170,.88), rgba(149,106,52,.96));
}
*::-webkit-scrollbar-corner{
  background:rgba(10,9,8,.34);
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,216,154,.05),transparent 18%),radial-gradient(circle at 20% 0%,rgba(255,214,147,.06),transparent 28%) }
button,input,select{font:inherit;color:var(--text-main)}
input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1) sepia(.2) saturate(.4) brightness(1.8);opacity:.95;cursor:pointer}
input[type="date"]{color-scheme:dark}
.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh;backdrop-filter:blur(1px)}
.sidebar{padding:10px;border-right:1px solid rgba(217,183,122,.18);background:linear-gradient(180deg,rgba(17,13,10,.96),rgba(8,7,6,.97));display:flex;flex-direction:column;gap:10px}
.content{padding:10px 12px 18px;display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:flex-start}
.topbar{padding:2px 2px 6px}
.topbar h1{margin:0;font-size:1.7rem;letter-spacing:.03em;font-family:var(--font-display);color:#f3d39a;text-shadow:0 1px 0 #3b2811,0 0 14px rgba(211,152,60,.15)}
.topbar p{margin:4px 0 0;color:#c8b79b;font-size:.92rem}
.brand{display:flex;align-items:center;gap:10px;padding:10px}
.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:linear-gradient(180deg,#7a1111,#b9221d);clip-path:polygon(50% 0,100% 18%,92% 100%,8% 100%,0 18%);color:#fff;font-weight:800;font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.brand-title{font-size:1.05rem;font-weight:700;color:#f7deb1;font-family:var(--font-display)}
.brand-subtitle{font-size:.8rem;color:var(--muted);margin-top:2px}
.ornate-frame{position:relative;background:var(--panel-grad);border:var(--border-panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.ornate-frame::before{content:"";position:absolute;inset:1px;border-radius:calc(var(--radius-lg) - 1px);pointer-events:none;border:1px solid rgba(255,229,175,.05)}
.ornate-frame::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,rgba(255,223,158,.035),transparent 26%,transparent 70%,rgba(255,213,141,.025))}
.ornate-frame.thin{border-radius:var(--radius-md)}
.ornate-frame.thin::before{border-radius:calc(var(--radius-md) - 1px)}
.menu{display:grid;gap:7px}
.menu-item{display:flex;align-items:center;gap:9px;text-align:left;padding:9px 11px;border:1px solid rgba(255,236,196,.07);background:var(--button-grad);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-base)}
.menu-label-group{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.menu-meta-note{font-size:.71rem;color:#c2c2c2;font-style:italic;line-height:1.05}
.menu-item:hover,.menu-item.active{background:var(--button-grad-hover);border-color:rgba(217,183,122,.32);box-shadow:inset 0 1px 0 rgba(255,232,192,.08)}
.menu-item.has-recent-activity{
  border-color:rgba(122,210,112,.44);
  background:linear-gradient(180deg,rgba(122,210,112,.16),rgba(76,132,54,.10));
  box-shadow:inset 0 1px 0 rgba(210,255,206,.08),0 0 0 1px rgba(122,210,112,.08),0 0 16px rgba(122,210,112,.18);
}
.menu-item.has-recent-activity .menu-label{
  color:#d8f0bf;
}
.menu-item.has-recent-activity .menu-icon{
  position:relative;
}
.menu-item.has-recent-activity .menu-icon::after{
  content:"";
  position:absolute;
  top:-3px;
  right:-3px;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#7ad270;
  box-shadow:0 0 0 2px rgba(12,10,8,.88),0 0 12px rgba(122,210,112,.62);
  animation:alchemyMenuPulse var(--anim-pulse);
}
@keyframes alchemyMenuPulse{
  0%{transform:scale(.78);opacity:.18;box-shadow:0 0 0 2px rgba(12,10,8,.88),0 0 4px rgba(122,210,112,.16)}
  35%{transform:scale(1.08);opacity:1;box-shadow:0 0 0 2px rgba(12,10,8,.88),0 0 14px rgba(122,210,112,.72)}
  70%{transform:scale(1.18);opacity:.42;box-shadow:0 0 0 2px rgba(12,10,8,.88),0 0 10px rgba(122,210,112,.36)}
  100%{transform:scale(.82);opacity:.14;box-shadow:0 0 0 2px rgba(12,10,8,.88),0 0 3px rgba(122,210,112,.12)}
}
.menu-item.has-death-alert{
  border-color:rgba(207,90,74,.42);
  box-shadow:inset 0 1px 0 rgba(255,219,214,.06),0 0 0 1px rgba(207,90,74,.08);
}
.menu-item.has-death-alert .menu-icon{
  position:relative;
}
.menu-item.has-death-alert .menu-icon::after{
  content:"";
  position:absolute;
  top:-3px;
  right:-3px;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#cf5a4a;
  box-shadow:0 0 0 2px rgba(12,10,8,.92),0 0 10px rgba(207,90,74,.45);
  animation:statsDeathBlink var(--anim-blink);
}
@keyframes statsDeathBlink{
  0%,49%{opacity:1;transform:scale(1)}
  50%,100%{opacity:0;transform:scale(.92)}
}
.menu-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:grid;
  place-items:center;
  opacity:.98;
}
.menu-icon img{
  width:18px;
  height:18px;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.26));
}
.sidebar-footer{margin-top:auto;padding:10px 11px}
.language-picker{display:grid;gap:6px;margin-bottom:12px}
.language-picker label{color:var(--muted);font-size:.76rem;letter-spacing:.04em}
.language-picker select{width:100%;padding:8px 10px;background:var(--field-grad);border:var(--border-soft);border-radius:var(--radius-md);outline:none}
.language-picker select:focus{border-color:var(--border-focus-color);box-shadow:var(--shadow-focus)}
.pill-row{display:flex;align-items:center;gap:8px}
.status-dot{width:10px;height:10px;border-radius:50%;background:#80786f;box-shadow:0 0 0 3px rgba(255,255,255,.03)}
.status-dot.live{background:#49d96c;box-shadow:0 0 10px rgba(73,217,108,.6)}
.sidebar-share{display:grid;gap:3px;margin-top:auto;margin-bottom:15px;padding:0 2px}
.menu-server-filter{display:grid;gap:6px;margin:0 2px 8px}
.menu-server-filter-label{color:#d7c6a7;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}
.menu-server-filter .custom-select-trigger,
.menu-server-filter select{width:100%}
.sidebar-share-label{color:#d7c6a7;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;text-align:center}
.sidebar-share img{display:block;width:132px;height:132px;object-fit:contain;background:#fff;border-radius:8px;padding:7px;justify-self:center;box-shadow:0 8px 20px rgba(0,0,0,.24)}
.sidebar-share-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.sidebar-share-url-row input{width:100%;padding:8px 10px;background:rgba(8,7,6,.56);border:1px solid rgba(255,236,196,.07);border-radius:6px;outline:none;color:var(--text)}
.sidebar-share-url-row input:focus{border-color:rgba(217,183,122,.42);box-shadow:0 0 0 2px rgba(217,183,122,.08)}
.sidebar-share-url-row .action-btn{padding-inline:12px;white-space:nowrap;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));border-color:rgba(255,236,196,.08)}
.sidebar-share-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.sidebar-share-mode-row .action-btn{padding-inline:10px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));border-color:rgba(255,236,196,.08)}
.sidebar-share-mode-row .action-btn.is-active{background:linear-gradient(180deg,rgba(217,183,122,.20),rgba(127,92,46,.14));border-color:rgba(217,183,122,.30);color:#f6deb1}
.sidebar-share-note{color:rgba(215,198,167,.72);font-size:.68rem;line-height:1.25;text-align:center}
.sidebar-footer{margin-top:0;padding:10px 11px}
.small-meta,.muted{color:var(--text-muted);font-size:.8rem}
.view{display:none;}.view.active{display:block}
.settings-shell{padding:18px}
.app-update-banner.hidden{display:none}
.app-update-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,208,120,.28);background:linear-gradient(180deg, rgba(117,82,20,.24), rgba(52,35,8,.18));box-shadow:0 14px 28px rgba(0,0,0,.18);backdrop-filter:blur(18px) saturate(118%);-webkit-backdrop-filter:blur(18px) saturate(118%)}
.app-update-banner-copy{min-width:0;display:grid;gap:6px;color:var(--text-main)}
.app-update-banner-copy a{color:#ffd9a0;font-weight:700;text-decoration:none}
.app-update-banner-copy a:hover{text-decoration:underline}
.app-update-banner-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.app-update-skip-btn{border:1px solid rgba(180,56,56,.68)!important;background:linear-gradient(180deg, rgba(120,20,20,.38), rgba(68,12,12,.24))!important;color:#ffd7d7!important}
.app-update-dialog{max-width:min(560px,92vw)}
.app-update-modal-body{display:grid;gap:12px}
.app-update-additions{display:grid;gap:10px}
.app-update-release-group{display:grid;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.03)}
.app-update-release-group h3{margin:0;color:var(--primary)}
.app-update-additions ul{margin:0;padding-left:18px;display:grid;gap:8px;color:#dfe8f6}
.app-update-additions li{line-height:1.45}
.settings-page{display:grid;gap:16px}
.settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.settings-head h2{margin:0;font-size:1.45rem;font-family:var(--font-display);color:#f3d39a}
.settings-head p{margin:6px 0 0;color:var(--text-muted);max-width:820px;line-height:1.55}
.settings-update-notice{padding:12px 14px;border-radius:10px;border:1px solid var(--primary-tint-top);background:linear-gradient(180deg,var(--primary-tint-top),rgba(27,48,88,.18));color:var(--text-main);line-height:1.45}
.settings-section{display:grid;gap:14px;padding:16px;border-radius:12px;border:1px solid rgba(255,236,196,.10);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01))}
.settings-section-head h3{margin:0;color:#f6dfb7;font-size:1.02rem}
.settings-section-head p{margin:5px 0 0;color:var(--text-muted)}
.settings-rows{display:grid;gap:12px}
.settings-row{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px;align-items:flex-start;padding:14px 0;border-top:1px solid rgba(255,236,196,.08)}
.settings-row:first-child{border-top:0;padding-top:0}
.settings-row-meta h3{margin:0;font-size:1rem;color:#f2e5c8}
.settings-row-meta p{margin:5px 0 0;color:var(--text-muted);line-height:1.5}
.settings-inline-note{margin-top:8px;font-size:.82rem;color:#d6c39d}
.settings-row-control{display:grid;gap:12px}
.settings-row-control select,.settings-row-control input[type="text"]{width:100%;min-height:42px;padding:10px 12px;border-radius:10px;background:var(--field-grad);border:var(--border-soft);outline:none}
.settings-row-control select:focus,.settings-row-control input[type="text"]:focus{border-color:var(--border-focus-color);box-shadow:var(--shadow-focus)}
.settings-choice-grid,.settings-size-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.settings-notification-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.settings-choice-card,.settings-size-card,.settings-toggle-card{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;border:1px solid rgba(255,236,196,.10);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));cursor:pointer}
.settings-choice-card input,.settings-size-card input,.settings-toggle-card input{margin-top:2px;accent-color:var(--gold)}
.settings-choice-content{display:grid;gap:4px}
.settings-choice-content strong{color:#f7e7c6}
.settings-choice-content span,.settings-size-card span{color:var(--text-muted);line-height:1.45}
.settings-size-card{flex-direction:column;align-items:flex-start}
.settings-size-preview{width:100%;min-height:88px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid rgba(255,236,196,.08)}
.settings-size-preview img{display:block;object-fit:contain}
.settings-color-row{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;align-items:center}
.settings-color-row input[type="color"]{width:68px;height:42px;padding:2px;border-radius:10px;background:transparent;border:1px solid rgba(255,236,196,.10)}
.settings-path-list{display:grid;gap:10px}
.settings-path-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.icon-btn{min-width:38px;height:42px;border-radius:10px;border:1px solid rgba(255,236,196,.10);background:linear-gradient(180deg,rgba(181,84,84,.18),rgba(101,44,44,.16));color:#ffe1da;cursor:pointer}
.icon-btn:disabled{opacity:.48;cursor:default}
.action-btn.secondary{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015))}
.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.settings-actions.single{justify-content:center}
body[data-image-size="small"]{--ui-icon-size:24px;--ui-slot-item-size:30px;--ui-slot-box-size:38px;--ui-portrait-size:42px}
body[data-image-size="medium"]{--ui-icon-size:32px;--ui-slot-item-size:36px;--ui-slot-box-size:44px;--ui-portrait-size:56px}
body[data-image-size="large"]{--ui-icon-size:40px;--ui-slot-item-size:44px;--ui-slot-box-size:52px;--ui-portrait-size:72px}
body[data-text-size="small"]{--app-font-size:11px}
body[data-text-size="medium"]{--app-font-size:14px}
body[data-text-size="large"]{--app-font-size:18px}
@media (max-width: 980px){.settings-row{grid-template-columns:1fr;gap:10px}}
@media (max-width: 860px){
  .content{padding-bottom:16px}
  .view{padding-bottom:16px}
}
.panel{padding:14px}.panel-dense{padding:14px}
.map-page{
  padding:12px;
  min-height:calc(100vh - 150px);
  display:grid;
  grid-template-rows:auto 1fr;
  gap:10px;
}
.map-header{
  display:grid;
  gap:6px;
}
.map-content{
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:10px;
  align-items:stretch;
  min-height:0;
}
.map-main{
  min-width:0;
  min-height:0;
  display:grid;
}
.map-sidebar{
  min-width:0;
  display:grid;
  align-content:start;
}
.map-toolbar{
  margin-bottom:0;
  align-items:flex-end;
}
.map-overlay-tile{
  padding:9px 12px;
  display:grid;
  gap:8px;
}
.map-checkbox-row{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#f3ead7;
  cursor:pointer;
  user-select:none;
}
.map-checkbox-row input{
  width:15px;
  height:15px;
  accent-color:#d8b77a;
}
.map-overlay-filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.map-overlay-hint{
  color:rgba(255,221,168,.82);
  line-height:1.35;
}
.map-overlay-actions{
  display:flex;
  justify-content:flex-start;
}
.map-mob-types-legend{
  display:grid;
  gap:6px;
  max-height:180px;
  overflow:auto;
  padding-right:2px;
}
.map-mob-type-legend-item{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.map-mob-type-legend-item:hover .map-mob-type-legend-label{
  color:#fff6df;
}
.map-mob-type-legend-swatch{
  width:14px;
  height:14px;
  border-radius:4px;
  flex:0 0 auto;
  background:var(--map-mob-type-color,#55c8ff);
  border:1px solid var(--map-mob-type-border,#2a7da1);
  box-shadow:0 0 0 1px rgba(0,0,0,.22);
}
.map-mob-type-legend-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#f3ead7;
  font-size:.84rem;
}
.map-overlays-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.map-char-jump-group{
  min-width:260px;
}
.map-quicknav-select-group{
  min-width:240px;
  margin-left:auto;
}
.map-quicknav-select-group .custom-select,
.map-char-jump-group .custom-select{
  width:100%;
}
.map-quicknav-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.map-quicknav{
  padding:10px 12px;
  display:grid;
  gap:8px;
}
.map-quicknav-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#f2d49f;
  font-family:var(--font-display);
}
.map-quicknav-buttons{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.map-quicknav-btn{
  width:100%;
  background:linear-gradient(180deg,rgba(99,184,255,.16),rgba(68,93,132,.12));
  border-color:rgba(127,230,255,.18);
}
.map-overlays-sidebar{
  grid-template-columns:1fr;
  align-content:start;
}
.map-overlays-sidebar .map-overlay-filters{
  display:grid;
  grid-template-columns:1fr;
}
.map-overlays-sidebar .field-group{
  min-width:0;
}
.map-meta-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  padding:0 2px;
}
.map-stage{
  position:relative;
  min-height:640px;
  height:100%;
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(217,183,122,.18);
  background:
          linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.28)),
          radial-gradient(circle at 50% 50%,rgba(39,44,48,.22),rgba(4,4,4,.96));
  cursor:grab;
}
.map-stage:active{
  cursor:grabbing;
}
.map-canvas,
.map-heatmap-canvas,
.map-markers,
.map-tooltip-layer,
.map-overlay{
  position:absolute;
  inset:0;
}
.map-canvas{
  display:block;
  width:100%;
  height:100%;
}
.map-heatmap-canvas{
  display:block;
  width:100%;
  height:100%;
  pointer-events:none;
}
.map-markers{
  pointer-events:none;
}
.map-tooltip-layer{
  pointer-events:none;
}
.map-overlay{
  pointer-events:none;
  padding:12px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
}
.map-overlay-card{
  padding:8px 10px;
  border-radius:8px;
  border:1px solid rgba(217,183,122,.16);
  background:linear-gradient(180deg,rgba(18,17,15,.88),rgba(8,8,8,.76));
  box-shadow:0 10px 24px rgba(0,0,0,.26);
  backdrop-filter:blur(4px);
  opacity:1;
  transform:translateY(0);
  transition:opacity .45s ease, transform .45s ease;
}
.map-overlay-card.is-dismissed{
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
}
.map-overlay-title{
  color:#f3d39a;
  font-family:var(--font-display);
  font-size:.95rem;
  margin-bottom:3px;
}
.map-marker{
  position:absolute;
  transform:translate(-50%,-50%);
  display:grid;
  gap:4px;
  justify-items:center;
  background:none;
  border:0;
  padding:0;
  pointer-events:auto;
  will-change:left, top;
}
.map-markers.is-position-smoothing .map-marker{
  transition:left .38s linear, top .38s linear;
}
.map-marker-pin{
  width:var(--map-marker-size,28px) !important;
  height:var(--map-marker-size,28px) !important;
  border-radius:999px;
  border:2px solid var(--map-group-color, rgba(255,238,201,.34));
  background:linear-gradient(180deg,rgba(20,20,20,.94),rgba(6,6,6,.96));
  box-shadow:0 5px 12px rgba(0,0,0,.34),0 0 0 2px rgba(10,10,10,.44),0 0 18px var(--map-group-glow, rgba(216,183,122,.12));
  display:grid;
  place-items:center;
  overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease, opacity .15s ease;
}
.map-marker.is-online .map-marker-pin{
  box-shadow:0 6px 14px rgba(0,0,0,.34),0 0 0 2px rgba(10,10,10,.44),0 0 20px var(--map-group-glow, rgba(122,210,112,.18));
}
.map-marker.is-offline .map-marker-pin{
  opacity:.7;
  filter:grayscale(1) saturate(.15) brightness(.9);
}
.map-marker.is-dead .map-marker-pin{
  border-color:rgba(207,90,74,.68);
  box-shadow:0 6px 14px rgba(0,0,0,.34),0 0 0 2px rgba(10,10,10,.44),0 0 18px rgba(207,90,74,.18);
}
.map-marker.is-selected .map-marker-pin,
.map-marker:hover .map-marker-pin{
  transform:scale(1.06);
}
.map-marker-portrait{
  width:100%;
  height:100%;
  object-fit:cover;
}
.map-marker-fallback{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#f3d39a;
  box-shadow:0 0 12px rgba(243,211,154,.34);
}
.map-marker-name{
  max-width:120px;
  padding:2px 6px;
  border-radius:999px;
  border:1px solid rgba(255,236,196,.10);
  background:rgba(7,8,9,.74);
  color:#f3ead7;
  font-size:.72rem;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
.map-monster-marker{
  position:absolute;
  transform:translate(-50%,-50%);
  pointer-events:auto;
  cursor:pointer;
  will-change:left, top;
}
.map-markers.is-position-smoothing .map-monster-marker{
  transition:left .42s linear, top .42s linear;
}
.map-monster-marker-bubble{
  display:block;
  width:calc(12px * var(--map-monster-type-scale, 1));
  height:calc(12px * var(--map-monster-type-scale, 1));
  border-radius:50%;
  border:2px solid transparent;
  background:
          radial-gradient(circle at 35% 35%, #ffb1b1 0%, #ff2e2e 32%, #930000 100%) padding-box,
          conic-gradient(
                  from -90deg,
                  rgba(104, 255, 112, .98) 0turn,
                  rgba(104, 255, 112, .98) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(66, 15, 15, .88) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(66, 15, 15, .88) 1turn
          ) border-box;
  box-shadow:0 0 0 1px rgba(100, 0, 0, .38), 0 0 16px rgba(207, 14, 14, .52);
}
.map-monster-marker.is-attacking .map-monster-marker-bubble{
  background:
          radial-gradient(circle at 35% 35%, #ffe3e3 0%, #ff4b4b 28%, #7f0000 100%) padding-box,
          conic-gradient(
                  from -90deg,
                  rgba(132, 255, 138, .98) 0turn,
                  rgba(132, 255, 138, .98) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(92, 18, 18, .9) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(92, 18, 18, .9) 1turn
          ) border-box;
  box-shadow:0 0 0 1px rgba(120, 0, 0, .44), 0 0 22px rgba(255, 48, 48, .62);
}
.map-monster-marker.is-party-type .map-monster-marker-bubble{
  background:
          radial-gradient(circle at 35% 35%, #ffb1b1 0%, #ff2e2e 32%, #930000 100%) padding-box,
          conic-gradient(
                  from -90deg,
                  rgba(126, 228, 255, .98) 0turn,
                  rgba(126, 228, 255, .98) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(20, 47, 67, .9) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(20, 47, 67, .9) 1turn
          ) border-box;
  box-shadow:0 0 0 1px rgba(24, 118, 152, .42), 0 0 18px rgba(126, 228, 255, .46);
}
.map-monster-marker.is-party-type.is-attacking .map-monster-marker-bubble{
  background:
          radial-gradient(circle at 35% 35%, #ffe3e3 0%, #ff4b4b 28%, #7f0000 100%) padding-box,
          conic-gradient(
                  from -90deg,
                  rgba(159, 238, 255, .98) 0turn,
                  rgba(159, 238, 255, .98) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(23, 62, 88, .92) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(23, 62, 88, .92) 1turn
          ) border-box;
  box-shadow:0 0 0 1px rgba(42, 142, 178, .48), 0 0 24px rgba(159, 238, 255, .56);
}
.map-monster-marker.is-unknown-type .map-monster-marker-bubble{
  background:
          radial-gradient(circle at 35% 35%, #ffd1f1 0%, #ff4fd2 34%, #9c006f 100%) padding-box,
          conic-gradient(
                  from -90deg,
                  rgba(182, 102, 255, .98) 0turn,
                  rgba(182, 102, 255, .98) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(59, 22, 84, .9) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(59, 22, 84, .9) 1turn
          ) border-box;
  box-shadow:0 0 0 1px rgba(126, 58, 190, .46), 0 0 18px rgba(255, 79, 210, .5);
}
.map-monster-marker.is-unknown-type.is-attacking .map-monster-marker-bubble{
  background:
          radial-gradient(circle at 35% 35%, #ffe8f8 0%, #ff67dc 30%, #850060 100%) padding-box,
          conic-gradient(
                  from -90deg,
                  rgba(203, 139, 255, .98) 0turn,
                  rgba(203, 139, 255, .98) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(72, 24, 104, .92) calc(var(--map-monster-hp-ratio, 1) * 1turn),
                  rgba(72, 24, 104, .92) 1turn
          ) border-box;
  box-shadow:0 0 0 1px rgba(148, 72, 210, .54), 0 0 24px rgba(255, 103, 220, .6);
}
.map-tooltip-bars{
  margin-top:10px;
}
.map-tooltip-monster-dot{
  display:block;
  background:radial-gradient(circle at 35% 35%, #ffd0d0 0%, #ff3a3a 32%, #8a0000 100%);
  border:2px solid #df2c2c;
  box-shadow:0 0 0 2px rgba(79, 0, 0, .34), 0 0 18px rgba(223, 44, 44, .4);
}
.map-tooltip-mobdensity-dot{
  display:block;
  background:radial-gradient(circle at 35% 35%, #dff7ff 0%, #79dfff 28%, #2bc94f 62%, #117823 100%);
  border:2px solid #7ee4ff;
  box-shadow:0 0 0 2px rgba(14, 88, 108, .28), 0 0 18px rgba(126, 228, 255, .34);
}
.map-mobdensity-volume{
  display:grid;
  gap:6px;
  margin:10px 0 8px;
  padding:8px;
  border-radius:10px;
  border:1px solid rgba(126,228,255,.14);
  background:rgba(126,228,255,.055);
}
.map-mobdensity-volume .bar-label-row{
  margin:0;
  color:#dff7ff;
  font-size:.74rem;
  font-weight:700;
}
.map-mobdensity-volume-track{
  height:9px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(90deg, rgba(126,228,255,.2), rgba(44,255,85,.18), rgba(255,48,58,.18));
}
.map-mobdensity-volume-fill{
  height:100%;
  min-width:2px;
  border-radius:999px;
  box-shadow:0 0 14px currentColor;
}
.map-mobdensity-confidence{
  margin-top:1px;
  color:#ffd36b;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.02em;
}
.map-death-marker{
  position:absolute;
  transform:translate(-50%,-50%);
  width:34px;
  height:34px;
  pointer-events:none;
  will-change:left, top;
}
.map-markers.is-position-smoothing .map-death-marker{
  transition:left .38s linear, top .38s linear;
}
.map-death-marker-icon{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
}
.map-death-marker-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));
}
.map-death-marker-char{
  position:absolute;
  right:-3px;
  bottom:-4px;
  width:18px !important;
  height:18px !important;
  border-radius:999px;
  border:1px solid rgba(255,236,196,.55);
  background:rgba(9,9,9,.92);
  display:grid;
  place-items:center;
  overflow:hidden;
  box-shadow:0 2px 6px rgba(0,0,0,.28);
}
.map-death-marker-portrait{
  width:100%;
  height:100%;
  object-fit:cover;
}
.map-death-marker.is-highlighted{
  z-index:12;
}
.map-death-marker.is-highlighted .map-death-marker-char{
  border:3px solid #ffe15a;
  box-shadow:0 0 0 2px rgba(53,38,6,.88), 0 0 18px rgba(255,225,90,.58), 0 6px 16px rgba(0,0,0,.36);
}
.map-drop-marker{
  position:absolute;
  transform:translate(-50%,-50%);
  width:36px;
  height:36px;
  pointer-events:none;
  will-change:left, top;
}
.map-markers.is-position-smoothing .map-drop-marker{
  transition:left .38s linear, top .38s linear;
}
.map-drop-marker-icon{
  position:absolute;
  right:-2px;
  bottom:-3px;
  width:15px;
  height:15px;
  display:grid;
  place-items:center;
}
.map-drop-marker-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));
}
.map-drop-marker-item-wrap{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border-radius:6px;
  border:1px solid rgba(255,236,196,.55);
  background:rgba(9,9,9,.92);
  display:grid;
  place-items:center;
  overflow:hidden;
  box-shadow:0 2px 6px rgba(0,0,0,.28);
}
.map-drop-marker-item{
  width:100%;
  height:100%;
  object-fit:contain;
}
.map-drop-marker.is-highlighted{
  z-index:12;
}
.map-drop-marker.is-highlighted .map-drop-marker-item-wrap{
  border:3px solid #ffe15a;
  box-shadow:0 0 0 2px rgba(53,38,6,.88), 0 0 18px rgba(255,225,90,.58), 0 6px 16px rgba(0,0,0,.36);
}
.map-academy-marker{
  position:absolute;
  transform:translate(-50%,-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  min-width:0;
  padding:0;
  will-change:left, top;
  border:0;
  background:transparent;
  pointer-events:auto;
  appearance:none;
}
.map-markers.is-position-smoothing .map-academy-marker{
  transition:left .38s linear, top .38s linear;
}
.map-academy-marker-pin{
  position:relative;
  width:22px;
  height:22px;
  border-radius:999px;
  border:2px solid rgba(255,214,246,.96);
  background:radial-gradient(circle at 35% 35%, rgba(255,199,244,.98), rgba(235,72,178,.94) 58%, rgba(142,18,90,.98));
  box-shadow:0 0 0 2px rgba(54,12,37,.84), 0 0 18px rgba(255,92,196,.48), 0 6px 16px rgba(0,0,0,.28);
  transition:transform .15s ease, box-shadow .15s ease;
}
.map-academy-marker-pin::after{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.26);
}
.map-academy-marker:hover .map-academy-marker-pin{
  transform:scale(1.06);
}
.map-academy-marker-bubble{
  position:absolute;
  right:-5px;
  bottom:-3px;
  width:16px;
  height:16px;
  border-radius:999px;
  border:1px solid rgba(255,236,196,.55);
  background:rgba(9,9,9,.92);
  display:grid;
  place-items:center;
  overflow:hidden;
  box-shadow:0 2px 6px rgba(0,0,0,.28);
}
.map-academy-marker.is-offline .map-academy-marker-bubble{
  filter:grayscale(1) saturate(.12) brightness(.9);
  opacity:.82;
}
.map-academy-marker-portrait{
  width:100%;
  height:100%;
  object-fit:cover;
}
.map-academy-marker-name{
  max-width:124px;
  padding:2px 6px;
  border-radius:999px;
  border:1px solid rgba(255,214,246,.22);
  background:rgba(22,8,18,.78);
  color:#ffe7f6;
  font-size:.72rem;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
  box-shadow:0 4px 12px rgba(0,0,0,.24);
}
.map-academy-marker.is-guardian .map-academy-marker-pin{
  width:24px;
  height:24px;
  border-color:rgba(255,241,179,.95);
  box-shadow:0 0 0 2px rgba(62,48,11,.84), 0 0 18px rgba(255,220,92,.42), 0 6px 16px rgba(0,0,0,.28);
}
.map-academy-marker.is-guardian .map-academy-marker-bubble{
  width:17px;
  height:17px;
  right:-5px;
  bottom:-4px;
}
.map-academy-marker.is-guardian .map-academy-marker-name{
  border-color:rgba(255,241,179,.24);
  background:rgba(35,26,8,.78);
  color:#fff2c1;
}
.map-academy-marker .map-marker-fallback{
  width:14px;
  height:14px;
  background:#ff8fd0;
  box-shadow:0 0 12px rgba(255,143,208,.46);
}
.map-tooltip{
  position:absolute;
  width:280px !important;
  min-width:280px !important;
  max-width:280px !important;
  padding:10px 12px !important;
  border-radius:10px;
  border:1px solid rgba(255,236,196,.14);
  background:linear-gradient(180deg,rgba(18,17,15,.96),rgba(8,8,8,.92));
  box-shadow:0 18px 34px rgba(0,0,0,.34),0 0 24px var(--map-group-glow, rgba(216,183,122,.12));
  pointer-events:auto;
  box-sizing:border-box;
  display:block !important;
  overflow:hidden;
  z-index:20;
}
.map-tooltip::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:2px;
  border-radius:10px 10px 0 0;
  background:linear-gradient(90deg,var(--map-group-color,#d8b77a),rgba(255,255,255,.12));
}
.map-tooltip-head{
  display:flex !important;
  gap:10px;
  align-items:center;
  margin:0 0 10px 0 !important;
}
.map-tooltip-portrait{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px;
  border-radius:999px;
  object-fit:cover;
  border:2px solid var(--map-group-color,#d8b77a);
  background:#090909;
}
.map-tooltip-head-copy{
  min-width:0;
  flex:1 1 auto;
}
.map-tooltip-portrait.is-fallback{
  display:block;
  background:radial-gradient(circle at 35% 35%,#f4d69a,#65461d);
}
.map-tooltip-title{
  color:#f7deb1;
  font-family:var(--font-display);
  font-size:1rem;
  line-height:1.15;
}
.map-tooltip-grid{
  display:grid !important;
  gap:5px;
  width:100%;
}
.map-tooltip-grid .detail-row{
  font-size:.78rem;
  width:100%;
}
.map-tooltip-actions{
  margin-top:10px;
  display:flex !important;
  justify-content:flex-end;
}
body .content .view .map-tooltip{
  width:280px !important;
  min-width:280px !important;
  max-width:280px !important;
  padding:10px 12px !important;
  display:block !important;
  overflow:hidden;
}
body .content .view .map-tooltip-head{
  display:flex !important;
  align-items:center !important;
}
body .content .view .map-tooltip-grid{
  display:grid !important;
  width:100% !important;
}
body .content .view .map-tooltip-grid .detail-row{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  width:100% !important;
  gap:10px !important;
}
body .content .view .map-tooltip-grid .detail-row span{
  display:block !important;
}
body .content .view .map-tooltip-actions{
  display:flex !important;
  justify-content:flex-end !important;
}
.panel-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.panel-header h2{margin:0;font-size:1.08rem;font-family:var(--font-display);color:#f5d7a0}
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:3px 9px;border-radius:var(--radius-pill);background:rgba(217,183,122,.14);border:1px solid rgba(217,183,122,.24);color:#f5d7a0;font-size:.78rem}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;align-items:flex-end}
.field-group{display:grid;gap:4px;min-width:170px}
.field-group label{color:#d0bd9f;font-size:.76rem;letter-spacing:.02em}
.field-group input,.field-group select,.stats-search,.compose-row input{width:100%;padding:6px 8px;background:var(--field-grad);border:var(--border-soft);border-radius:var(--radius-sm);outline:none}
.field-group input:focus,.field-group select:focus,.stats-search:focus,.compose-row input:focus{border-color:var(--border-focus-color);box-shadow:var(--shadow-focus)}
.field-date{min-width:145px}
.table-wrap{overflow:auto}
#view-drops .table-wrap{overflow:visible}
#view-drops table,
#view-drops tbody,
#view-drops tr,
#view-drops td{overflow:visible}
table{width:100%;border-collapse:collapse}
thead th{text-align:left;padding:8px 9px;color:#f7dba8;font-weight:600;border-bottom:1px solid rgba(217,183,122,.26);background:linear-gradient(180deg,rgba(217,183,122,.13),rgba(217,183,122,.05));font-family:var(--font-display)}
tbody td{padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}
tbody tr:hover{background:rgba(255,255,255,.018)}
.item-cell{display:flex;align-items:center;gap:9px}.item-cell img{width:32px;height:32px;object-fit:contain;background:linear-gradient(180deg,rgba(19,15,11,.98),rgba(11,9,7,.98));border:1px solid rgba(217,183,122,.16);border-radius:var(--radius-sm);padding:3px}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.pagination-row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px}.page-size-control{display:flex;align-items:center;gap:8px;min-width:0}.page-size-label{color:var(--text-muted);font-size:.82rem;white-space:nowrap}.page-size-control select{min-height:34px;min-width:128px;padding:6px 10px;border-radius:10px;background:var(--field-grad);border:var(--border-soft);color:var(--text-main)}.page-size-control .custom-select{width:128px;min-width:128px;flex:0 0 128px}.page-size-control .custom-select-trigger{min-height:34px;padding:6px 32px 6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-size-control .custom-select-trigger::after{right:12px}.page-btn,.tab-btn,.send-btn,.guild-tab,.page-tab,.action-btn{padding:7px 10px;border:var(--border-soft);background:var(--button-grad);border-radius:var(--radius-sm);cursor:pointer}.page-btn:disabled{opacity:.45;cursor:default}.page-meta{color:var(--text-muted);font-size:.82rem}
.stats-search{max-width:300px}
.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;align-items:start}
.stats-card{padding:9px;min-width:0;background:linear-gradient(180deg,rgba(31,24,17,.94),rgba(17,13,10,.98))}
.stats-card-header{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px;align-items:flex-start}
.char-title{min-width:0}.char-name-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.char-name-row strong{font-size:.96rem;color:#f7ddb1;font-family:Georgia,'Times New Roman',serif}.char-level-badge{padding:2px 7px;border-radius:999px;background:rgba(217,183,122,.15);border:1px solid rgba(217,183,122,.22);color:#ffe5b6;font-size:.74rem}
.char-sub{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.meta-tag{display:inline-flex;gap:5px;align-items:center;padding:3px 7px;border-radius:4px;background:rgba(255,255,255,.032);border:1px solid rgba(255,255,255,.05);min-width:0}.meta-k{color:#bfae8e;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.meta-v{color:var(--text);font-size:.78rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status-inline{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;white-space:nowrap;padding-top:1px}.status-text{font-size:.8rem;font-weight:700;letter-spacing:.02em}.status-text.online,.status-text.alive{color:#86e88b}.status-text.offline,.status-text.dead{color:#ef8e85}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}.metric{padding:6px 7px;border-radius:4px;background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012));border:1px solid rgba(255,255,255,.05)}.metric-label{color:#baa98b;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.metric-value{margin-top:2px;font-size:.86rem;font-weight:600;color:#f2e1c0}.metric-action{text-align:left}
.bar-group{display:grid;gap:7px;margin-bottom:9px}.bar-label-row{display:flex;justify-content:space-between;gap:8px;color:#cbbca4;font-size:.75rem;margin-bottom:3px}.bar-track{height:8px;border-radius:999px;background:rgba(255,255,255,.04);overflow:hidden;border:1px solid rgba(255,255,255,.04)}.bar-fill{height:100%;border-radius:999px}.bar-fill.hp{background:linear-gradient(90deg,#6f1512,#c33d34)}.bar-fill.mp{background:linear-gradient(90deg,#234d8c,#5e8af5)}.bar-fill.xp{background:linear-gradient(90deg,#775220,#d7af64)}
.detail-grid{display:grid;gap:6px}.detail-row{display:flex;justify-content:space-between;gap:10px;color:#b9aa90;font-size:.79rem}.detail-row span:last-child{color:#ede1cb;text-align:right}
.card-actions{display:flex;gap:7px;margin-top:9px}.action-btn{background:linear-gradient(180deg,rgba(217,183,122,.16),rgba(110,76,30,.12));border-color:rgba(217,183,122,.24)}
.chat-layout{display:grid;grid-template-columns:1fr 230px;gap:10px;align-items:start}.chat-main,.chat-side{padding:9px}.chat-feed{display:grid;gap:6px;min-height:260px;max-height:56vh;overflow:auto;margin-bottom:8px;align-content:start;grid-auto-rows:min-content}.chat-entry{padding:7px 9px;border-radius:4px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);align-self:start;max-height:88px;overflow:auto}.chat-entry.private{background:rgba(66,125,255,.08);border-color:rgba(99,149,255,.16)}.chat-line{line-height:1.42}.chat-meta{color:#b8ad98;font-size:.76rem;margin-top:4px}.chat-time{color:#c7b89a;margin-right:7px}.chat-dir{font-weight:700}.chat-dir.from{color:#a8ccff}.chat-dir.to{color:#d8b77a}
.chat-compose{padding:9px;margin-bottom:8px}.compose-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:9px}.compose-row{display:grid;grid-template-columns:1fr auto;gap:9px}.send-btn{background:linear-gradient(180deg,rgba(217,183,122,.20),rgba(119,82,32,.16));border-color:rgba(217,183,122,.28)}
.chat-contact-list{display:grid;gap:7px;max-height:70vh;overflow:auto}.contact-btn{display:flex;justify-content:space-between;gap:10px;width:100%;padding:8px 9px;text-align:left;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);background:rgba(255,255,255,.02);cursor:pointer}.contact-btn.active{border-color:rgba(217,183,122,.28);background:rgba(217,183,122,.08)}.contact-count{color:var(--text-muted)}.side-title{font-weight:600;margin-bottom:4px;font-family:var(--font-display);color:#f2d49f}
.tabs-header{align-items:center}.tab-bar,.guild-tabs,.page-tabs{display:flex;gap:7px;flex-wrap:wrap}.tab-btn.active,.guild-tab.active,.page-tab.active{background:linear-gradient(180deg,rgba(217,183,122,.20),rgba(127,92,46,.14));border-color:rgba(217,183,122,.30);color:#f6deb1}
.guild-meta{margin-bottom:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.guild-meta-item{display:inline-flex;align-items:center;gap:6px}
.guild-meta-sep{color:rgba(255,255,255,.28)}
.guild-meta-gold{color:var(--gold-bright);font-weight:600}
.guild-meta-gold img{width:14px;height:14px;display:block}
.container-gold-strip{
  margin-top:12px;
  padding:10px 12px;
  border-radius:8px;
  border:1px solid rgba(217,183,122,.14);
  background:rgba(6,8,12,.52);
}
.container-gold-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--gold-bright);
  font-weight:600;
}
.container-gold-item img{width:15px;height:15px;display:block}
.metric.metric-split{padding-block:10px}
.metric-split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.metric-split-col{min-width:0}
.error-dialog{max-width:min(560px,92vw)}
.error-body{display:grid;gap:14px}
.error-section{padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025)}
.error-section-title{font-size:.9rem;font-weight:700;color:#f3ddb8;margin-bottom:6px}
.error-copy{font-size:.92rem;line-height:1.5;color:#d5c7b2}
.error-solutions{margin:0;padding-left:18px;color:#dfe8f6;display:grid;gap:6px}
.error-severity-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  margin-bottom:8px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:#f4f4f4;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.error-dialog.severity-info{
  border-color:rgba(255,255,255,.16);
  box-shadow:0 18px 48px rgba(0,0,0,.42);
}
.error-dialog.severity-info .error-severity-badge{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.18);
  color:#f6f6f6;
}
.error-dialog.severity-info .error-section-title{
  color:#f1f1f1;
}
.error-dialog.severity-error{
  border-color:rgba(255,166,77,.34);
  box-shadow:0 18px 54px rgba(86,42,8,.38);
}
.error-dialog.severity-error .error-severity-badge{
  background:rgba(255,166,77,.16);
  border-color:rgba(255,166,77,.34);
  color:#ffbf74;
}
.error-dialog.severity-error .error-section{
  border-color:rgba(255,166,77,.18);
  background:rgba(255,166,77,.04);
}
.error-dialog.severity-error .error-section-title{
  color:#ffbf74;
}
.error-dialog.severity-critical{
  border-color:rgba(235,92,92,.34);
  box-shadow:0 18px 58px rgba(94,16,16,.44);
}
.error-dialog.severity-critical .error-severity-badge{
  background:rgba(235,92,92,.16);
  border-color:rgba(235,92,92,.34);
  color:#ff8f8f;
}
.error-dialog.severity-critical .error-section{
  border-color:rgba(235,92,92,.18);
  background:rgba(235,92,92,.045);
}
.error-dialog.severity-critical .error-section-title{
  color:#ff9a9a;
}
.item-search-toolbar{
  align-items:end;
}
.item-search-query{
  min-width:min(420px, 100%);
  flex:1 1 420px;
}
.item-search-type,
.item-search-detail{
  min-width:220px;
  flex:0 0 220px;
}
.item-search-checkbox{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 4px;
  flex:0 0 auto;
}
.item-search-checkbox input{
  margin:0;
}
.item-search-reset-btn{
  flex:0 0 auto;
  align-self:end;
}
.item-search-detail.is-disabled{
  opacity:.48;
}
.item-search-results{
  display:grid;
  gap:14px;
}
.market-shell{
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.market-window{
  display:grid;
  gap:0;
}
.stall-page{
  display:grid;
  gap:18px;
}
.stall-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.stall-stat-card{
  display:grid;
  gap:8px;
  padding:15px 18px;
  background:linear-gradient(180deg, rgba(53,74,109,.76), rgba(16,27,43,.94));
  border-color:rgba(199,223,255,.14);
  box-shadow:0 14px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.05);
}
.stall-stat-card.tone-gold{
  background:linear-gradient(180deg, rgba(79,65,27,.82), rgba(31,25,15,.96));
}
.stall-stat-card.tone-slate{
  background:linear-gradient(180deg, rgba(50,59,79,.82), rgba(17,22,34,.97));
}
.stall-stat-card span{
  color:#9ab1d3;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.stall-stat-card strong{
  color:#eef5ff;
  font-size:1.24rem;
}
.stall-stat-card strong .stall-gold-inline{
  justify-content:flex-start;
}
.stall-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:18px;
  align-items:start;
}
.stall-main,
.stall-chat-panel{
  padding:18px;
  background:
          linear-gradient(180deg, rgba(52,73,109,.05), rgba(52,73,109,0) 180px),
          linear-gradient(180deg, rgba(20,31,48,.14), rgba(11,17,28,.18));
  border-color:rgba(173,205,247,.18);
  box-shadow:0 22px 42px rgba(0,0,0,.26);
}
.stall-seller-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.stall-seller-card{
  display:grid;
  gap:14px;
  padding:16px;
  background:
          radial-gradient(circle at top center, rgba(255,255,255,.08), rgba(255,255,255,0) 48%),
          linear-gradient(180deg, rgba(31,45,69,.94), rgba(12,20,33,.98));
  border-color:rgba(173,205,247,.16);
  min-height:320px;
}
.stall-seller-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:flex-start;
}
.stall-seller-identity{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.stall-seller-avatar{
  width:56px;
  height:56px;
  border-radius:12px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(10,15,24,.95), rgba(29,40,58,.95));
  border:1px solid rgba(236,191,77,.6);
  box-shadow:0 8px 18px rgba(0,0,0,.26);
}
.stall-seller-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.stall-seller-title-wrap{
  display:grid;
  gap:6px;
  min-width:0;
}
.stall-seller-title-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.stall-seller-head h3{
  margin:0;
  color:#edf5ff;
  font-size:1.16rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.stall-level-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid rgba(165,193,233,.22);
  background:rgba(9,18,30,.65);
  color:#b3c9eb;
  font-size:.76rem;
  font-weight:700;
  text-transform:uppercase;
}
.stall-seller-metrics{
  display:grid;
  justify-items:end;
  gap:8px;
  padding-top:2px;
}
.stall-seller-metrics span{
  color:#91a9cd;
  font-size:.78rem;
}
.stall-gold-inline{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#f4d27a;
}
.stall-gold-inline img{
  width:18px;
  height:18px;
  object-fit:contain;
  filter:drop-shadow(0 0 6px rgba(255,204,91,.18));
}
.stall-gold-inline strong{
  color:#f6d77f;
  font-size:1rem;
  font-weight:800;
}
.stall-gold-inline em{
  color:#d8b96b;
  font-size:.82rem;
  font-style:normal;
  font-weight:700;
}
.stall-sales-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  align-content:start;
}
.stall-sale-row{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:9px 10px;
  border-radius:12px;
  border:1px solid rgba(167,203,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  min-height:74px;
}
.stall-sale-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(18,30,48,.92);
  border:1px solid rgba(167,203,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.stall-sale-icon img{
  width:32px;
  height:32px;
  object-fit:contain;
}
.stall-sale-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.stall-sale-topline{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}
.stall-sale-copy strong{
  color:#edf5ff;
  font-size:.9rem;
  line-height:1.2;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.stall-sale-copy span{
  color:#95abcb;
  font-size:.72rem;
  line-height:1.3;
}
.stall-sale-buyer{
  color:#dfe9fb !important;
  font-size:.8rem !important;
  font-weight:700;
}
.stall-sale-date{
  color:#8fa4c6 !important;
}
.stall-sale-gold{
  margin-top:0;
  white-space:nowrap;
}
.stall-sale-gold .stall-gold-inline strong{
  font-size:.86rem;
}
.stall-sale-gold .stall-gold-inline em{
  font-size:.7rem;
}
.stall-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
}
.stall-card-page-label{
  color:#c8d8f3;
  font-size:.82rem;
}
.stall-card-pagination{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.stall-card-page-btn{
  min-width:34px;
  height:30px;
  border-radius:8px;
  border:1px solid rgba(165,193,233,.16);
  background:rgba(16,24,39,.8);
  color:#cfe0f9;
  font-weight:700;
  cursor:pointer;
}
.stall-card-page-btn.active{
  background:linear-gradient(180deg, rgba(69,97,145,.9), rgba(37,55,86,.94));
  color:#fff;
  border-color:rgba(182,213,255,.30);
}
.stall-card-page-btn.nav{
  padding:0 10px;
}
.stall-card-page-btn:disabled{
  opacity:.45;
  cursor:default;
}
.stall-chat-panel{
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:12px;
  min-height:740px;
}
.stall-chat-list{
  display:grid;
  gap:10px;
  align-content:start;
  max-height:760px;
  overflow:auto;
}
.stall-chat-entry{
  display:grid;
  gap:6px;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(167,203,255,.12);
  background:linear-gradient(180deg, rgba(31,46,71,.82), rgba(17,27,42,.92));
}
.stall-chat-entry-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.stall-chat-user{
  min-width:0;
}
.stall-chat-user-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.stall-chat-entry-head strong{
  color:#f1f7ff;
  font-size:.9rem;
}
.stall-chat-entry-head span{
  color:#8ea7ca;
  font-size:.76rem;
}
.stall-chat-entry-body{
  color:#dce8fb;
  font-size:.88rem;
  line-height:1.42;
  word-break:break-word;
}
.stall-sales-grid .empty-state{
  grid-column:1 / -1;
}
.market-tab-strip{
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:0 14px 10px;
  position:relative;
}
.market-tab-strip::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:0;
  height:14px;
  border:1px solid rgba(170,198,240,.14);
  border-radius:14px 14px 0 0;
  background:linear-gradient(180deg, rgba(18,28,44,.92), var(--surface-bottom));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  pointer-events:none;
}
.market-tab{
  position:relative;
  z-index:1;
  min-width:132px;
  min-height:48px;
  padding:11px 18px 13px;
  border-radius:14px 14px 0 0;
  border:1px solid rgba(170,198,240,.18);
  border-bottom-color:rgba(18,28,44,.92);
  background:linear-gradient(180deg, rgba(39,56,84,.96), rgba(21,31,49,.98));
  color:#dce8fb;
  font-size:.98rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 8px 16px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .14s ease, border-color .14s ease, background .14s ease, color .14s ease, box-shadow .14s ease;
}
.market-tab:hover{
  transform:translateY(-2px);
  border-color:rgba(206,225,255,.30);
  color:#f7fbff;
  box-shadow:0 12px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.10);
}
.market-tab::before{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:6px;
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  opacity:.55;
}
.market-tab.active{
  transform:translateY(3px);
  color:#f9fcff;
  border-color:rgba(214,230,255,.38);
  border-bottom-color:rgba(16,24,36,.98);
  box-shadow:0 4px 12px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.12);
}
.market-tab.active::before{
  opacity:1;
}
.market-tab[data-market-tab="buy"]::before{
  background:linear-gradient(90deg, rgba(105,196,255,.96), rgba(57,147,230,.96));
}
.market-tab[data-market-tab="sell"]::before{
  background:linear-gradient(90deg, rgba(255,196,98,.96), rgba(231,149,48,.96));
}
.market-tab[data-market-tab="trade"]::before{
  background:linear-gradient(90deg, rgba(132,226,140,.96), rgba(78,180,96,.96));
}
.market-tab[data-market-tab="buy"].active{
  background:linear-gradient(180deg, rgba(79,140,198,.98), rgba(40,79,124,.98));
}
.menu-item-dashboard{
  background:linear-gradient(180deg, rgba(76,116,170,.26), rgba(36,61,96,.26));
  border-color:rgba(121,166,224,.28);
}
.menu-item-dashboard:hover,
.menu-item-dashboard.active{
  background:linear-gradient(180deg, rgba(100,154,225,.30), rgba(41,88,144,.28));
  border-color:rgba(153,198,255,.40);
}
.dashboard-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.dashboard-widget{
  display:flex;
  flex-direction:column;
  gap:10px;
  height:100%;
  padding:18px;
  min-width:0;
  overflow:hidden;
  background:
          linear-gradient(180deg, rgba(255,223,166,.05), transparent 24%),
          linear-gradient(180deg, rgba(28,23,18,.98), rgba(16,13,10,.99));
  box-shadow:0 16px 34px rgba(0,0,0,.30);
}
.dashboard-widget-summary,
.dashboard-widget-gold,
.dashboard-widget-unassigned{
  grid-column:span 4;
  min-height:216px;
}
.dashboard-widget-summary{
  background:
          linear-gradient(180deg, rgba(126,170,236,.10), transparent 26%),
          linear-gradient(180deg, rgba(24,31,46,.98), rgba(13,18,29,.99));
}
.dashboard-widget-gold{
  background:
          linear-gradient(180deg, rgba(228,188,97,.10), transparent 26%),
          linear-gradient(180deg, rgba(36,28,18,.98), rgba(18,14,10,.99));
}
.dashboard-widget-unassigned{
  background:
          linear-gradient(180deg, rgba(154,184,236,.08), transparent 26%),
          linear-gradient(180deg, rgba(23,29,42,.98), rgba(13,18,28,.99));
}
.dashboard-grid.no-groups-widget .dashboard-widget-summary{
  grid-column:span 5;
}
.dashboard-grid.no-groups-widget .dashboard-widget-gold{
  grid-column:span 7;
}
.dashboard-widget-list{
  grid-column:span 3;
  min-height:428px;
}
.dashboard-widget-offers{
  grid-column:span 3;
}
.dashboard-widget-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:54px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,236,196,.06);
}
.dashboard-widget-head h2{
  margin:0;
  font-size:1.06rem;
  color:#f4d7a5;
  font-family:Georgia,'Times New Roman',serif;
}
.dashboard-widget-sub{
  margin-top:4px;
  color:#b6a68b;
  font-size:.8rem;
}
.dashboard-head-glyph{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  color:#f2e7cf;
}
.dashboard-head-action{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  color:#d7c6a7;
}

.dashboard-head-action span:first-child{
  color: #becbdf !important;
  font-size:.76rem;
  text-decoration: underline;
  font-weight:500;
  letter-spacing:.03em;
  line-height:1.2;
  white-space:nowrap;
}
.dashboard-nav-btn{
  cursor:pointer;
}
.dashboard-nav-btn:hover{
  filter:brightness(1.08);
}
.dashboard-head-action:hover span:first-child{
  color:#f6dfb7;
  text-decoration:underline;
}
.dashboard-head-glyph img{
  width:26px;
  height:26px;
  display:block;
  object-fit:contain;
  border-radius:7px;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.24));
}
.dashboard-stat-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  flex:1 1 auto;
}
.dashboard-stat-card{
  display:grid;
  align-content:start;
  gap:6px;
  padding:13px 14px;
  border-radius:6px;
  border:1px solid rgba(255,236,196,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
}
.dashboard-stat-card.tone-blue{background:linear-gradient(180deg, rgba(88,151,225,.16), rgba(255,255,255,.012))}
.dashboard-stat-card.tone-slate{background:linear-gradient(180deg, rgba(136,155,181,.11), rgba(255,255,255,.012))}
.dashboard-stat-card.tone-green{background:linear-gradient(180deg, rgba(100,183,107,.15), rgba(255,255,255,.012))}
.dashboard-stat-card.tone-red{background:linear-gradient(180deg, rgba(191,95,95,.14), rgba(255,255,255,.012))}
.dashboard-stat-card span,
.dashboard-gold-split span,
.dashboard-unassigned span{
  color:#cdbb9e;
  font-size:.78rem;
}
.dashboard-stat-card strong,
.dashboard-gold-split strong,
.dashboard-unassigned strong{
  color:#f2e2c3;
  font-size:1.44rem;
  line-height:1;
}
.dashboard-gold-total{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  margin-bottom:12px;
  border-radius:6px;
  border:1px solid rgba(217,183,122,.16);
  background:linear-gradient(180deg, rgba(93,69,29,.22), rgba(42,31,12,.14));
}
.dashboard-gold-total img{
  width:22px;
  height:22px;
  display:block;
}
.dashboard-gold-total span{
  display:block;
  color:#d5c29f;
  font-size:.78rem;
}
.dashboard-gold-total strong{
  display:block;
  margin-top:2px;
  color:var(--gold-bright);
  font-size:1.42rem;
}
.dashboard-gold-split{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:auto;
}
.dashboard-gold-split div{
  padding:12px 13px;
  border-radius:6px;
  border:1px solid rgba(255,236,196,.09);
  background:rgba(255,255,255,.025);
}
.dashboard-gold-split strong{
  display:block;
  margin-top:4px;
}
.dashboard-unassigned{
  flex:1 1 auto;
  display:grid;
  place-content:center;
  gap:10px;
  padding:16px;
  text-align:center;
  border-radius:6px;
  border:1px solid rgba(255,236,196,.10);
  background:rgba(255,255,255,.025);
}
.dashboard-unassigned.has-warning{
  border-color:rgba(217,109,78,.34);
  background:linear-gradient(180deg, rgba(217,109,78,.16), rgba(217,109,78,.08));
}
.dashboard-unassigned.is-clean{
  border-color:rgba(122,210,112,.22);
  background:linear-gradient(180deg, rgba(122,210,112,.12), rgba(122,210,112,.05));
}
.dashboard-list{
  display:grid;
  gap:10px;
  flex:1 1 auto;
  overflow:auto;
  min-height:0;
  padding-right:3px;
}
.dashboard-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:flex-start;
  padding:10px 11px;
  border-radius:6px;
  border:1px solid rgba(255,236,196,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.018));
  min-width:0;
  cursor:pointer;
  transition:border-color .14s ease, background .14s ease, transform .14s ease;
}
.dashboard-row:hover{
  border-color:rgba(255,236,196,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.026));
  transform:translateY(-1px);
}
.dashboard-row time{
  color:#c5b392;
  font-size:.79rem;
  white-space:nowrap;
  align-self:start;
}
.dashboard-row-main{
  min-width:0;
  display:grid;
  gap:5px;
}
.dashboard-row-main strong{
  color:#f2ddba;
  font-size:.92rem;
}
.dashboard-row-side{
  display:grid;
  justify-items:end;
  align-content:center;
  gap:8px;
}
.dashboard-row-main span,
.dashboard-row-main p{
  margin:0;
  color:#c7b79c;
  font-size:.8rem;
  line-height:1.38;
}
.dashboard-row-main p{
  color:#efe3ca;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dashboard-row-top{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.dashboard-row-icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
}
.dashboard-row-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.dashboard-row-icon.slot{
  position:relative;
}
.dashboard-event-sale-badge{
  position:absolute;
  right:-3px;
  bottom:-3px;
  width:19px;
  height:19px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  background:linear-gradient(180deg,rgba(26,35,52,.96),rgba(8,12,21,.98));
  border:1px solid rgba(130,174,255,.35);
  box-shadow:0 4px 10px rgba(0,0,0,.35);
  z-index:3;
  pointer-events:none;
}
.dashboard-event-sale-badge img{
  width:12px;
  height:12px;
  object-fit:contain;
}
.dashboard-row-icon-portrait{
  overflow:hidden;
  border-radius:10px;
  background:linear-gradient(180deg,rgba(42,58,86,.92),rgba(18,27,42,.98));
}
.dashboard-event-char-portrait{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover !important;
  object-position:center top;
}
.deaths-char-cell{
  width:54px;
}
.deaths-char-portrait-wrap{
  width:38px;
  height:38px;
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(160,197,255,.22);
  background:linear-gradient(180deg,rgba(42,58,86,.92),rgba(18,27,42,.98));
  box-shadow:0 6px 16px rgba(4,8,14,.26);
}
.deaths-char-portrait-wrap.is-empty{
  opacity:.28;
}
.deaths-char-portrait{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
}
.dashboard-event-fixed-icon,
.dashboard-event-unique-icon{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  border-radius:7px;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.24));
}
.dashboard-events-list{
  min-height:320px;
}
.dashboard-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:6px;
  font-size:.94rem;
  font-weight:800;
  color:#f2ead7;
  border:1px solid rgba(255,236,196,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}
.dashboard-avatar-private{background:linear-gradient(180deg, rgba(91,146,216,.22), rgba(33,67,109,.14))}
.dashboard-avatar-global{background:linear-gradient(180deg, rgba(184,149,82,.22), rgba(96,71,24,.14))}
.dashboard-avatar-guild{background:linear-gradient(180deg, rgba(205,128,70,.22), rgba(94,48,23,.14))}
.dashboard-avatar-union{background:linear-gradient(180deg, rgba(111,180,108,.22), rgba(46,90,43,.14))}
.dashboard-avatar-death{background:linear-gradient(180deg, rgba(191,95,95,.22), rgba(88,31,31,.14))}
.dashboard-chat-row.is-unread{
  border-color:rgba(217,109,78,.20);
  background:rgb(235 137 105 / 10%);
}
.dashboard-unread-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  padding:2px 8px;
  border-radius:999px;
  background:#d96d4e;
  color:#fff5f1;
  font-size:.7rem;
  font-weight:700;
}
.dashboard-offer-row{
  grid-template-columns:auto 1fr auto;
}
.dashboard-offer-icons{
  display:flex;
  align-items:center;
  gap:4px;
  padding-top:1px;
}
.dashboard-offer-icons img,
.dashboard-offer-icons-empty{
  width:38px;
  height:38px;
  border-radius:4px;
  border:1px solid rgba(255,236,196,.08);
  background:linear-gradient(180deg, rgba(20,16,12,.96), rgba(11,9,7,.98));
}
.dashboard-offer-icons img{
  padding:3px;
  object-fit:contain;
}
.dashboard-offer-icons-empty{
  display:grid;
  place-items:center;
  color:#f4dab0;
  font-weight:800;
}
.dashboard-offer-type{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#f5ead4;
  font-size:.7rem;
  font-weight:700;
}
.dashboard-offer-row.intent-buy{
  border-color:rgba(100,170,235,.20);
  background:linear-gradient(180deg, rgba(100,170,235,.08), rgba(255,255,255,.02));
}
.dashboard-offer-row.intent-sell{
  border-color:rgba(234,159,75,.20);
  background:linear-gradient(180deg, rgba(234,159,75,.08), rgba(255,255,255,.02));
}
.dashboard-offer-row.intent-trade{
  border-color:rgba(110,197,123,.20);
  background:linear-gradient(180deg, rgba(110,197,123,.08), rgba(255,255,255,.02));
}
.dashboard-message-btn{
  min-width:86px;
  height:34px;
  padding:0 10px;
  align-self:center;
  cursor:pointer;
}
.dashboard-map-jump-btn,
.drop-map-jump-btn,
.stats-map-jump-btn{
  width:34px;
  height:34px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.dashboard-map-jump-btn img,
.drop-map-jump-btn img,
.stats-map-jump-btn img{
  width:18px;
  height:18px;
  object-fit:contain;
}
.table-action-cell{
  width:1%;
  white-space:nowrap;
  text-align:right;
}
@media (max-width: 1480px){
  .dashboard-grid{
    gap:16px;
  }
  .dashboard-widget-summary,
  .dashboard-widget-gold,
  .dashboard-widget-unassigned{
    grid-column:span 6;
  }
  .dashboard-grid.no-groups-widget .dashboard-widget-summary,
  .dashboard-grid.no-groups-widget .dashboard-widget-gold{
    grid-column:span 6;
  }
  .dashboard-widget-list,
  .dashboard-widget-offers{
    grid-column:span 6;
  }
  .stall-layout{
    grid-template-columns:1fr;
  }
  .stall-chat-panel{
    min-height:0;
  }
}
@media (max-width: 980px){
  .dashboard-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .dashboard-widget-summary,
  .dashboard-widget-gold,
  .dashboard-widget-unassigned,
  .dashboard-widget-list,
  .dashboard-widget-offers{
    grid-column:auto;
  }
  .dashboard-gold-split{
    grid-template-columns:1fr;
  }
  .dashboard-widget-summary,
  .dashboard-widget-gold,
  .dashboard-widget-unassigned,
  .dashboard-widget-list{
    min-height:auto;
  }
  .stall-summary-grid,
  .stall-seller-grid{
    grid-template-columns:1fr;
  }
}
.market-tab[data-market-tab="sell"].active{
  background:linear-gradient(180deg, rgba(180,122,58,.98), rgba(98,60,24,.98));
}
.market-tab[data-market-tab="trade"].active{
  background:linear-gradient(180deg, rgba(74,137,78,.98), rgba(36,83,40,.98));
}
.market-tab-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  margin-left:8px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(8,13,22,.34);
  color:#f5f9ff;
  font-size:.74rem;
  font-weight:700;
  border:1px solid rgba(255,255,255,.12);
}
.market-body{
  display:grid;
  gap:12px;
  padding:6px 0 0;
  border-radius:0;
  border:0;
  box-shadow:none;
  background:transparent;
}
.market-header{
  align-items:flex-start;
  margin:0;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(15,22,35,.92), rgba(9,14,23,.96));
  border:1px solid var(--primary-tint-bottom);
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.market-toolbar{
  align-items:end;
  margin:0;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(15,22,35,.92), rgba(9,14,23,.96));
  border:1px solid var(--primary-tint-bottom);
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.market-query{min-width:min(360px,100%);flex:1 1 360px}
.market-char{min-width:220px;flex:0 0 220px}
.market-type,.market-detail{min-width:220px;flex:0 0 220px}
.market-reset-btn{align-self:end}
.market-results{
  display:grid;
  gap:12px;
}
.market-section{
  display:grid;
  gap:12px;
  padding:12px 14px 14px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(15,22,35,.92), rgba(9,14,23,.96));
  border:1px solid var(--primary-tint-bottom);
  box-shadow:0 12px 28px rgba(0,0,0,.16);
}
.market-section-raw{
  padding-top:12px;
}
.market-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
}
.market-section-title{
  color:var(--text-main);
  font-size:1rem;
  font-weight:800;
  letter-spacing:.01em;
}
.market-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(286px, 1fr));
  gap:10px;
}
.market-offer-card{
  display:grid;
  gap:8px;
  padding:10px;
  border-radius:15px;
  border:1px solid var(--primary-tint-top);
  background:
          linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.016)),
          linear-gradient(180deg, rgba(12,19,31,.99), rgba(8,12,20,.995));
  box-shadow:0 12px 24px rgba(0,0,0,.18);
}
.market-offer-card.intent-buy{border-top:2px solid rgba(93,182,255,.72)}
.market-offer-card.intent-sell{border-top:2px solid rgba(255,189,84,.72)}
.market-offer-card.intent-trade{border-top:2px solid rgba(110,219,148,.72)}
.market-offer-top{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.market-offer-icons{
  width:48px;
  min-width:48px;
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
}
.market-offer-icons.is-multi{
  width:48px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.market-offer-icon{
  width:48px;
  height:48px;
}
.market-offer-icons.is-multi .market-offer-icon{
  width:22px;
  height:22px;
}
.market-offer-icons.is-multi .market-offer-icon:first-child{
  grid-column:1 / -1;
  width:48px;
  height:48px;
}
.market-offer-copy{
  min-width:0;
  display:grid;
  gap:5px;
}
.market-offer-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.market-offer-intent{
  color:#d8e7ff;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.market-offer-time{
  color:var(--text-muted);
  font-size:.75rem;
  white-space:nowrap;
}
.market-offer-title{
  color:#f0f5ff;
  font-size:.91rem;
  line-height:1.32;
  font-weight:700;
}
.market-offer-meta{
  color:#93a4c1;
  font-size:.8rem;
}
.market-chip-row,
.market-note-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.market-chip,
.market-note-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.045);
  color:#dfe9ff;
  font-size:.76rem;
}
.market-note-chip{
  color:#b9cae6;
  background:var(--primary-tint-bottom);
  border-color:var(--primary-tint-top);
}
.market-offer-actions{
  display:flex;
  justify-content:flex-end;
}
.market-offer-actions .action-btn,
.market-raw-row .action-btn{
  min-width:104px;
  width:104px;
  max-width:104px;
  min-height:34px;
  height:34px;
  justify-content:center;
  white-space:nowrap;
  flex:0 0 104px;
  padding:4px 0;
  line-height:1;
}
.market-raw-list{
  display:grid;
  gap:10px;
}
.market-raw-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:9px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012));
}
.market-raw-main{
  min-width:0;
  display:grid;
  gap:5px;
}
.market-raw-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  color:var(--text-muted);
  font-size:.78rem;
}
.market-raw-text{
  color:#dae4f8;
  line-height:1.4;
  word-break:break-word;
}
.market-raw-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(235,137,105,.18);
  color:#ffd7ca;
  font-size:.75rem;
  font-weight:700;
}
@media (max-width:1040px){
  .market-type,.market-detail,.market-char{min-width:0;flex:1 1 220px}
  .market-card-grid{grid-template-columns:1fr}
  .market-raw-row{flex-direction:column;align-items:stretch}
}
.item-search-group{
  padding:12px;
}
.item-search-container-list{
  display:grid;
  gap:10px;
}
.item-search-container-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
.item-search-group-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:12px;
}
.item-search-group-copy{
  min-width:0;
  display:grid;
  gap:5px;
}
.item-search-group-title{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.item-search-match-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:10px;
}
.item-search-match{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  position:relative;
  z-index:0;
  padding:9px 10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.026);
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.item-search-match:hover{
  border-color:var(--primary-border);
  background:var(--primary-tint-bottom);
  z-index:45;
}
.item-search-match-copy{
  min-width:0;
  display:grid;
  gap:4px;
}
.item-search-match .drop-item-name{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.search-slot{
  flex:0 0 auto;
}
.item-search-open-btn{
  flex:0 0 auto;
}
@media (max-width:980px){
  .item-search-type,
  .item-search-detail{
    min-width:0;
    flex:1 1 220px;
  }
  .item-search-group-head{
    flex-direction:column;
  }
  .item-search-container-head{
    flex-direction:column;
  }
}
.modal.hidden{display:none}.modal{position:fixed;inset:0;z-index:120;overflow-y:auto;overflow-x:hidden;min-height:100dvh;padding:4vh 12px;box-sizing:border-box}.modal-backdrop{position:fixed;inset:0;min-height:100dvh;background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}.modal-dialog{position:relative;max-width:min(1060px,94vw);margin:0 auto;background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom));padding:20px;max-height:none;overflow:visible;border-top:1px solid var(--primary-border);color:var(--text-main)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}.modal-header h2{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--text-main);font-size:1.3rem}.modal-close{font-size:23px;line-height:1;padding:1px 7px;border:none;background:transparent;color:var(--text-main)}
.container-panel{padding:10px;min-height:210px;background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom));color:var(--text-main)}
.container-grid{display:grid;grid-template-columns:repeat(var(--cols,4),auto);gap:0;justify-content:start}.slot{position:relative;display:block}.slot.empty{background:transparent}.slot img{width:var(--ui-slot-item-size,36px);height:var(--ui-slot-item-size,36px);object-fit:contain;image-rendering:auto;filter:none;display:block}.slot-qty,.slot-plus{position:absolute;font-size:.64rem;line-height:1;background:rgba(0,0,0,.72);padding:2px 4px;border-radius:3px}.slot-qty{right:2px;bottom:2px;color:#f2ede1}.slot-plus{left:2px;top:2px;color:#8cd6ff}.slot-empty-mark{width:var(--ui-slot-item-size,36px);height:var(--ui-slot-item-size,36px);border:0;box-shadow:none}
.slot-tooltip{display:none;position:absolute;left:calc(100% + 8px);top:-4px;min-width:230px;max-width:320px;padding:8px 10px;background:linear-gradient(180deg,rgba(12,10,8,.99),rgba(4,4,4,.995));border:1px solid rgba(217,183,122,.42);border-radius:4px;z-index:8;box-shadow:0 10px 26px rgba(0,0,0,.55)}.slot:hover{border-color:rgba(217,183,122,.34)}.slot:hover .slot-tooltip{display:block}.slot-name{font-weight:700;margin-bottom:5px;font-size:.98rem;font-family:Georgia,'Times New Roman',serif}.slot-name.plain{color:#f0efe8}.slot-name.blue{color:#5dd6ff}.slot-name.seal{color:#f1d45b}.tooltip-line{font-size:.8rem;color:#e1d8c9;line-height:1.35;margin-top:2px}.tooltip-line.tooltip-blue{color:#35c8ff;font-weight:600}.tooltip-line.tooltip-required{color:#ff625f}.tooltip-line.tooltip-seal{color:#e4d975}.container-caption{margin-top:9px;color:#c7b79b}.inline-pages{margin-bottom:9px}
.invstorage-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.invstorage-pane{padding:10px;display:grid;gap:8px;min-width:0}.invstorage-pane-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.invstorage-pane-head h3{margin:0;font-size:.92rem;font-family:Georgia,'Times New Roman',serif;color:var(--text-main)}.invstorage-pane-grid{min-width:0}
@media (max-width:860px){.invstorage-shell{grid-template-columns:minmax(0,1fr)}}
.equipment-layout-wrap{display:grid;justify-items:center}.equipment-layout{display:grid;grid-template-columns:68px 130px 68px;column-gap:10px;align-items:center;justify-items:center;width:min(100%,296px);padding:4px 0}.equipment-column{display:grid;grid-template-rows:repeat(7,44px);row-gap:4px;align-items:center;justify-items:center}.equipment-slot-cell{width:68px;display:grid;align-items:center}.equipment-slot-cell-left{justify-items:start}.equipment-slot-cell-right{justify-items:end}.equipment-center-card{grid-column:2;position:relative;align-self:center;width:130px;min-height:208px;padding:10px 8px;display:grid;justify-items:center;align-content:center;gap:6px;background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom));border:var(--border-soft);box-shadow:0 10px 24px rgba(0,0,0,.18)}.equipment-center-portrait{width:82px;height:82px;object-fit:contain;display:block}.equipment-center-placeholder{border-radius:50%;background:radial-gradient(circle at 50% 35%, var(--primary-tint-top), rgba(255,255,255,.03) 58%, rgba(0,0,0,.14) 100%)}.equipment-center-name{font-family:Georgia,'Times New Roman',serif;font-size:.9rem;font-weight:700;color:var(--text-main);text-align:center;line-height:1.1}.equipment-center-meta{font-size:.74rem;color:var(--text-muted);text-align:center;line-height:1.12}.equipment-slot{position:relative}.equipment-slot-empty{width:36px;height:36px}
.toast-stack{position:fixed;right:12px;bottom:12px;display:grid;gap:8px;z-index:99}.toast{padding:9px 11px;min-width:230px;border-radius:5px;background:linear-gradient(180deg,rgba(35,29,22,.98),rgba(15,11,9,.99))}.empty-state{padding:18px;color:var(--muted)}
@media (max-width:1640px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1360px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-layout{grid-template-columns:1fr}.compose-grid{grid-template-columns:1fr}}
@media (max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid rgba(217,183,122,.18)}.stats-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.container-grid{grid-template-columns:repeat(var(--cols,4),auto)}.slot img{width:var(--ui-slot-item-size,30px);height:var(--ui-slot-item-size,30px)}.slot-empty-mark{width:var(--ui-slot-item-size,30px);height:var(--ui-slot-item-size,30px)}}


/* --- 1.4.11 UI refresh overrides --- */
:root{
  --bg:#070b12;
  --bg-deep:#04070d;
  --panel:#0d131d;
  --panel-2:#111927;
  --panel-3:#182234;
  --text:#eaf1ff;
  --muted:#95a2ba;
  --gold:#FEF6C3;
  --gold-bright:#c2d6ff;
  --gold-dark:#3d5687;
  --line:var(--primary-border);
  --line-soft:rgba(255,255,255,.06);
  --red:#ff6b6b;
  --blue:#66b5ff;
  --green:#65d49a;
  --shadow:0 18px 46px rgba(0,0,0,.38);
  --radius-lg:18px;
  --radius-md:14px;
  --radius-sm:10px;
}
html,body{
  font-size:var(--app-font-size);
  background:
          radial-gradient(circle at top left, rgba(67,97,159,.16), transparent 28%),
          radial-gradient(circle at top right, rgba(88,133,255,.10), transparent 24%),
          linear-gradient(180deg, rgba(6,11,18,.82), rgba(6,10,16,.92)),
          linear-gradient(180deg, #09111b 0%, #060b13 100%);
}
body::before{background:
        linear-gradient(180deg, rgba(255,255,255,.03), transparent 18%),
        radial-gradient(circle at 15% 0%, var(--primary-tint-top), transparent 26%),
        radial-gradient(circle at 100% 0%, rgba(85,210,255,.10), transparent 22%);}
.app-shell{grid-template-columns:250px 1fr; background:transparent;}
.sidebar{
  padding:20px 16px;
  background:linear-gradient(180deg, rgba(10,16,25,.96), rgba(7,11,18,.98));
  border-right:1px solid var(--nav-solid-active-top);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.02);
}
.brand{padding:4px 6px 14px; align-items:center; gap:14px;}
.brand-mark{
  width:64px;height:64px;border-radius:16px;clip-path:none;
  background:linear-gradient(180deg,#5a83d8,#38518f);
  box-shadow:0 12px 24px rgba(41,77,154,.35), inset 0 1px 0 rgba(255,255,255,.18);
}
.brand-title{font-size:1.24rem; letter-spacing:.02em; font-family:Inter,Segoe UI,sans-serif;}
.brand-subtitle{font-size:.82rem; color:#8ea7d6; margin-top:4px; letter-spacing:.08em; text-transform:uppercase;}
.menu{gap:10px;}
.menu-section{display:grid;gap:8px}
.menu-section + .menu-section{margin-top:5px}
.menu-section-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 8px 4px;
  border:0;
  background:transparent;
  color:rgba(180,198,229,.82);
  cursor:pointer;
}
.menu-section-title{
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
}
.menu-section-caret{
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transition:transform .16s ease;
}
.menu-section.is-collapsed .menu-section-caret{
  transform:rotate(-45deg);
}
.menu-section-content{display:grid;gap:8px}
.menu-section.is-collapsed .menu-section-content{display:none}
.menu-item{
  padding:13px 15px; border-radius:14px; border:1px solid var(--primary-tint-bottom);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  color:#dce7ff;
  font-size:.96rem;
}
.menu-item:hover,.menu-item.active{
  background:linear-gradient(180deg, rgba(90,131,216,.22), rgba(40,64,117,.18));
  border-color:var(--primary-border);
  box-shadow:0 10px 20px rgba(16,25,43,.36), inset 0 1px 0 rgba(255,255,255,.08);
}
.menu-icon{width:20px; height:20px; flex:0 0 20px; color:#8eb3ff;}
.menu-icon img{width:20px; height:20px;}
.menu-submenu{
  display:none;
  margin:-2px 0 4px 36px;
  padding:2px 0 0;
  gap:0     ;
}
.menu-submenu.active{
  display:grid;
}
.menu-subitem{
  width:100%;
  display:flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:rgba(190,206,232,.78);
  font-size:.78rem;
  font-weight:600;
  text-align:left;
  cursor:pointer;
}
.menu-subitem:hover{
  background:var(--primary-tint-bottom);
  color:#dbe7ff;
}
.menu-subitem.active{
  background:var(--primary-tint-top);
  color:#f2f7ff;
}
.sidebar-footer{
  padding:14px; border-radius:16px; background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid var(--primary-tint-bottom);
}
.sidebar-footer.sidebar-footer-subtle{
  padding:4px 2px 0;
  border:0;
  background:transparent !important;
  border-radius:0;
  box-shadow:none;
  text-align: center;
}
.language-picker{margin-bottom:14px}
.language-picker label{color:var(--text-muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em}
.language-picker select{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  color:var(--text-main);
  border-radius:12px;
  padding:10px 12px;
}
.language-picker select:focus{border-color:var(--primary-border); box-shadow:0 0 0 3px var(--primary-tint-bottom);}
.sidebar-footer-subtle .language-picker{
  margin-bottom:6px;
}
.sidebar-footer-subtle .language-picker label{
  font-size:.66rem;
  letter-spacing:.06em;
  color:rgba(142,160,191,.72);
}
.sidebar-footer-subtle .language-picker select{
  min-height:30px;
  padding:5px 8px;
  border-radius:9px;
  background:rgba(255,255,255,.02);
  border-color:rgba(255,255,255,.04);
  font-size:.82rem;
}
.sidebar-footer-subtle .pill-row{
  gap:6px;
  font-size:.76rem;
  color:rgba(201,214,238,.78);
  justify-content: center;
}
.sidebar-settings-button{
  width:100%;
  margin-bottom:10px;
}
.sidebar-footer-subtle .status-dot{
  width:8px;
  height:8px;
}
.sidebar-footer-subtle .small-meta{
  margin-top:2px;
  font-size:.68rem;
  color:rgba(142,160,191,.62);
}
.alchemy-subnav{
  display:flex;
  gap:8px;
  margin-bottom:12px;
}
.alchemy-subnav-btn{
  min-height:34px;
  padding:7px 12px;
  border-radius:10px;
  border:1px solid var(--primary-tint-bottom);
  background:rgba(255,255,255,.02);
  color:#aabbd9;
  font-size:.84rem;
  font-weight:700;
  cursor:pointer;
}
.alchemy-subnav-btn.active{
  background:linear-gradient(180deg, var(--primary-tint-top), var(--primary-tint-bottom));
  border-color:var(--primary-border);
  color:#f2f7ff;
}
.stats-reset-inline{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;opacity:.92}
.stats-reset-inline:hover{opacity:1}
.alchemy-sessions-view[hidden],
.alchemy-statistics-view[hidden]{
  display:none !important;
}
.content{padding:18px 20px 20px; gap:16px;}
.topbar{padding:8px 4px 2px;}
.topbar h1{
  font-family:Inter,Segoe UI,sans-serif; font-size:2rem; font-weight:600;
  color:#f4f8ff; text-shadow:none;
}
.topbar p{font-size:1rem; color:#8f9eb9;}
.ornate-frame, .table-card, .stats-card, .chat-panel, .filter-card, .compose-panel, .guild-panel, .modal-shell{
  border:1px solid var(--primary-tint-top);
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(14px);
}
.ornate-frame::before,.ornate-frame::after{display:none;}
.stats-grid{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; align-items:start;}
.stats-summary{
  grid-column:1 / -1; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px;
  padding:10px 12px; border-radius:18px;
}
.summary-chip{
  min-width:0; padding:10px 12px; border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.06);
}
.summary-label{display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:#8191ac;}
.summary-value{display:block; margin-top:4px; font-size:1.02rem; font-weight:800; color:var(--text-main);}
.stats-card{
  border-radius:20px; padding:16px; overflow:hidden; position:relative;
  background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom));
}
.stats-card-main{display:grid; gap:0;}
.stats-card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:4px;
  background:linear-gradient(90deg, rgba(102,181,255,.0), rgba(102,181,255,.85), rgba(102,181,255,.0));
}
.stats-card.is-offline .stats-card-main{opacity:.52; filter:grayscale(.25) saturate(.75);}
.stats-card.is-offline::before{background:linear-gradient(90deg, rgba(255,255,255,0), rgba(134,149,179,.6), rgba(255,255,255,0));}
.stats-card.is-dead{
  background:linear-gradient(180deg, rgba(63,18,22,.98), rgba(36,10,14,.98));
  border-color:rgba(185,72,86,.34);
}
.stats-card.is-dead::before{background:linear-gradient(90deg, rgba(255,255,255,0), rgba(214,94,107,.8), rgba(255,255,255,0));}
.stats-card-header{display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:14px;}
.stats-map-jump-btn{
  flex:0 0 auto;
  margin-left:auto;
}
.char-title-block{display:flex; align-items:flex-start; gap:12px; min-width:0;}
.char-portrait-wrap{
  width:56px;
  height:56px;
  flex:0 0 56px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(160,197,255,.22);
  background:linear-gradient(180deg,rgba(42,58,86,.92),rgba(18,27,42,.98));
  box-shadow:0 8px 20px rgba(4,8,14,.34);
}
.char-portrait{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
}
.char-name-row{display:flex; align-items:center; gap:10px; margin-bottom:10px; flex-wrap:wrap;}
.char-name-row strong{font-size:1.16rem; letter-spacing:-.02em;}
.char-level-line{
  margin-top:-4px;
  margin-bottom:10px;
  font-size:.82rem;
  line-height:1.2;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(203,223,255,.76);
}
.char-level-badge{
  background:rgba(102,181,255,.12); color:#b9d6ff; border:1px solid rgba(102,181,255,.18);
  padding:5px 10px; border-radius:999px; font-weight:700; font-size:.96rem; line-height:1;
}
.char-sub{display:flex; flex-wrap:wrap; gap:8px;}
.meta-tag{display:flex; gap:6px; align-items:center; padding:6px 9px; border-radius:999px; background:linear-gradient(rgba(0, 0, 0, 0.88), rgba(8, 8, 8, 0.96)); border:1px solid rgba(255,255,255,.05);}
.meta-k{font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; color:#7f90ac;}
.meta-v{color:#dfe9ff; font-weight:600;}
.status-inline{display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end;}
.status-text{font-weight:800; letter-spacing:.02em; font-size:.88rem;}
.status-text.online{color:#68d39b}.status-text.offline{color:#98a6c0}.status-text.alive{color:#8fe0b4}.status-text.dead{color:#ff8d8d}.status-text.unknown{color:#c7d0df}
.metric-grid.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:12px;}
.metric{
  padding:12px 12px; border-radius:16px; background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.06);
}
.metric-label{font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; color:#8191ac; margin-bottom:4px;}
.metric-value{font-size:1.05rem; font-weight:800; color:var(--text-main);}
.metric-action{cursor:pointer; text-align:left; transition:border-color .12s ease, box-shadow .12s ease, background .12s ease;}
.metric-action:hover{border-color:var(--primary-border); box-shadow:0 10px 18px rgba(10,16,25,.3); background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.028));}
.bar-group.compact-bars{display:grid; gap:10px; margin-bottom:14px;}
.bar-label-row{display:flex; justify-content:space-between; gap:10px; margin-bottom:6px; color:#9eb0cd;}
.bar-track{height:10px; border-radius:999px; background:rgba(255,255,255,.06); overflow:hidden;}
.bar-fill{
  height:100%;
  transition:width .42s cubic-bezier(.22,1,.36,1), filter .24s ease;
  will-change:width;
}
.bar-fill.hp{background:linear-gradient(90deg,#ff6b6b,#ff8c7d)}
.bar-fill.mp{background:linear-gradient(90deg,#63b8ff,#7fe6ff)}
.bar-fill.xp{background:linear-gradient(90deg,#7596ff,#b7c8ff)}
.detail-grid.compact-detail{display:grid; gap:3px;}
.detail-row{display:flex; justify-content:space-between; gap:12px; padding:5px 0; border-top:1px solid rgba(255,255,255,.05); line-height:1.2;}
.detail-row span:first-child{color:#8191ac}.detail-row span:last-child{text-align:right; color:#e8f0ff;}
.card-actions{display:flex; gap:10px; margin-top:14px;}
.action-btn{
  padding:10px 13px; border-radius:12px; border:1px solid var(--primary-tint-top);
  background:linear-gradient(180deg, rgba(101,141,232,.22), rgba(53,79,144,.18));
  color:#e9f1ff; font-weight:700; cursor:pointer; transition:border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.action-btn:hover{border-color:var(--primary-border); box-shadow:0 10px 18px rgba(18,30,56,.28); background:linear-gradient(180deg, rgba(112,154,246,.26), rgba(58,87,157,.22));}
.container-note{
  margin-bottom:10px; padding:10px 12px; border-radius:12px;
  background:var(--primary-tint-bottom); border:1px solid var(--primary-tint-top);
  color:#e9f1ff; font-size:.88rem; line-height:1.4;
}
.table-card, .chat-panel, .guild-panel, .filter-card, .compose-panel{border-radius:20px;}
.table-card table{border-collapse:separate; border-spacing:0 8px; width:100%;}
.table-card thead th{padding:0 12px 10px; color:var(--text-muted); text-transform:uppercase; letter-spacing:.08em; font-size:.74rem; font-weight:700;}
.table-card tbody tr{background:rgba(255,255,255,.025);}
.table-card tbody td{padding:14px 12px; border-top:1px solid rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.04);}
.table-card tbody td:first-child{border-left:1px solid rgba(255,255,255,.04); border-radius:14px 0 0 14px;}
.table-card tbody td:last-child{border-right:1px solid rgba(255,255,255,.04); border-radius:0 14px 14px 0;}
.item-cell{display:flex; align-items:center; gap:12px;}
.item-cell img{width:36px; height:36px; border-radius:10px; background:#0d1320; border:1px solid var(--primary-tint-bottom); padding:4px;}
.chat-layout{display:grid; grid-template-columns:1.2fr 280px; gap:16px; align-items:start;}
.chat-panel, .chat-side{min-height:520px;}
.chat-feed{display:flex; flex-direction:column; gap:10px; max-height:540px; overflow:auto; padding:8px;}
.chat-entry{
  align-self:flex-start; width:min(100%, 880px); padding:12px 14px; border-radius:16px; background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.05);
}
.chat-entry.private{border-color:rgba(107,185,255,.18); background:rgba(83,140,255,.08)}
.chat-entry.global{border-color:rgba(143,179,255,.16); background:rgba(92,108,189,.08)}
.chat-entry.union{border-color:rgba(112,225,193,.16); background:rgba(49,124,109,.1)}
.chat-line{line-height:1.45; color:var(--text-main);}.chat-meta{margin-top:6px; color:var(--text-muted); font-size:.86rem}.chat-time{display:inline-block; min-width:160px; color:var(--text-muted); font-variant-numeric:tabular-nums;}
.chat-side{padding:16px; border-radius:20px; background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom)); border:1px solid var(--primary-tint-top);}
.contact-btn{width:100%; text-align:left; padding:10px 12px; border-radius:12px; background:linear-gradient(rgba(0, 0, 0, 0.88), rgba(8, 8, 8, 0.96)); border:1px solid rgba(255,255,255,.05); color:var(--text-main); margin-bottom:8px;}
.contact-btn.active,.contact-btn:hover{background:var(--primary-tint-top); border-color:var(--primary-border)}
.filter-card,.compose-panel{padding:14px 16px;}
.filter-row,.compose-grid{display:grid; gap:10px; grid-template-columns:repeat(4,minmax(0,1fr));}
.compose-grid{grid-template-columns:1fr 220px 160px auto; align-items:end;}
.field{display:flex; flex-direction:column; gap:6px;}
.field label{color:var(--text-muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.08em;}
input,select,textarea{
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); color:var(--text-main); border-radius:12px; padding:11px 12px; outline:none;
}
input:focus,select:focus,textarea:focus{border-color:var(--primary-border); box-shadow:0 0 0 3px var(--primary-tint-bottom);}
.page-meta{color:var(--text-muted)}
.page-btn,.page-tab,.guild-tab,.tab-btn{
  border-radius:11px; border:1px solid rgba(255,255,255,.06); background:linear-gradient(rgba(0, 0, 0, 0.88), rgba(8, 8, 8, 0.96)); color:#dbe8ff; padding:9px 12px; cursor:pointer;
}
.page-btn:hover,.page-tab:hover,.guild-tab:hover,.tab-btn:hover,.guild-tab.active,.tab-btn.active{background:var(--primary-tint-top); border-color:var(--primary-border)}
.modal-loading{display:grid; place-items:center; min-height:220px; font-size:1rem; color:#a9bad7;}
#container-modal .ornate-frame, .modal-shell{border-radius:22px;}
.container-grid{gap:0;padding:0}
.slot{
  margin:0;
  padding:0;
  width:var(--ui-slot-box-size,44px);
  height:var(--ui-slot-box-size,44px);
  border-radius:2px;
  overflow:visible;
  isolation:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, rgba(10,10,10,.98), rgba(18,18,18,.95));
  border:1px solid rgba(72,72,72,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), inset 0 0 0 1px rgba(0,0,0,.48);
}
.slot.has-item-menu{
  outline:none;
  outline-offset:0;
}
.slot.has-item-menu:hover{
  outline:none;
}
.slot img{
  width:var(--ui-slot-item-size,36px);
  height:var(--ui-slot-item-size,36px);
  object-fit:contain;
  display:block;
  image-rendering:auto;
  filter:none;
  margin:0;
}
.slot-empty-mark{
  width:100%;
  height:100%;
  border:0;
  box-shadow:none;
  background:transparent;
  display:block;
}
.slot img{filter:none;}
.slot-qty,
.slot-plus,
.slot-degree{
  position:absolute;
  line-height:1;
  background:rgba(0,0,0,.78);
  padding:2px 4px;
  border-radius:3px;
  z-index:3;
}
.slot-qty{
  right:2px;
  bottom:2px;
  color:#f2ede1;
  font-size:.64rem;
}
.slot-plus{
  left:2px;
  top:2px;
  color:#8cd6ff;
  font-size:.64rem;
  font-weight:700;
  text-shadow:none;
}
.slot-degree{
  left:2px;
  bottom:2px;
  color:#f6e8ba;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.04em;
  text-shadow:0 0 6px rgba(0,0,0,.55);
}
.slot-rare-edge{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background-image:url('./assets/items/etc/icon_edge_rare.png');
  background-repeat:no-repeat;
  background-size:800% 400%;
  background-position:0 0;
  opacity:1;
  animation:slot-rare-edge 1.1s steps(1) infinite;
}
@keyframes slot-rare-edge{
  0%{background-position:0% 0%}
  3.125%{background-position:14.285714% 0%}
  6.25%{background-position:28.571429% 0%}
  9.375%{background-position:42.857143% 0%}
  12.5%{background-position:57.142857% 0%}
  15.625%{background-position:71.428571% 0%}
  18.75%{background-position:85.714286% 0%}
  21.875%{background-position:100% 0%}
  25%{background-position:0% 33.333333%}
  28.125%{background-position:14.285714% 33.333333%}
  31.25%{background-position:28.571429% 33.333333%}
  34.375%{background-position:42.857143% 33.333333%}
  37.5%{background-position:57.142857% 33.333333%}
  40.625%{background-position:71.428571% 33.333333%}
  43.75%{background-position:85.714286% 33.333333%}
  46.875%{background-position:100% 33.333333%}
  50%{background-position:0% 66.666667%}
  53.125%{background-position:14.285714% 66.666667%}
  56.25%{background-position:28.571429% 66.666667%}
  59.375%{background-position:42.857143% 66.666667%}
  62.5%{background-position:57.142857% 66.666667%}
  65.625%{background-position:71.428571% 66.666667%}
  68.75%{background-position:85.714286% 66.666667%}
  71.875%{background-position:100% 66.666667%}
  75%{background-position:0% 100%}
  78.125%{background-position:14.285714% 100%}
  81.25%{background-position:28.571429% 100%}
  84.375%{background-position:42.857143% 100%}
  87.5%{background-position:57.142857% 100%}
  90.625%{background-position:71.428571% 100%}
  93.75%{background-position:85.714286% 100%}
  96.875%,100%{background-position:100% 100%}
}
.native-select-hidden{
  display:none !important;
}
.custom-select{
  position:relative;
}
.custom-select-trigger{
  width:100%;
  text-align:left;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.07);
  background:linear-gradient(rgba(0, 0, 0, 0.88), rgba(8, 8, 8, 0.96));
  color:var(--text-main);
  cursor:pointer;
  position:relative;
}
.custom-select-trigger::after{
  content:"";
  position:absolute;
  right:12px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid rgba(219,232,255,.8);
  border-bottom:2px solid rgba(219,232,255,.8);
  transform:translateY(-65%) rotate(45deg);
  transition:transform .16s ease;
}
.custom-select.open .custom-select-trigger::after{
  transform:translateY(-25%) rotate(-135deg);
}
.custom-select-trigger:focus{
  border-color:var(--primary-border);
  box-shadow:0 0 0 3px var(--primary-tint-bottom);
}
.custom-select-menu{
  display:none;
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  z-index:25;
  max-height:min(320px, 45vh);
  overflow:auto;
  padding:8px;
  border-radius:14px;
  border:1px solid var(--primary-tint-top);
  background:linear-gradient(180deg, rgba(17,26,42,.98), rgba(9,14,23,.99));
  box-shadow:0 18px 36px rgba(0,0,0,.4);
}
.custom-select.open-up .custom-select-menu{
  top:auto;
  bottom:calc(100% + 8px);
}
.custom-select.open .custom-select-menu{
  display:grid;
  gap:6px;
}
.custom-select-option{
  width:100%;
  text-align:left;
  padding:9px 11px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.04);
  background:linear-gradient(rgba(0, 0, 0, 0.88), rgba(8, 8, 8, 0.96));
  color:var(--text-main);
  cursor:pointer;
}
.custom-select-option:hover,
.custom-select-option.selected{
  background:var(--primary-tint-top);
  border-color:var(--primary-border);
}
.custom-select-option.disabled{
  opacity:.45;
  cursor:not-allowed;
  color:#8a95aa;
}
.custom-select-option.disabled:hover{
  background:linear-gradient(rgba(0, 0, 0, 0.88), rgba(8, 8, 8, 0.96));
  border-color:rgba(255,255,255,.04);
}

.custom-select-group{
  padding:6px 10px 2px;
  color:rgba(231,220,189,.82);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.custom-select-option.is-grouped{
  padding-left:18px;
}

.stats-panel-header{
  align-items:flex-start;
}
.stats-header-main{
  display:grid;
  gap:10px;
  min-width:280px;
}
.stats-header-main .stats-search{
  max-width:340px;
}
.stats-header-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  min-width:0;
}
.stats-unassigned-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:39px;
  padding:4px 2px;
  border-radius:0;
  background:transparent;
  border:0;
  color:#ff8d8d;
  font-weight:700;
  box-shadow:none;
}
.stats-unassigned-badge.is-hidden{
  display:none !important;
}

.stats-group{
  grid-column:1 / -1;
  overflow:hidden;
  position:relative;
  border:1px solid var(--primary-tint-top);
  background:linear-gradient(180deg, var(--surface-bottom), var(--surface-bottom));
  box-shadow:0 16px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.03);
}
.stats-group::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, rgba(102,181,255,0), rgba(102,181,255,.72), rgba(102,181,255,0));
  pointer-events:none;
}
.stats-group-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:14px 16px 0;
  cursor:pointer;
  outline:none;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.008));
}
.stats-group-summary:hover .stats-group-toggle-rail,
.stats-group-summary:focus-visible .stats-group-toggle-rail{
  border-color:var(--primary-border);
  background:var(--primary-tint-bottom);
}
.stats-group-summary:focus-visible{
  box-shadow:inset 0 0 0 1px var(--primary-border);
  border-radius:14px;
}
.stats-group-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.stats-group-title{
  min-width:0;
  font-size:1.06rem;
  font-weight:800;
  color:var(--text-main);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  letter-spacing:.01em;
}
.stats-group-title-wrap{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.stats-group-edit{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:var(--text-main);
  cursor:pointer;
  flex:0 0 auto;
}
.stats-group-edit:hover{
  border-color:var(--primary-border);
  background:var(--primary-tint-top);
}
.stats-group-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.stats-group-toggle-btn{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:var(--text-main);
  cursor:pointer;
  flex:0 0 auto;
  padding:0;
}
.stats-group-toggle-btn img{
  width:15px;
  height:15px;
  object-fit:contain;
}
.stats-group-toggle-btn:hover,
.stats-group-toggle-btn:focus-visible{
  border-color:var(--primary-border);
  background:var(--primary-tint-top);
}
.stats-group-toggle-rail{
  display:grid;
  place-items:center;
  height:28px;
  margin:6px -16px 0;
  border-top:1px solid rgba(255,255,255,.06);
  color:var(--text-muted);
  background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.008));
  border-radius:0 0 14px 14px;
  overflow:hidden;
  transition:border-color .12s ease, background .12s ease, color .12s ease;
}
.stats-group-toggle-icon{
  width:11px;
  height:11px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  opacity:.9;
}
.stats-group-toggle-rail.is-open .stats-group-toggle-icon{
  transform:translateY(2px) rotate(-135deg);
}
.stats-group-chips{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.stats-group-cards{
  background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.005));
}
.stats-search-results{
  grid-column:1 / -1;
}
.summary-chip.compact{
  padding:10px 12px;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:8px;
  min-height:72px;
  background:linear-gradient(180deg, rgba(17,24,36,.92), rgba(10,14,22,.96));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.summary-chip-label{
  display:block;
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#93a6c6;
}
.summary-chip.compact .summary-value{
  font-size:.9rem;
  line-height:1.2;
  width:100%;
}
.summary-value.summary-split{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  flex-wrap:nowrap;
}
.summary-value.summary-single{
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.summary-pair{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  min-width:0;
}
.summary-inline-label{
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8191ac;
}
.summary-part{
  font-weight:700;
  font-size:1.2rem;
  line-height:1;
}
.summary-part.is-good{
  color:#8fe0b4;
}
.summary-part.is-bad{
  color:#ff8d8d;
}
.summary-part.is-neutral{
  color:var(--text-main);
}
.summary-sep{
  color:#7f90ac;
}
.summary-value.summary-gold{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.summary-value.summary-gold img{
  width:16px;
  height:16px;
  object-fit:contain;
  flex:0 0 auto;
}
.stats-group-cards{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  padding:0 14px 14px;
}
.stats-manager{
  display:none;
}
.stats-member-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.stats-member-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid var(--primary-tint-top);
  background:var(--primary-tint-bottom);
  color:var(--text-main);
  cursor:pointer;
}
.stats-member-chip span{
  color:#bcd1ff;
  font-size:.8rem;
}
.danger-btn{
  border-color:rgba(255,107,107,.22);
  background:linear-gradient(180deg, rgba(255,107,107,.20), rgba(117,37,47,.16));
}
.danger-btn:hover{
  border-color:rgba(255,107,107,.34);
  background:linear-gradient(180deg, rgba(255,107,107,.26), rgba(117,37,47,.22));
}
.success-btn{
  border-color:rgba(101,212,154,.26);
  background:linear-gradient(180deg, rgba(101,212,154,.20), rgba(34,95,69,.18));
}
.success-btn:hover{
  border-color:rgba(101,212,154,.38);
  background:linear-gradient(180deg, rgba(101,212,154,.26), rgba(34,95,69,.24));
}
.group-editor-dialog{
  max-width:min(1180px, 95vw);
}
.group-editor-panel{
  padding-top:4px;
}
.group-editor-grid{
  display:grid;
  gap:14px;
}
.group-editor-name{
  display:grid;
  gap:8px;
}
.group-editor-search{
  display:grid;
  gap:8px;
}
.group-editor-name label{
  color:var(--text-muted);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.group-editor-search label{
  color:var(--text-muted);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.group-editor-name-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.group-editor-search input{
  width:100%;
  min-height:40px;
  padding:9px 12px;
  border-radius:10px;
  border:var(--border-soft);
  background:var(--field-grad);
  color:var(--text-main);
}
.group-editor-pencil{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:var(--text-main);
  font-size:1rem;
}
.group-editor-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.group-editor-column{
  padding:12px;
  min-height:380px;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:10px;
}
.group-editor-column-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.group-editor-list{
  display:grid;
  gap:8px;
  align-content:start;
  max-height:52vh;
  overflow:auto;
}
.group-editor-entry{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  width:100%;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.06);
  background:linear-gradient(rgba(0, 0, 0, 0.88), rgba(8, 8, 8, 0.96));
  color:var(--text-main);
  cursor:pointer;
  text-align:left;
}
.group-editor-entry:hover{
  border-color:var(--primary-border);
  background:var(--primary-tint-top);
}
.group-editor-entry.is-member{
  border-color:var(--primary-tint-top);
}
.group-editor-entry-main{
  display:grid;
  gap:3px;
  min-width:0;
}
.group-editor-entry-main strong{
  color:var(--text-main);
}
.group-editor-entry-main span{
  color:var(--text-muted);
  font-size:.84rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.group-editor-entry-action{
  flex:0 0 auto;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  font-size:1rem;
  font-weight:700;
}
.group-editor-entry-action.is-add{
  background:rgba(101,212,154,.18);
  color:#8ef0bb;
}
.group-editor-entry-action.is-remove{
  background:rgba(255,107,107,.18);
  color:#ffb2b2;
}
.group-editor-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.group-editor-actions-right{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

@media (max-width:1640px){
  .stats-group-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
  .alchemy-session-icon-cel {
    overflow-x: auto;
  }
}
@media (max-width:1360px){
  .stats-group-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1100px){
  .stats-group-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .group-editor-columns{grid-template-columns:1fr}
}
@media (max-width:860px){
  .stats-group-cards{grid-template-columns:1fr}
  .stats-group-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-header-tools{justify-content:stretch}
  .stats-header-main .stats-search{max-width:none}
  .stats-header-tools .stats-search{width:100%;max-width:none}
  .group-editor-actions{flex-direction:column;align-items:stretch}
  .group-editor-actions-right{width:100%}
  .group-editor-actions-right .action-btn{flex:1 1 auto}
  .stats-group-summary{cursor:default}
  .stats-group-toggle-rail{display:none}
}
.slot-tooltip{border-radius:14px; background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom)); border-color:var(--primary-border);}
.toast{border-radius:14px; border:1px solid var(--primary-tint-top); background:linear-gradient(180deg, rgba(17,26,42,.97), rgba(9,14,23,.98));}
.empty-state{padding:22px; color:var(--text-muted); text-align:center;}
@media (max-width:1700px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));} .stats-summary{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media (max-width:1400px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));} .stats-summary{grid-template-columns:repeat(3,minmax(0,1fr));} .compose-grid{grid-template-columns:1fr 200px 150px auto;}}
@media (max-width:1120px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .stats-summary{grid-template-columns:repeat(2,minmax(0,1fr));} .chat-layout{grid-template-columns:1fr;} .compose-grid,.filter-row{grid-template-columns:1fr 1fr;}}
@media (max-width:860px){.app-shell{grid-template-columns:1fr;} .sidebar{border-right:0; border-bottom:1px solid var(--primary-tint-top);} .stats-grid{grid-template-columns:1fr;} .stats-summary{grid-template-columns:1fr;} .filter-row,.compose-grid{grid-template-columns:1fr;} }


/* --- 1.4.14 tooltip + chat fixes --- */
.chat-entry{
  max-height:none !important;
  overflow:visible !important;
  align-self:start;
}
.chat-feed{
  grid-auto-rows:max-content;
  align-content:start;
}
.slot{
  overflow:visible;
}
.slot-tooltip{
  display:none;
  left:calc(100% + 10px);
  top:-8px;
  min-width:286px;
  max-width:344px;
  padding:9px 11px 10px;
  border-radius:2px;
  background:linear-gradient(180deg, rgba(27,34,60,.97), rgba(19,24,45,.985));
  border:1px solid rgba(154,170,214,.52);
  box-shadow:0 8px 22px rgba(0,0,0,.62);
}
.slot:hover{z-index:30}
.slot:hover .slot-tooltip{display:none}
.slot.tooltip-left .slot-tooltip{
  left:auto;
  right:calc(100% + 10px);
}
.slot.tooltip-up .slot-tooltip{
  top:auto;
  bottom:-8px;
}
.slot-name{
  font-family:Tahoma, Arial, sans-serif;
  font-size:16px;
  font-weight:700;
  line-height:1.1;
  margin-bottom:5px;
  text-shadow:0 1px 0 rgba(0,0,0,.65);
}
.slot-name.plain,
.slot-tooltip .slot-name.plain{color:#f2f2f2 !important}
.slot-name.blue,
.slot-tooltip .slot-name.blue{color:#74ebff !important}
.slot-name.seal,
.slot-tooltip .slot-name.seal{color:#ffd54a !important}
.tooltip-line{
  font-family:Tahoma, Arial, sans-serif;
  font-size:12px;
  color:#e8edf8;
  line-height:1.26;
  margin-top:0;
  text-shadow:0 1px 0 rgba(0,0,0,.65);
  white-space:normal;
  word-break:break-word;
}
.tooltip-section + .tooltip-section{margin-top:8px}
.tooltip-section-header .tooltip-line{color:#d4bf8e}
.tooltip-section-stats .tooltip-line{color:#f2f4fa}
.tooltip-section-meta .tooltip-line{color:#ddd3bf}
.tooltip-line.tooltip-stat{color:#f2f4fa}
.tooltip-line.tooltip-meta{color:#d4bf8e}
.tooltip-line.tooltip-seal,
.slot-tooltip .tooltip-line.tooltip-seal{color:#ffd54a !important;font-weight:700}
.tooltip-line.tooltip-green,
.slot-tooltip .tooltip-line.tooltip-green{color:#77ff69 !important;font-weight:700}
.tooltip-line.tooltip-blue,
.slot-tooltip .tooltip-line.tooltip-blue{color:#74ebff !important;font-weight:700}
.tooltip-line.tooltip-extra,
.slot-tooltip .tooltip-line.tooltip-extra{color:#f2f4fa !important}
.tooltip-line.tooltip-required,
.slot-tooltip .tooltip-line.tooltip-required{color:#ff5f58 !important}
.tooltip-line.tooltip-race,
.slot-tooltip .tooltip-line.tooltip-race{color:#ddd3bf !important;font-weight:400}
.slot-tooltip-floating{
  position:fixed !important;
  display:block !important;
  z-index:5000 !important;
  pointer-events:none;
}
.item-context-menu{
  position:fixed;
  z-index:5200;
  min-width:220px;
  padding:6px;
  overflow:visible;
  background:linear-gradient(180deg, rgba(18,22,34,.99), rgba(11,14,24,.995));
  border:1px solid rgba(154,170,214,.38);
  border-radius:4px;
  box-shadow:0 12px 28px rgba(0,0,0,.55);
}
.item-context-menu.hidden{display:none}
.item-context-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:7px 9px;
  border:0;
  background:transparent;
  color:#eceff8;
  font:600 12px Tahoma, Arial, sans-serif;
  text-align:left;
  border-radius:4px;
  cursor:pointer;
}
.item-context-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.item-context-icon{
  width:18px;
  height:18px;
  object-fit:contain;
  flex:0 0 18px;
  border-radius:2px;
}
.item-context-icon.hidden{
  display:none;
}
.item-context-row:hover,
.item-context-row.active{
  background:rgba(116,170,255,.14);
  color:#ffffff;
}
.item-context-parent{
  position:relative;
  border-bottom:1px solid rgba(154,170,214,.14);
  margin-bottom:0;
}
.item-context-caret{
  font-size:11px;
  opacity:.86;
  transition:transform .14s ease;
}
.item-context-submenu{
  display:none;
  position:absolute;
  top:-6px;
  left:calc(100% + 6px);
  min-width:220px;
  padding:6px;
  background:linear-gradient(180deg, rgba(18,22,34,.99), rgba(11,14,24,.995));
  border:1px solid rgba(154,170,214,.38);
  border-radius:4px;
  box-shadow:0 12px 28px rgba(0,0,0,.55);
}
.item-context-menu.is-submenu-open .item-context-submenu{
  display:block;
}
.item-context-menu.is-submenu-open .item-context-caret{
  transform:rotate(90deg);
}

html,
body,
body *,
button,
input,
select,
textarea,
option{
  font-family:Segoe UI, Tahoma, Arial, sans-serif !important;
}

input::placeholder,
textarea::placeholder{
  font-family:Segoe UI, Tahoma, Arial, sans-serif !important;
}

/* --- compact pass --- */
:root{
  --radius-lg:12px;
  --radius-md:9px;
  --radius-sm:7px;
}
.app-shell{grid-template-columns:228px 1fr;}
.sidebar{padding:8px 12px;gap:12px;}
.content{padding:45px 16px 36px;gap:12px;}
.topbar{padding:4px 2px 0;}
.topbar h1{font-size:1.8rem;}
.topbar p{font-size:.92rem;}
.brand{padding:2px 4px 2px;gap:12px;}
.brand-mark{width:58px;height:58px;border-radius:14px;}
.menu{gap:8px;}
.menu-item{padding:10px 12px;border-radius:10px;}
.sidebar-footer{padding:11px;border-radius:12px;}
.language-picker{margin-bottom:10px;}
.language-picker select{border-radius:9px;padding:8px 10px;}
.panel,.panel-dense{padding:8px;}
.panel-header{margin-bottom:8px;}
.toolbar{gap:6px;margin-bottom:8px;}
.field-group{gap:3px;min-width:150px;}
.field-group input,.field-group select,.stats-search,.compose-row input{padding:8px 10px;border-radius:9px;}
.stats-grid{gap:10px;}
.stats-card{padding:12px;border-radius:14px;}
.stats-card-header{gap:10px;margin-bottom:10px;}
.char-name-row{gap:8px;margin-bottom:8px;}
.char-level-badge{padding:4px 8px;font-size:.9rem;}
.char-sub{gap:6px;}
.meta-tag{padding:5px 8px;}
.metric-grid.compact-grid{gap:8px;margin-bottom:10px;}
.metric{padding:9px 10px;border-radius:11px;}
.bar-group.compact-bars{gap:8px;margin-bottom:10px;}
.card-actions{gap:8px;margin-top:10px;}
.action-btn{padding:8px 11px;border-radius:9px;}
.table-card,.chat-panel,.guild-panel,.filter-card,.compose-panel,.chat-side{border-radius:14px;}
.table-card thead th{padding:0 10px 8px;}
.table-card tbody td{padding:11px 10px;}
.table-card tbody td:first-child{border-radius:10px 0 0 10px;}
.table-card tbody td:last-child{border-radius:0 10px 10px 0;}
.item-cell{gap:10px;}
.item-cell img{width:34px;height:34px;border-radius:8px;padding:3px;}
.drop-item-cell{position:relative;display:flex;align-items:center;}
.drop-item-copy{display:flex;align-items:center;min-height:42px;}
.drop-slot{
  width:42px;
  height:42px;
  flex:0 0 auto;
}
.drop-slot img{
  width:100%;
  height:100%;
  padding:0;
  border-radius:0;
}
.drop-row:hover .drop-slot{
  z-index:30;
}
.drop-item-name{
  font-family:Tahoma, Arial, sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
}
.drop-item-name.plain{color:#f2f2f2}
.drop-item-name.blue{color:#74ebff}
.drop-item-name.seal{color:#ffd54a}
.chat-layout{gap:12px;}
.chat-main,.chat-side{padding:10px;}
.chat-feed{gap:8px;max-height:500px;padding:4px;}
.chat-entry{padding:10px 12px;border-radius:11px;}
.chat-compose{padding:8px;margin-bottom:6px;}
.compose-grid{gap:8px;margin-bottom:8px;}
.compose-row{gap:8px;}
.contact-btn{padding:8px 10px;border-radius:9px;margin-bottom:6px;}
.pagination{gap:8px;margin-top:8px;}
.page-btn,.page-tab,.guild-tab,.tab-btn,.send-btn{padding:8px 10px;border-radius:9px;}
.modal-dialog{padding:20px;border-radius:14px;}
.modal-header{margin-bottom:6px;}
.container-panel{padding:8px;min-height:180px;}
.custom-select-trigger{padding:8px 10px;border-radius:9px;}
.custom-select-menu{padding:6px;border-radius:11px;}
.custom-select-option{padding:8px 10px;border-radius:8px;}
.summary-chip{padding:8px 10px;border-radius:10px;}
.summary-chip.compact{min-height:72px;padding:10px 12px;border-radius:14px;}
.stats-group-summary{padding:10px 12px 0;}
.stats-group-edit{width:28px;height:28px;border-radius:8px;}
.stats-group-toggle-rail{margin:4px -12px 0;border-radius:0 0 10px 10px;}
.stats-group-cards{gap:10px;padding:0 12px 12px;}
.group-editor-dialog{max-width:min(1080px,95vw);}
.group-editor-column{padding:10px;min-height:340px;}
.group-editor-entry{padding:9px 10px;border-radius:10px;}
.group-editor-name-row input{padding:9px 10px;}
.badge{padding:2px 8px;}
.toast{padding:8px 10px;border-radius:10px;min-width:210px;}
.empty-state{padding:28px;}

.global-topnav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:120;
  height: 34px !important;
  padding: 4px 14px 4px 35px;
  display:flex;
  align-items:center;
  border-bottom:1px solid rgba(255,236,196,.08);
  background:linear-gradient(180deg, rgba(10,16,25,.96), rgba(7,11,18,.98));
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  margin:0;
  box-shadow:inset 0 1px 0 rgba(255,236,196,.04);
}

.global-topnav-inner{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}

.global-topnav-summary{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:22px;
  overflow:hidden;
  white-space:nowrap;
  color:#e8dcc3;
  font-size:.78rem;
  font-weight:700;
  line-height:1;
}

.global-topnav-item{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.topnav-item-inner{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
}

.topnav-item-icons{
  display:inline-flex;
  align-items:center;
  gap:0;
  flex:0 0 auto;
}

.topnav-item-copy{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.topnav-item-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  object-fit:contain;
  image-rendering:auto;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));
}

.topnav-drop-slot{
  width:20px;
  height:20px;
  flex:0 0 20px;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:3px;
}

.topnav-drop-slot-icon{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.topnav-rare-sprite{
  position:absolute;
  inset:0;
  display:block;
  background-image:url('./assets/items/etc/icon_edge_rare.png');
  background-repeat:no-repeat;
  background-size:800% 400%;
  background-position:0 0;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));
  animation:slot-rare-edge 1.1s steps(1) infinite;
}

.topnav-item-chars{
  flex:0 0 auto;
}

.topnav-item-stats{
  flex:0 1 auto;
}

.topnav-item-gold{
  flex:0 0 auto;
}

.topnav-item-drop{
  flex:1 1 auto;
}

.topnav-divider{
  opacity:.48;
  margin-inline:4px;
}

.topnav-value.is-online{
  color:var(--green);
}

.topnav-value.is-offline{
  color:var(--red);
}

.topnav-value.is-hp{
  color:#8fe0b4;
}

.topnav-value.is-mp{
  color:#8ec7ff;
}

.topnav-value.is-gold{
  color:#f5ddb0;
}

.topnav-value.is-alchemy{
  color:#f3d18b;
}

.topnav-drop-name{
  display:inline;
  font-size:1em;
  line-height:inherit;
}

.topnav-link{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:0;
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  cursor:pointer;
  text-align:left;
}

.topnav-link:hover .topnav-drop-name,
.topnav-link:focus-visible .topnav-drop-name{
  text-decoration:underline;
}

.topnav-link:focus-visible{
  outline:1px solid rgba(255,255,255,.28);
  outline-offset:3px;
  border-radius:6px;
}

.global-topnav-spacer{
  flex:1 1 auto;
  min-width:0;
}

.display-mode-toggle-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.display-mode-label{
  color:#e6d7ba;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.03em;
  white-space:nowrap;
  line-height:1;
}

.display-mode-switch{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  width:48px;
  height:20px;
  min-height:20px;
  max-height:20px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  flex:0 0 auto;
}

.display-mode-track{
  position:relative;
  display:block;
  width:48px;
  height:20px;
  min-height:20px;
  max-height:20px;
  overflow:hidden;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.07);
  background:linear-gradient(180deg,#5c586f,#49455a);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 4px 12px rgba(0,0,0,.22);
  transition:background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.display-mode-thumb{
  position:absolute;
  top:2px;
  left:2px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:linear-gradient(180deg,#fafbff,#eceef6);
  box-shadow:0 3px 10px rgba(0,0,0,.26);
  transition:transform .16s ease;
}

.display-mode-thumb-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:#3f3b4d;
  font-size:12px;
  font-weight:900;
  line-height:1;
  transition:color .16s ease, transform .16s ease;
}

.display-mode-switch.is-advanced .display-mode-track{
  border-color:rgba(31,214,146,.22);
  background:linear-gradient(180deg,#20d88f,#15c777);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 6px 16px rgba(10,120,82,.24);
}

.display-mode-switch.is-advanced .display-mode-thumb{
  transform:translateX(26px);
}

.display-mode-switch.is-advanced .display-mode-thumb-icon{
  color:#19b86d;
  transform:scale(1.02);
}

.display-mode-switch:hover .display-mode-track,
.display-mode-switch:focus-visible .display-mode-track{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 0 0 2px rgba(217,183,122,.08), 0 6px 16px rgba(0,0,0,.24);
}


.global-topnav-inner{
  width:100%;
  min-width:0;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  padding:0 16px;
}

.global-topnav-spacer{
  flex:1 1 auto;
  min-width:0;
}


/* --- final readability / branding pass --- */
.brand-mark {
  width: 68px;
  height: 68px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  clip-path: none;
  border-radius:8px;
  color:transparent;
  text-shadow:none;
}
/* --- dashboard + stats final layout fixes --- */
#view-dashboard.active{
  min-height:calc(100vh - 104px);
  padding:48px 0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

#view-dashboard.active .dashboard-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-areas:
    "chars chars chars chars deaths deaths deaths deaths promo promo promo promo"
    "events events events events events events stack stack stack offers offers offers";
  grid-template-rows:minmax(220px,1fr) minmax(320px,1.18fr);
  gap:50px;
  align-items:stretch;
  width:100%;
  min-height:min(65vh, 760px);
}

#view-dashboard.active .dashboard-widget{
  min-height:0;
  height:100%;
  gap:10px;
  padding:14px;
  overflow:hidden;
}

#view-dashboard.active .dashboard-widget-head{
  min-height:26px;
  padding-bottom:8px;
}

#view-dashboard.active .dashboard-widget-chars,
#view-dashboard.active .dashboard-widget-deaths,
#view-dashboard.active .dashboard-widget-promo,
#view-dashboard.active .dashboard-widget-events,
#view-dashboard.active .dashboard-widget-offers{
  height:100%;
}

#view-dashboard.active .dashboard-chars-grid{
  gap:8px;
}

#view-dashboard.active .dashboard-stat-card{
  gap:5px;
  padding:8px 10px;
}

#view-dashboard.active .dashboard-chars-gold{
  gap:8px;
}

#view-dashboard.active .dashboard-gold-total-compact,
#view-dashboard.active .dashboard-gold-split-compact div{
  padding:8px 10px;
}

#view-dashboard.active .dashboard-list{
  gap:8px;
}

#view-dashboard.active .dashboard-row{
  padding:8px 10px;
}

#view-dashboard.active .dashboard-widget-dropstack{
  display:grid;
  grid-template-rows:minmax(150px, .7fr) minmax(0, 1fr);
  gap:50px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}

#view-dashboard.active .dashboard-widget-dropstack .dashboard-widget{
  height:100%;
  padding:14px;
  background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom)) !important;
  border:1px solid var(--primary-tint-bottom) !important;
  box-shadow:0 8px 18px rgba(6,10,18,.12) !important;
}

#view-dashboard.active .dashboard-widget-drop .dashboard-list{
  grid-template-rows:minmax(0,1fr);
}

#view-dashboard.active .dashboard-widget-drop .dashboard-row,
#view-dashboard.active .dashboard-widget-chat .dashboard-row{
  min-height:0;
  height:100%;
}

#view-dashboard.active .dashboard-widget-chat .dashboard-list{
  overflow-y:auto;
  overflow-x:hidden;
}

#view-dashboard.active .dashboard-widget-events .dashboard-row,
#view-dashboard.active .dashboard-widget-deaths .dashboard-row{
  min-height:58px;
}

#view-dashboard.active .dashboard-widget-offers .dashboard-list{
  display:grid;
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:8px;
  overflow:hidden;
}

#view-dashboard.active .dashboard-widget-offers .dashboard-row,
#view-dashboard.active .dashboard-offer-placeholder{
  min-height:0;
  height:100%;
}

#view-dashboard.active .dashboard-widget-promo .dashboard-promo-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  padding:10px;
}

#view-dashboard.active .dashboard-widget-promo .dashboard-promo-image{
  width:100%;
  height:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
}

.content #view-stats .stats-group-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  gap:14px !important;
}

.content #view-stats .stats-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
}

.content #view-stats .stats-card-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "title map"
    "status status";
  align-items:start;
  gap:10px 12px;
  margin-bottom:12px;
}

.content #view-stats .stats-card-header > :nth-child(1){grid-area:title; min-width:0;}
.content #view-stats .stats-card-header > :nth-child(2){
  grid-area:status;
  min-width:0;
}
.content #view-stats .stats-card-header > :nth-child(3){
  grid-area:map;
  align-self:start;
  justify-self:end;
}

.content #view-stats .char-title-block{
  min-width:0;
  align-items:flex-start;
}

.content #view-stats .char-title{
  min-width:0;
}

.content #view-stats .char-name-row{
  margin-bottom:4px;
  min-width:0;
}

.content #view-stats .char-name-row strong{
  display:block;
  min-width:0;
  line-height:1.15;
  overflow-wrap:anywhere;
}

.content #view-stats .char-level-line{
  margin-top:0;
  margin-bottom:8px;
  line-height:1.25;
}

.content #view-stats .status-inline{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  flex-wrap:wrap;
  white-space:normal;
}

.content #view-stats .status-text.alive,
.content #view-stats .summary-part.is-good{
  color:#68d39b !important;
}

.content #view-stats .status-text.dead,
.content #view-stats .summary-part.is-bad{
  color:#ef7f87 !important;
}

.content #view-stats .status-text.offline{
  color:#98a6c0 !important;
}

.content #view-stats .status-text.unknown{
  color:#c7d0df !important;
}

.content #view-stats .stats-map-jump-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  margin-left:0;
}

.content #view-stats .metric-grid.compact-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.content #view-stats .metric{
  min-width:0;
}

.content #view-stats .metric-value,
.content #view-stats .detail-row span:last-child{
  overflow-wrap:anywhere;
}

.content #view-stats .card-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.content #view-stats .card-actions .action-btn{
  min-width:0;
  white-space:normal;
  line-height:1.2;
  justify-content:center;
}



@media (max-width: 1480px){
  #view-dashboard.active .dashboard-grid{
    gap:34px;
  }
}

@media (max-width: 1180px){
  .content #view-stats .metric-grid.compact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .content #view-stats .card-actions{
    grid-template-columns:1fr;
  }
}

@media (max-width: 980px){
  #view-dashboard.active{
    min-height:0;
    padding:18px 0;
    display:block;
  }

  #view-dashboard.active .dashboard-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "chars"
      "deaths"
      "promo"
      "events"
      "stack"
      "offers";
    grid-template-rows:auto;
    gap:18px;
    min-height:0;
  }

  #view-dashboard.active .dashboard-widget{
    height:auto;
  }

  #view-dashboard.active .dashboard-widget-dropstack{
    grid-template-rows:auto auto;
    gap:18px;
  }
}

:root{
  --global-topnav-height:34px;
}

.content{
  min-height:100vh;
}

.topbar{
  padding-top:12px;
}

.advanced-required-page{
  padding:28px;
  display:grid;
  place-items:center;
  min-height:calc(100vh - 180px);
}

.advanced-required-card{
  width:min(100%, 720px);
  display:grid;
  gap:14px;
  padding:26px 28px;
  border-radius:18px;
  border:1px solid rgba(255,236,196,.1);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));
  box-shadow:0 18px 34px rgba(0,0,0,.24);
}

.advanced-required-card h2{
  margin:0;
  color:#f5ddb0;
  font-family:var(--font-display);
  font-size:1.5rem;
}

.advanced-required-card p,
.advanced-required-copy{
  margin:0;
  color:var(--text-main);
  line-height:1.55;
}

.advanced-required-eyebrow{
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8ec7ff;
}

.advanced-required-target{
  display:inline-flex;
  align-items:center;
  justify-self:start;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,236,196,.08);
  color:#f7e7c6;
}

.advanced-required-actions{
  display:flex;
  justify-content:flex-start;
}

.dashboard-offer-type-easy{
  color:#f6e0b6;
  font-size:1rem;
  line-height:1.1;
}

.dashboard-offer-text{
  display:block;
  color:#efe6d0;
  font-weight:600;
  line-height:1.3;
}

body[data-display-mode="standard"] #view-drops .toolbar.compact-toolbar,
body[data-display-mode="standard"] #view-normaldrops .toolbar.compact-toolbar,
body[data-display-mode="standard"] #view-deaths .toolbar.compact-toolbar,
body[data-display-mode="standard"] #view-stall .toolbar.compact-toolbar,
body[data-display-mode="standard"] #view-alchemy #alchemy-sessions-view > .toolbar.compact-toolbar{
  display:none !important;
}

body[data-display-mode="standard"] [data-advanced-only]{
  display:none !important;
}

body[data-display-mode="standard"] #view-analytics,
body[data-display-mode="standard"] #view-conditions,
body[data-display-mode="standard"] #view-schedules,
body[data-display-mode="standard"] #view-discord,
body[data-display-mode="standard"] #view-deletechar{
  display:none !important;
}

@media (min-width:1281px){
  .global-topnav{
    left:228px;
  }

  body.sidebar-collapsed .global-topnav{
    left:52px;
  }

  .menu-toggle-sidebar{
    top:0;
  }
}

@media (max-width:980px){
  .global-topnav{
    display:none !important;
  }

  .global-topnav-inner{
    padding-inline:10px;
  }

  .display-mode-label{
    font-size:.72rem;
  }

  .advanced-required-page{
    padding:18px;
    min-height:0;
  }

  .advanced-required-card{
    padding:20px;
  }
}

@media (max-width:1500px){
  .topnav-item-drop{
    display:none;
  }
}

@media (max-width:1400px){
  .topnav-item-alchemy{
    display:none;
  }
}

@media (max-width:1300px){
  .topnav-item-gold{
    display:none;
  }
}

@media (max-width:1120px){
  .topnav-item-stats{
    display:none;
  }
}


.brand-mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border:none;
  box-shadow:none;
  outline:none;
  background:none;
}
.brand > div{
  min-width:0;
}
.field-group label,
.language-picker label{
  font-size:.88rem;
}
.small-meta,
.muted,
.page-meta{
  font-size:.92rem;
}
.status-text{
  font-size:.96rem;
}
.summary-inline-label{
  font-size:.74rem;
}

/* --- layout constraints / responsive sidebar --- */
html,
body{
  height:100%;
}
body{
  overflow:hidden;
}
.content > *{
  width:min(100%, 1620px);
  margin-inline:auto;
}
.topbar-main{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.topbar-title-wrap{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
}
.page-title-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  object-fit:contain;
  margin-top:6px;
}
.discord-server-banner{
  margin-left:auto;
  display:none;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:8px 12px;
  border-radius:14px;
  text-decoration:none;
  color:var(--text-main);
  background:linear-gradient(180deg, rgba(53,79,143,.28), rgba(24,34,62,.2));
  border:1px solid rgba(118,151,255,.28);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  backdrop-filter:blur(14px) saturate(118%);
  -webkit-backdrop-filter:blur(14px) saturate(118%);
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}
.discord-server-banner:hover{
  transform:translateY(-1px);
  border-color:rgba(148,182,255,.4);
  background:linear-gradient(180deg, rgba(62,92,164,.34), rgba(27,40,74,.24));
}
body[data-view="dashboard"] .discord-server-banner{
  display:flex;
}
.discord-server-banner-icon{
  width:26px;
  height:26px;
  flex:0 0 26px;
  object-fit:contain;
}
.discord-server-banner-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.discord-server-banner-copy strong{
  color:#eef3ff;
  font-size:.91rem;
  line-height:1.15;
}
.discord-server-banner-copy span{
  color:#b9c7ea;
  font-size:.78rem;
  line-height:1.1;
}
@media (max-width: 860px){
  .topbar-main{
    flex-wrap:wrap;
  }
  .discord-server-banner{
    margin-left:0;
    width:100%;
    justify-content:flex-start;
  }
}
.menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:42px;
  height:42px;
  margin-top:2px;
  padding:0;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  cursor:pointer;
}
.menu-toggle-sidebar{
  display:none;
}
.menu-toggle-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  color:#dfe9ff;
  font-size:20px;
  font-weight: 700;
}
.menu-toggle-icon::before{
  content:"<";
}

.menu-toggle-sidebar .menu-toggle-icon{
  width:9px;
  height:9px;
  color: var(--muted);
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(135deg);
}

.menu-toggle-sidebar .menu-toggle-icon::before{
  content:"";
}
.menu-toggle-mobile-bars{
  display:grid;
  gap:4px;
}
.menu-toggle-mobile-bars span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#dfe9ff;
}
.menu-toggle-label{
  font-size:.84rem;
  font-weight:700;
  color:#dfe9ff;
  white-space:nowrap;
}
.sidebar-backdrop{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(4,8,14,.58);
  backdrop-filter:blur(3px);
  z-index:89;
}
@media (min-width:1281px){
  .app-shell{
    display:block !important;
    min-height:100vh;
  }
  .sidebar{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:228px;
    z-index:121;
    transition:width .18s ease, padding .18s ease;
  }
  .menu-toggle{
    display:none;
  }
  .menu-toggle-sidebar{
    display:inline-flex;
    position:absolute;
    top:0;
    left: calc(100% + 5px);
    z-index:81;
    width:32px;
    height:32px;
    border-radius:0 6px 6px 0;
    border-left:0;
    background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom));
    box-shadow:0 8px 18px rgba(0,0,0,.22);
  }
  .global-topnav {
    width:calc(100% - 228px);
  }
  .content{
    margin-left:228px;
    width:calc(100% - 228px);
    min-height:100vh;
    height:100vh;
    overflow-y:auto;
    transition:margin-left .18s ease, width .18s ease;
  }
  body.sidebar-collapsed .sidebar{
    width:52px;
    padding-inline:5px;
  }
  body.sidebar-collapsed .content{
    margin-left:52px;
    width:calc(100% - 52px);
  }
  body.sidebar-collapsed .brand{
    justify-content:center;
    padding-bottom:8px;
  }
  body.sidebar-collapsed .brand > div,
  body.sidebar-collapsed .menu-server-filter,
  body.sidebar-collapsed .menu-section-title,
  body.sidebar-collapsed .menu-section-caret,
  body.sidebar-collapsed .menu-label,
  body.sidebar-collapsed .menu-label-group,
  body.sidebar-collapsed .menu-submenu,
  body.sidebar-collapsed .sidebar-share{
    display:none !important;
  }
  body.sidebar-collapsed .menu{
    gap:8px;
  }
  body.sidebar-collapsed .menu-section,
  body.sidebar-collapsed .menu-section-content{
    gap:8px;
  }
  body.sidebar-collapsed .menu-section-toggle{
    justify-content:center;
    min-height:10px;
    padding:0;
  }
  body.sidebar-collapsed .menu-item{
    justify-content:center;
    padding:11px 0;
    border-radius:12px;
  }
  body.sidebar-collapsed .menu-toggle-icon{
    transform:none;
  }
  body.sidebar-collapsed .menu-toggle-sidebar .menu-toggle-icon{
    transform:rotate(-45deg);
  }
  body.sidebar-collapsed .menu-toggle-sidebar .menu-toggle-icon::before{
    content:"";
  }
}
@media (max-width:1280px){
  .app-shell{
    grid-template-columns:1fr !important;
  }
  .menu-toggle{
    display:inline-flex;
  }
  .menu-toggle-sidebar{
    display:none;
  }
  .menu-toggle-label{
    display:none;
  }
  .sidebar{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:min(300px, 86vw);
    z-index:121;
    transform:translateX(-102%);
    transition:transform .22s ease;
    overflow:auto;
    border-right:1px solid var(--primary-tint-top);
  }
  body.sidebar-open .sidebar{
    transform:translateX(0);
  }
  body.sidebar-open .sidebar-backdrop{
    display:block;
  }
  .content{
    width:100%;
    min-height:100vh;
    height:100vh;
    overflow-y:auto;
    overflow-x:hidden;
    margin-left:0;
  }
}

/* --- stats wrapper / content background final overrides --- */
.content{
  position:relative;
  background:
          linear-gradient(180deg, rgba(5,9,15,.74), rgba(4,8,14,.88)),
          url('./assets/theme/phMonitor-bg.webp') center top / cover no-repeat;
}
#view-stats .panel.panel-dense.ornate-frame{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
#view-stats .panel.panel-dense.ornate-frame::before,
#view-stats .panel.panel-dense.ornate-frame::after{
  display:none !important;
}
#view-stats .panel.panel-dense.ornate-frame > * + *{
  margin-top:18px;
}
#stats-grid{
  padding-inline:0;
  row-gap:22px !important;
}
.stats-group{
  padding:10px !important;
}
.stats-group-summary{
  padding:10px 12px 0 !important;
  border-radius:10px 10px 0 0;
}
.stats-group-toggle-rail{
  margin:6px -12px 0 !important;
}
.stats-group-cards{
  border-radius:0 0 10px 10px;
}

/* --- item search tooltip + card sizing fixes --- */
.item-search-results,
.item-search-group,
.item-search-container-list,
.item-search-container,
.item-search-container-head,
.item-search-match-grid,
.item-search-match{
  overflow:visible !important;
}
.item-search-group,
.item-search-container,
.item-search-match{
  position:relative;
}
.item-search-match-grid{
  grid-template-columns:repeat(auto-fill,minmax(248px,248px)) !important;
  justify-content:flex-start;
}
.item-search-match{
  width:248px !important;
  max-width:248px;
}
.item-search-match .slot,
.item-search-match .search-slot{
  overflow:visible !important;
}
.item-search-match:hover,
.item-search-match:focus-visible{
  z-index:40;
}
@media (max-width:760px){
  .item-search-match-grid{
    grid-template-columns:repeat(auto-fill,minmax(220px,220px)) !important;
  }
  .item-search-match{
    width:220px !important;
    max-width:220px;
  }
}
@media (min-width:1400px){
  #stats-grid{
    row-gap:28px !important;
  }
}

/* --- chat rework --- */
#view-chat .panel{
  padding:10px;
}
#view-chat .tabs-header{
  margin-bottom:10px;
}
#view-chat .tab-bar{
  gap:8px;
}
#view-chat .tab-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:96px;
  padding:9px 14px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(rgba(0, 0, 0, 0.88), rgba(8, 8, 8, 0.96));
  color:#d7e2f4;
  font-weight:600;
}
.chat-tab-unread{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:#d96d4e;
  border:1px solid #d96d4e;
  color:#fff7f1;
  font-size:.74rem;
  font-weight:700;
  line-height:1;
}
#view-chat .tab-btn:hover,
#view-chat .tab-btn.active{
  background:rgba(116,155,229,.16);
  border-color:rgba(116,155,229,.28);
  color:#f4f8ff;
}
#view-chat .tab-btn[data-chat-tab="private"]{
  color:#bfe8ff;
  border-color:rgba(124,208,255,.26);
  background:rgba(124,208,255,.08);
}
#view-chat .tab-btn[data-chat-tab="private"]:hover,
#view-chat .tab-btn[data-chat-tab="private"].active{
  color:#e7f8ff;
  border-color:rgba(124,208,255,.42);
  background:rgba(124,208,255,.20);
}
#view-chat .tab-btn[data-chat-tab="guild"]{
  color:#ffcf9a;
  border-color:rgba(255,171,92,.24);
  background:rgba(255,171,92,.08);
}
#view-chat .tab-btn[data-chat-tab="guild"]:hover,
#view-chat .tab-btn[data-chat-tab="guild"].active{
  color:#fff1df;
  border-color:rgba(255,171,92,.40);
  background:rgba(255,171,92,.20);
}
#view-chat .tab-btn[data-chat-tab="global"]{
  color:#ffe384;
  border-color:rgba(255,214,88,.24);
  background:rgba(255,214,88,.08);
}
#view-chat .tab-btn[data-chat-tab="global"]:hover,
#view-chat .tab-btn[data-chat-tab="global"].active{
  color:#fff8d6;
  border-color:rgba(255,214,88,.42);
  background:rgba(255,214,88,.20);
}
#view-chat .tab-btn[data-chat-tab="union"]{
  color:#b6ef9d;
  border-color:rgba(145,224,108,.24);
  background:rgba(145,224,108,.08);
}
#view-chat .tab-btn[data-chat-tab="union"]:hover,
#view-chat .tab-btn[data-chat-tab="union"].active{
  color:#efffe2;
  border-color:rgba(145,224,108,.40);
  background:rgba(145,224,108,.20);
}
.chat-toolbar{
  margin-bottom:10px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(7,12,19,.46);
}
.chat-toolbar .field-group{
  min-width:170px;
  width: 100%;
}
.chat-send-char-field{
  display:grid;
  gap:8px;
  min-width:0;
}
.chat-send-char-row{
  display:grid;
  grid-template-columns:minmax(320px,420px) minmax(0,1fr);
  align-items:center;
  gap:10px;
  width:100%;
}
.chat-send-char-row > .custom-select,
.chat-send-char-row > select{
  min-width:0;
  width:100%;
  justify-self:start;
}
.chat-send-char-quick{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  justify-content:flex-end;
  justify-self:stretch;
  margin-left:auto;
  width:100%;
  min-width:0;
}
.chat-send-char-quick-label{
  color:var(--text-dim);
  font-size:.72rem;
  white-space:nowrap;
}
.chat-send-char-quick-btn{
  min-height:26px;
  padding:3px 8px;
  font-size:.72rem;
  white-space:nowrap;
}
.chat-send-char-quick-btn.is-active{
  border-color:var(--primary-border);
  box-shadow:0 0 0 1px var(--primary-tint-top);
}
.chat-send-char-quick-btn.is-offline{
  opacity:.55;
}
.chat-wa-layout{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:0;
  height:min(72vh, 780px);
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  overflow:hidden;
  background:rgba(4,8,14,.42);
}
.chat-wa-layout:not(.is-private){
  grid-template-columns:minmax(0,1fr);
}
.chat-wa-layout:not(.is-private) .chat-wa-sidebar{
  display:none;
}
.chat-wa-sidebar{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-width:0;
  min-height:0;
  padding:0;
  border:0;
  border-right:1px solid rgba(255,255,255,.06);
  border-radius:0;
  box-shadow:none;
  background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom));
}
.chat-wa-sidebar::before,
.chat-wa-sidebar::after,
.chat-wa-main::before,
.chat-wa-main::after{
  display:none;
}
.chat-wa-sidebar-header{
  padding:14px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.02);
}
.chat-wa-sidebar .side-title{
  margin-bottom:4px;
  font-size:1rem;
  color:#f3d8a7;
}
.chat-contact-list{
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:0;
  max-height:none;
  overflow:auto;
  padding:0;
}
.chat-side-section{
  display:grid;
  flex:0 0 auto;
  gap:0;
}
.chat-side-section + .chat-side-section{
  border-top:1px solid rgba(255,255,255,.08);
}
.chat-side-section-title{
  position:sticky;
  top:0;
  z-index:1;
  padding:10px 16px 8px;
  background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom));
  color:#f0d7a4;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.chat-side-list{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  align-content:flex-start;
}
.chat-wa-sidebar .contact-btn{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  align-items:start;
  column-gap:12px;
  width:100%;
  min-height:78px;
  margin:0;
  padding:12px 16px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.045);
  border-radius:0;
  background:transparent;
  color:#ecf3ff;
}
.chat-wa-sidebar .contact-btn:hover,
.chat-wa-sidebar .contact-btn.active{
  background:rgba(99,143,228,.14);
}
.chat-wa-sidebar .contact-btn.has-unread{
  background:rgb(235 137 105 / 14%);
}
.chat-wa-sidebar .contact-btn.has-unread:hover,
.chat-wa-sidebar .contact-btn.has-unread.active{
  background:rgb(235 137 105 / 22%);
}
.wa-contact.scope-union{
  background:linear-gradient(180deg, rgba(38,57,34,.78), rgba(21,34,19,.96));
}
.wa-contact.scope-union.has-unread{
  background:linear-gradient(180deg, rgba(58,88,51,.84), rgba(29,49,25,.98));
}
.wa-contact.scope-union:hover,
.wa-contact.scope-union.active{
  background:linear-gradient(180deg, rgba(92,160,72,.34), rgba(49,96,38,.40));
}
.wa-contact.scope-union.has-unread:hover,
.wa-contact.scope-union.has-unread.active{
  background:linear-gradient(180deg, rgba(110,182,89,.42), rgba(61,112,47,.48));
}
.wa-contact.scope-guild{
  background:linear-gradient(180deg, rgba(61,42,22,.74), rgba(34,23,12,.96));
}
.wa-contact.scope-guild.has-unread{
  background:linear-gradient(180deg, rgba(86,59,31,.82), rgba(48,32,16,.98));
}
.wa-contact.scope-guild:hover,
.wa-contact.scope-guild.active{
  background:linear-gradient(180deg, rgba(190,124,57,.28), rgba(117,70,23,.38));
}
.wa-contact.scope-guild.has-unread:hover,
.wa-contact.scope-guild.has-unread.active{
  background:linear-gradient(180deg, rgba(211,143,75,.36), rgba(131,81,31,.46));
}
.wa-contact-avatar{
  position:relative;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(180deg, rgba(90,138,214,.86), rgba(57,94,157,.96));
  color:#f4f8ff;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.wa-contact-avatar img{
  display:block;
  width:24px;
  height:24px;
  object-fit:contain;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.28));
}
.wa-contact-avatar.guild{
  border-radius:10px;
  background:linear-gradient(180deg, rgba(255,171,92,.88), rgba(182,108,36,.96));
}
.wa-contact-avatar.union{
  border-radius:10px;
  background:linear-gradient(180deg, rgba(143,225,106,.88), rgba(78,145,48,.96));
}
.wa-contact-avatar.sender{
  background:linear-gradient(180deg, rgba(145,224,108,.82), rgba(84,152,58,.95));
}
.wa-contact-main{
  display:grid;
  gap:6px;
  width:100%;
  min-width:0;
  align-self:stretch;
  align-content:center;
}
.wa-contact.scope-union .wa-contact-main,
.wa-contact.scope-guild .wa-contact-main{
  align-content:start;
  padding-top:2px;
}
.wa-contact.scope-union,
.wa-contact.scope-guild{
  align-items:start;
}
.chat-side-actions{
  padding:12px 14px 14px;
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(10,16,26,.96), rgba(8,13,22,.98));
}
.chat-new-btn{
  width:100%;
  min-height:42px;
  font-weight:700;
  background:linear-gradient(180deg, rgba(111,149,221,.20), rgba(69,104,173,.18));
  border-color:rgba(150,190,255,.22);
}
.wa-contact-top,
.wa-contact-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.wa-contact-top strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text-main);
}
.wa-contact-time,
.contact-count{
  flex:0 0 auto;
  color:#95a9c8;
  font-size:.78rem;
}
.wa-unread-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#d96d4e;
  border:1px solid #d96d4e;
  color:#fff7f1;
  font-size:.75rem;
  font-weight:700;
  line-height:1;
}
.wa-unread-badge-overlay{
  position:absolute;
  top:-7px;
  left:-7px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  font-size:.72rem;
  box-shadow:0 2px 8px rgba(0,0,0,.28);
  z-index:2;
}

.menu-unread-badge{
  position:absolute;
  right: 0;
  transform: translateX(-100%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 8px;
  border-radius:999px;
  background:#d96d4e;
  border:1px solid #d96d4e;
  color:#fff7f1;
  font-size:.76rem;
  font-weight:700;
  line-height:1;
}

body.sidebar-collapsed .menu-unread-badge {
  right: -3px;
  top: 2px;
  min-width:8px;
  height:8px;
  font-size: 0;
  padding: 0;
}

.wa-contact-preview{
  min-width:0;
  display:-webkit-box;
  overflow:hidden;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  color:#b7c4d9;
  font-size:.84rem;
  line-height:1.28;
}
.chat-wa-main{
  position:relative;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-width:0;
  min-height:0;
  padding:14px;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:
          linear-gradient(180deg, rgba(10,18,29,.92), rgba(8,14,23,.96)),
          radial-gradient(circle at top right, rgba(133,182,255,.08), transparent 26%);
}
.chat-wa-sidebar{
  padding:14px;
}
.chat-thread-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.025);
}
.chat-thread-copy{
  min-width:0;
  display:grid;
  gap:4px;
}
.chat-jump-present{
  position:absolute;
  left:50%;
  bottom:92px;
  z-index:4;
  min-height:30px;
  padding:4px 10px;
  white-space:nowrap;
  transform:translate(-50%, calc(100% + 18px));
  opacity:0;
  pointer-events:none;
  transition:transform .2s ease, opacity .2s ease;
}
.chat-jump-present.is-visible{
  transform:translate(-50%, 0);
  opacity:1;
  pointer-events:auto;
}
.chat-thread-title{
  font-size:1.05rem;
  font-weight:700;
  color:#f4f7ff;
}
.chat-feed{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
  max-height:none;
  height:100%;
  overflow:auto;
  padding:18px;
  margin:0;
}
.chat-feed-date-overlay{
  position:absolute;
  top:72px;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(8,14,23,.88);
  color:#e6eefb;
  font-size:.8rem;
  box-shadow:0 8px 18px rgba(0,0,0,.22);
  pointer-events:none;
}
.chat-load-marker{
  align-self:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#b9c7dc;
  font-size:.8rem;
}
.chat-bubble{
  max-width:min(72%, 680px);
  width:fit-content;
  padding:10px 12px 8px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 18px rgba(0,0,0,.16);
}
.chat-bubble.other{
  align-self:flex-start;
  border-top-left-radius:4px;
  background:linear-gradient(180deg, rgba(31,41,57,.96), rgba(19,27,39,.98));
  border-color:rgba(255,255,255,.07);
}
.chat-bubble.own{
  align-self:flex-end;
  border-top-right-radius:4px;
  background:linear-gradient(180deg, rgba(126,169,67,.98), rgba(107,153,51,.99));
  border-color:rgba(152,201,91,.28);
}
.chat-bubble.private.other{
  background:linear-gradient(180deg, rgba(27,41,64,.98), rgba(18,29,46,.99));
}
.chat-bubble.private.own,
.chat-bubble.union.own,
.chat-bubble.guild.own,
.chat-bubble.global.own{
  background:linear-gradient(180deg, rgba(126,169,67,.98), rgba(107,153,51,.99));
  border-color:rgba(152,201,91,.28);
}
.chat-bubble.union.other{
  background:linear-gradient(180deg, rgba(22,49,54,.96), rgba(14,35,40,.98));
  border-color:rgba(116,218,198,.14);
}
.chat-bubble.guild.other{
  background:linear-gradient(180deg, rgba(46,37,60,.96), rgba(28,21,38,.98));
  border-color:rgba(204,158,255,.14);
}
.chat-bubble.global.other{
  background:linear-gradient(180deg, rgba(59,43,22,.96), rgba(39,28,13,.98));
  border-color:rgba(240,197,114,.16);
}
.chat-bubble.is-first-unread{
  box-shadow:0 0 0 3px rgba(255,151,151,.34), 0 10px 24px rgba(0,0,0,.18);
}
.chat-bubble-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}
.chat-bubble-text{
  white-space:pre-wrap;
  word-break:break-word;
  line-height:1.45;
  color:#f8fbff;
}
.chat-emoji{
  display:inline-block;
  margin:0 .02em;
  font-size:1.16em;
  line-height:1;
  vertical-align:-0.08em;
}
.chat-bubble-meta{
  font-size:.76rem;
  color:rgba(238,245,255,.84);
}
.chat-bubble-time{
  flex:0 0 auto;
  font-size:.74rem;
  color:rgba(238,245,255,.84);
  text-align:right;
  white-space:nowrap;
}
.chat-day-separator{
  align-self:center;
  margin:2px 0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.chat-day-separator::before,
.chat-day-separator::after{
  content:"";
  flex:1 1 auto;
  max-width:220px;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.14), rgba(255,255,255,.02));
}
.chat-day-separator span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:#c8d3e7;
  font-size:.78rem;
}
.chat-compose-wa{
  margin:0;
  padding:12px 16px;
  border:0;
  border-top:1px solid rgba(255,255,255,.06);
  border-radius:0;
  box-shadow:none;
  background:rgba(8,14,23,.92);
}
.chat-compose-wa .compose-grid{
  margin-bottom:10px;
}
.chat-compose-wa .compose-row{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
}
.chat-attachment-strip{
  margin:0 0 10px;
}
.chat-attachment-chip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid rgba(152,186,242,.20);
  border-radius:6px;
  background:rgba(255,255,255,.035);
}
.chat-attachment-slot{
  width:42px;
  height:42px;
  flex:0 0 42px;
}
.chat-attachment-copy{
  min-width:0;
  flex:1 1 auto;
  display:grid;
  gap:2px;
}
.chat-attachment-copy strong{
  color:#eef3fb;
  font-size:.9rem;
}
.chat-attachment-copy span{
  color:var(--text-muted);
  font-size:.78rem;
}
.chat-attachment-remove{
  min-width:96px;
}
.chat-attach-wrap{
  position:relative;
  flex:0 0 auto;
}
.chat-attach-button{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  color:#f1d6a4;
  font-size:1.5rem;
  line-height:1;
  padding:0;
  cursor:pointer;
}
.chat-attach-button:hover,
.chat-attach-button.active{
  background:linear-gradient(180deg, rgba(217,183,122,.16), rgba(121,82,30,.12));
  border-color:rgba(217,183,122,.28);
}
.chat-attach-button:disabled{
  opacity:.5;
  cursor:default;
}
.chat-attach-menu{
  position:absolute;
  left:0;
  bottom:calc(100% + 10px);
  min-width:160px;
  padding:8px;
  display:grid;
  gap:6px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:linear-gradient(180deg, rgba(16,24,36,.98), rgba(10,17,28,.99));
  box-shadow:0 18px 32px rgba(0,0,0,.34);
  z-index:26;
}
.chat-attach-menu.hidden{
  display:none;
}
.chat-attach-menu-item{
  min-width:0;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:6px;
  background:linear-gradient(rgba(0, 0, 0, 0.88), rgba(8, 8, 8, 0.96));
  color:#eef3fb;
  text-align:left;
  cursor:pointer;
}
.chat-attach-menu-item:hover{
  background:rgba(111,149,221,.14);
  border-color:rgba(150,190,255,.20);
}
.emoji-picker-wrap{
  position:relative;
  flex:0 0 auto;
}
.emoji-picker-button{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  color:#f1d6a4;
  font-size:1.56rem;
  line-height:1;
  padding:0;
  cursor:pointer;
}
.emoji-picker-button:hover,
.emoji-picker-button.active{
  background:linear-gradient(180deg, rgba(217,183,122,.16), rgba(121,82,30,.12));
  border-color:rgba(217,183,122,.28);
}
.emoji-picker-button:disabled{
  opacity:.5;
  cursor:default;
}
.emoji-picker-menu{
  position:absolute;
  left:0;
  bottom:calc(100% + 10px);
  width:min(360px, 70vw);
  max-height:260px;
  overflow:auto;
  padding:10px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(16,24,36,.98), rgba(10,17,28,.99));
  box-shadow:0 18px 32px rgba(0,0,0,.34);
  z-index:25;
}
.emoji-picker-menu.hidden{
  display:none;
}
.emoji-picker-item{
  min-width:0;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:8px 9px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:linear-gradient(rgba(0, 0, 0, 0.88), rgba(8, 8, 8, 0.96));
  color:#eef3fb;
  text-align:left;
  cursor:pointer;
}
.emoji-picker-item:hover{
  background:rgba(111,149,221,.14);
  border-color:rgba(150,190,255,.20);
}
.emoji-picker-glyph{
  font-size:1.15rem;
  line-height:1;
}
.emoji-picker-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.82rem;
}
.chat-compose-wa .compose-row input{
  flex:1 1 auto;
  min-height:42px;
  padding-inline:12px;
}
.chat-compose-wa .send-btn{
  min-width:104px;
  min-height:42px;
  font-weight:700;
}
.chat-compose-wa .send-btn:disabled,
.chat-compose-wa .compose-row input:disabled{
  cursor:not-allowed;
  opacity:.62;
}
.chat-compose-note{
  margin-top:10px;
  color:#f1d487;
}
.chat-compose-note.is-error{
  color:var(--red);
}
body .content .view .chat-compose-note.is-error{
  color:var(--red) !important;
}
.chat-attachment-chip-image{
  display:grid;
  grid-template-columns:58px 1fr auto;
  gap:12px;
  align-items:center;
}
.chat-attachment-image-thumb{
  display:block;
  width:58px;
  height:58px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(255,236,196,.14);
  background:rgba(0,0,0,.18);
}
.chat-shared-image-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}
.chat-shared-image-card{
  appearance:none;
  -webkit-appearance:none;
  display:grid;
  gap:8px;
  justify-items:start;
  padding:8px;
  min-width:112px;
  max-width:132px;
  border:1px solid rgba(255,236,196,.10);
  border-radius:12px;
  background:transparent !important;
  box-shadow:none;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer !important;
}
.chat-shared-image-thumb{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:80px !important;
  max-height:80px !important;
  object-fit:contain;
  border-radius:9px;
  border:1px solid rgba(255,236,196,.10);
  background:rgba(0,0,0,.18) !important;
}
.chat-shared-image-label{
  font-size:.78rem;
  color:var(--text-muted);
}
.chat-attach-menu-item.is-premium-feature{
  position:relative;
}
.chat-item-picker-dialog{
  width:min(1180px, calc(100vw - 32px));
}
.chat-item-picker-toolbar{
  margin-bottom:12px;
}
.chat-item-picker-results{
  min-height:320px;
  max-height:min(62vh, 720px);
  overflow:auto;
  display:grid;
  gap:12px;
}
.chat-item-picker-actions{
  margin-top:12px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.chat-item-picker-match.is-selected{
  border-color:rgba(176,220,255,.42);
  box-shadow:0 0 0 1px rgba(176,220,255,.26), 0 14px 26px rgba(12,22,38,.24);
  background:linear-gradient(180deg, rgba(73,114,196,.20), rgba(39,63,113,.18));
}
.chat-shared-item-list{
  display:grid;
  gap:8px;
}
.chat-shared-item-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:6px;
  background:rgba(255,255,255,.035);
}
.chat-shared-item-card.is-expanded{
  grid-template-columns:auto minmax(0,1fr) auto;
}
.chat-shared-item-slot{
  width:42px;
  height:42px;
  flex:0 0 42px;
}
.chat-shared-item-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.chat-shared-item-copy strong{
  color:#eef3fb;
  font-size:.9rem;
}
.chat-shared-item-copy span{
  color:var(--text-muted);
  font-size:.78rem;
}
.chat-shared-item-btn{
  min-width:96px;
}
.chat-shared-item-inline{
  grid-column:1 / -1;
  padding-top:2px;
}
.chat-shared-item-inline.hidden{
  display:none;
}
.chat-shared-item-inline .slot-tooltip{
  display:block;
  position:static;
  opacity:1;
  transform:none;
  pointer-events:auto;
  visibility:visible;
  min-width:0;
  max-width:none;
}
.chat-shared-item-inline .slot-name{
  margin-bottom:8px;
}
.chat-shared-item-dialog{
  width:min(880px, calc(100vw - 32px));
}
.chat-shared-item-panel{
  min-height:160px;
}
.chat-shared-item-preview{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:flex-start;
}
.chat-shared-preview-slot{
  width:56px;
  height:56px;
  flex:0 0 56px;
}
.chat-shared-preview-copy .slot-tooltip{
  position:static;
  opacity:1;
  transform:none;
  pointer-events:auto;
  visibility:visible;
  min-width:0;
  max-width:none;
}
.chat-shared-preview-copy .slot-name{
  margin-bottom:8px;
}
@media (max-width:960px){
  .chat-wa-layout{
    grid-template-columns:280px minmax(0,1fr);
  }
  .chat-send-char-row{
    grid-template-columns:minmax(0,1fr);
  }
  .chat-send-char-quick{
    justify-content:flex-start;
    justify-self:start;
    margin-left:0;
  }
}
@media (max-width:960px){
  .chat-wa-layout,
  .chat-wa-layout.is-private{
    grid-template-columns:minmax(0,1fr);
    height:min(76vh, 760px);
  }
  .chat-wa-sidebar{
    display:none;
  }
  .chat-bubble{
    max-width:88%;
  }
  .chat-shared-item-card{
    grid-template-columns:auto minmax(0,1fr);
  }
  .chat-shared-item-btn{
    grid-column:1 / -1;
  }
}
@media (max-width:960px){
  #view-chat .chat-wa-layout.is-private{
    grid-template-rows:auto minmax(0,1fr);
    height:auto;
    min-height:min(78vh, 820px);
    gap:10px;
    overflow:visible;
    background:transparent !important;
    border:0 !important;
  }

  #view-chat .chat-wa-layout.is-private .chat-wa-sidebar{
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto;
    max-height:32vh;
    min-height:0;
    overflow:hidden;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08);
    border-radius:12px;
  }

  #view-chat .chat-wa-layout.is-private .chat-wa-main{
    min-height:min(52vh, 620px);
  }

  #view-chat .chat-wa-sidebar-header{
    padding:10px 12px 8px;
  }

  #view-chat .chat-wa-sidebar .side-title{
    margin-bottom:2px;
    font-size:.92rem;
  }

  #view-chat .chat-contact-list{
    display:flex;
    flex-direction:row;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:10px 12px 12px;
    scroll-snap-type:x proximity;
  }

  #view-chat .chat-side-section{
    display:flex;
    flex:0 0 auto;
    flex-direction:column;
    gap:6px;
    min-width:min(82vw, 280px);
  }

  #view-chat .chat-side-section + .chat-side-section{
    border-top:0;
  }

  #view-chat .chat-side-section-title{
    position:static;
    padding:0 2px;
    background:transparent;
    font-size:.7rem;
    letter-spacing:.06em;
    opacity:.8;
  }

  #view-chat .chat-side-list{
    display:flex;
    flex-direction:row;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    min-width:0;
    padding-bottom:2px;
  }

  #view-chat .chat-wa-sidebar .contact-btn{
    flex:0 0 auto;
    width:min(78vw, 252px);
    min-height:64px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    background:rgba(255,255,255,.02);
    scroll-snap-align:start;
  }

  #view-chat .chat-wa-sidebar .contact-btn + .contact-btn{
    border-bottom-width:1px;
  }

  #view-chat .wa-contact-top{
    gap:8px;
  }

  #view-chat .wa-contact-name{
    font-size:.88rem;
  }

  #view-chat .wa-contact-preview{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    font-size:.75rem;
  }

  #view-chat .chat-side-actions{
    padding:0 12px 12px;
    border-top:0;
    background:transparent !important;
  }

  #view-chat .chat-new-btn{
    min-height:38px;
  }
}

/* --- final wrapper cleanup / solid navigation pass --- */
:root{
  --nav-solid-top:#182334;
  --nav-solid-bottom:#0f1725;
  --nav-solid-border:rgba(152,186,242,.22);
  --nav-solid-border-strong:rgba(184,212,255,.34);
  --nav-solid-hover-top:#253954;
  --nav-solid-hover-bottom:#18273c;
  --nav-solid-active-top:#30496f;
  --nav-solid-active-bottom:#20314d;
  --nav-solid-text:#ecf3ff;
}

#view-drops .table-wrap.ornate-frame,
#view-deaths .table-wrap.ornate-frame,
#view-guildstorage .container-panel.ornate-frame,
#view-itemsearch .item-search-group,
#view-itemsearch .item-search-container,
#view-market .market-header,
#view-market .market-section,
#view-market .market-section-raw{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

#view-drops .table-wrap.ornate-frame::before,
#view-drops .table-wrap.ornate-frame::after,
#view-deaths .table-wrap.ornate-frame::before,
#view-deaths .table-wrap.ornate-frame::after,
#view-guildstorage .container-panel.ornate-frame::before,
#view-guildstorage .container-panel.ornate-frame::after{
  display:none !important;
}

#view-market .market-header{
  padding:0 0 4px !important;
  border-radius:0 !important;
}

#view-market .market-section-head{
  padding:0 2px;
}

#view-market .market-toolbar,
#view-chat .chat-toolbar,
#view-chat .chat-wa-layout,
#view-chat .chat-wa-sidebar-header,
#view-chat .chat-side-actions,
#view-chat .chat-compose-wa{
  background:linear-gradient(180deg,var(--nav-solid-top),var(--nav-solid-bottom)) !important;
  border-color:var(--nav-solid-border) !important;
  box-shadow:none !important;
}

#view-chat .chat-wa-layout{
  border-width:1px !important;
}

.menu-item,
.sidebar-footer,
.language-picker select,
.page-btn,
.page-tab,
.guild-tab,
.market-tab,
.custom-select-trigger,
.custom-select-menu,
.custom-select-option,
.stats-group-edit,
.stats-group-toggle-rail,
.emoji-picker-button,
.send-btn,
.action-btn,
.chat-new-btn,
.chat-wa-sidebar .contact-btn{
  color:var(--nav-solid-text);
  border-color:var(--nav-solid-border) !important;
  box-shadow:none !important;
}

.custom-select-menu{
  background:linear-gradient(180deg,#1a2638,#111a29) !important;
}

.custom-select-option.disabled,
.custom-select-option.disabled:hover{
  background:linear-gradient(180deg,#15202f,#101824) !important;
}

.menu-item:hover,
.page-btn:hover,
.page-tab:hover,
.guild-tab:hover,
.market-tab:hover,
.custom-select-option:hover,
.custom-select-option.selected,
.stats-group-edit:hover,
.stats-group-summary:hover .stats-group-toggle-rail,
.stats-group-summary:focus-visible .stats-group-toggle-rail,
.emoji-picker-button:hover,
.emoji-picker-button.active,
.send-btn:hover,
.action-btn:hover,
.chat-new-btn:hover,
.chat-wa-sidebar .contact-btn:hover{
  background:linear-gradient(180deg,var(--nav-solid-hover-top),var(--nav-solid-hover-bottom)) !important;
  border-color:var(--nav-solid-border-strong) !important;
}

.menu-item.active,
.page-tab.active,
.guild-tab.active,
.market-tab.active{
  background:linear-gradient(180deg,var(--nav-solid-active-top),var(--nav-solid-active-bottom)) !important;
  border-color:var(--nav-solid-border-strong) !important;
}

#view-chat .tab-btn{
  box-shadow:none !important;
}

#view-chat .tab-btn[data-chat-tab="private"]{
  background:linear-gradient(180deg, rgba(67,139,186,.42), rgba(28,62,87,.72)) !important;
  border-color:rgba(124,208,255,.34) !important;
}

#view-chat .tab-btn[data-chat-tab="private"]:hover,
#view-chat .tab-btn[data-chat-tab="private"].active{
  background:linear-gradient(180deg, rgba(82,163,215,.56), rgba(36,80,111,.86)) !important;
  border-color:rgba(150,222,255,.44) !important;
}

#view-chat .tab-btn[data-chat-tab="guild"]{
  background:linear-gradient(180deg, rgba(183,121,54,.42), rgba(88,53,18,.74)) !important;
  border-color:rgba(255,171,92,.34) !important;
}

#view-chat .tab-btn[data-chat-tab="guild"]:hover,
#view-chat .tab-btn[data-chat-tab="guild"].active{
  background:linear-gradient(180deg, rgba(214,144,66,.54), rgba(110,67,23,.84)) !important;
  border-color:rgba(255,190,125,.44) !important;
}

#view-chat .tab-btn[data-chat-tab="global"]{
  background:linear-gradient(180deg, rgba(188,152,42,.42), rgba(97,77,14,.74)) !important;
  border-color:rgba(255,214,88,.34) !important;
}

#view-chat .tab-btn[data-chat-tab="global"]:hover,
#view-chat .tab-btn[data-chat-tab="global"].active{
  background:linear-gradient(180deg, rgba(221,184,54,.54), rgba(122,98,19,.84)) !important;
  border-color:rgba(255,225,125,.44) !important;
}

#view-chat .tab-btn[data-chat-tab="union"]{
  background:linear-gradient(180deg, rgba(92,154,58,.42), rgba(36,72,22,.74)) !important;
  border-color:rgba(145,224,108,.34) !important;
}

#view-chat .tab-btn[data-chat-tab="union"]:hover,
#view-chat .tab-btn[data-chat-tab="union"].active{
  background:linear-gradient(180deg, rgba(116,184,75,.54), rgba(48,95,29,.84)) !important;
  border-color:rgba(171,238,141,.44) !important;
}

#view-chat .chat-wa-main[data-chat-theme="private"] .chat-thread-header,
#view-chat .chat-feed[data-chat-theme="private"],
#view-chat .chat-compose-wa[data-chat-theme="private"]{
  background:linear-gradient(180deg, rgba(67,139,186,.12), rgba(18,37,56,.16)) !important;
}

#view-chat .chat-wa-main[data-chat-theme="global"] .chat-thread-header,
#view-chat .chat-feed[data-chat-theme="global"],
#view-chat .chat-compose-wa[data-chat-theme="global"]{
  background:linear-gradient(180deg, rgba(188,152,42,.12), rgba(64,50,10,.16)) !important;
}

#view-chat .chat-wa-main[data-chat-theme="guild"] .chat-thread-header,
#view-chat .chat-feed[data-chat-theme="guild"],
#view-chat .chat-compose-wa[data-chat-theme="guild"]{
  background:linear-gradient(180deg, rgba(183,121,54,.12), rgba(72,38,11,.16)) !important;
}

#view-chat .chat-wa-main[data-chat-theme="union"] .chat-thread-header,
#view-chat .chat-feed[data-chat-theme="union"],
#view-chat .chat-compose-wa[data-chat-theme="union"]{
  background:linear-gradient(180deg, rgba(92,154,58,.12), rgba(27,58,18,.16)) !important;
}

#view-chat .chat-feed[data-chat-theme="private"]{
  border-color:rgba(124,208,255,.16) !important;
}

#view-chat .chat-feed[data-chat-theme="global"]{
  border-color:rgba(255,214,88,.16) !important;
}

#view-chat .chat-feed[data-chat-theme="guild"]{
  border-color:rgba(255,171,92,.16) !important;
}

#view-chat .chat-feed[data-chat-theme="union"]{
  border-color:rgba(145,224,108,.16) !important;
}

#view-market .market-offer-card,
#view-market .market-raw-row,
#view-itemsearch .item-search-match{
  background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom)) !important;
  box-shadow:none !important;
}

/* --- market visual cleanup --- */
#view-market .market-window{
  display:grid;
  gap:12px;
  padding:18px;
}

#view-market .market-tab-strip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  max-width:100%;
  padding:0;
}

#view-market .market-tab-strip::after{
  display:none !important;
}

#view-market .market-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:96px;
  min-height:auto;
  padding:9px 14px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08) !important;
  background:#263449 !important;
  color:#d7e2f4;
  font-size:.98rem;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  box-shadow:none !important;
  transform:none !important;
}

#view-market .market-tab:hover{
  border-color:rgba(116,155,229,.28) !important;
  background:#344a6b !important;
  color:#f4f8ff;
}

#view-market .market-tab.active{
  transform:none;
  color:#fbfdff;
}

#view-market .market-tab::before{
  display:none !important;
}

#view-market .market-tab[data-market-tab="buy"]{
  color:#bfe8ff;
  border-color:rgba(124,208,255,.26) !important;
  background:#26465f !important;
}

#view-market .market-tab[data-market-tab="buy"]:hover{
  color:#e7f8ff;
  border-color:rgba(124,208,255,.42) !important;
  background:#346a91 !important;
}

#view-market .market-tab[data-market-tab="buy"].active{
  color:#e7f8ff;
  border-color:rgba(124,208,255,.42) !important;
  background:#346a91 !important;
}

#view-market .market-tab[data-market-tab="sell"]{
  color:#ffcf9a;
  border-color:rgba(255,171,92,.24) !important;
  background:#5b3f26 !important;
}

#view-market .market-tab[data-market-tab="sell"]:hover{
  color:#fff1df;
  border-color:rgba(255,171,92,.40) !important;
  background:#8a5d32 !important;
}

#view-market .market-tab[data-market-tab="sell"].active{
  color:#fff1df;
  border-color:rgba(255,171,92,.40) !important;
  background:#8a5d32 !important;
}

#view-market .market-tab[data-market-tab="trade"]{
  color:#b6ef9d;
  border-color:rgba(145,224,108,.24) !important;
  background:#29492d !important;
}

#view-market .market-tab[data-market-tab="trade"]:hover{
  color:#efffe2;
  border-color:rgba(145,224,108,.40) !important;
  background:#3b6b41 !important;
}

#view-market .market-tab[data-market-tab="trade"].active{
  color:#efffe2;
  border-color:rgba(145,224,108,.40) !important;
  background:#3b6b41 !important;
}

#view-market .market-body{
  gap:14px;
  padding-top:0;
}

#view-market .market-header{
  padding:14px 16px 12px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom)) !important;
  border:1px solid rgba(172,202,245,.16) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.14) !important;
}

#view-market .market-toolbar{
  padding:14px 16px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom)) !important;
  border:1px solid rgba(172,202,245,.16) !important;
}

#view-market .market-section{
  gap:10px;
}

#view-market .market-section-head{
  padding:0;
}

#view-market .market-section-title{
  font-size:1.02rem;
}

#view-market .market-card-grid{
  gap:12px;
}

#view-market .market-offer-card{
  border-radius:16px;
  border-color:rgba(172,202,245,.18) !important;
  background:linear-gradient(180deg, rgba(20,31,47,.99), rgba(11,18,28,.995)) !important;
}

#view-market .market-offer-card.intent-buy{
  border-color:rgba(126,206,255,.34) !important;
  background:
          linear-gradient(180deg, rgba(126,206,255,.15), rgba(126,206,255,.04)),
          linear-gradient(180deg, rgba(20,31,47,.99), rgba(11,18,28,.995)) !important;
  box-shadow:0 10px 22px rgba(42,103,153,.22);
}

#view-market .market-offer-card.intent-sell{
  border-color:rgba(255,189,84,.28) !important;
  background:
          linear-gradient(180deg, rgba(255,189,84,.11), rgba(255,189,84,.03)),
          linear-gradient(180deg, rgba(20,31,47,.99), rgba(11,18,28,.995)) !important;
  box-shadow:0 10px 22px rgba(108,74,17,.22);
}

#view-market .market-offer-card.intent-trade{
  border-color:rgba(110,219,148,.28) !important;
  background:
          linear-gradient(180deg, rgba(110,219,148,.11), rgba(110,219,148,.03)),
          linear-gradient(180deg, rgba(20,31,47,.99), rgba(11,18,28,.995)) !important;
  box-shadow:0 10px 22px rgba(24,92,51,.2);
}

#view-market .market-offer-card.intent-buy .market-offer-intent{
  color:#b9e6ff;
}

#view-market .market-offer-card.intent-sell .market-offer-intent{
  color:#ffd07a;
}

#view-market .market-offer-card.intent-trade .market-offer-intent{
  color:#8de3ab;
}

#view-market .market-offer-card.intent-buy .market-chip{
  background:rgba(126,206,255,.14);
  border-color:rgba(126,206,255,.2);
}

#view-market .market-offer-card.intent-sell .market-chip{
  background:rgba(255,189,84,.10);
  border-color:rgba(255,189,84,.16);
}

#view-market .market-offer-card.intent-trade .market-chip{
  background:rgba(110,219,148,.10);
  border-color:rgba(110,219,148,.16);
}

#view-market .market-raw-row{
  border-radius:14px;
  border-color:rgba(172,202,245,.14) !important;
  background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom)) !important;
}

/* --- global radius normalization --- */
:root{
  --radius-lg:6px;
  --radius-md:6px;
  --radius-sm:4px;
}

.ornate-frame,
.panel,
.panel-dense,
.table-card,
.chat-panel,
.guild-panel,
.filter-card,
.compose-panel,
.chat-side,
.modal-dialog,
.modal-shell,
.container-panel,
.stats-card,
.stats-group,
.stats-group-summary,
.stats-group-cards,
.summary-chip,
.metric,
.chat-entry,
.chat-bubble,
.chat-toolbar,
.chat-wa-layout,
.chat-wa-sidebar,
.chat-wa-main,
.chat-wa-sidebar-header,
.chat-side-actions,
.chat-compose-wa,
.group-editor-dialog,
.group-editor-panel,
.group-editor-column,
.group-editor-entry,
.item-search-group,
.item-search-container,
.item-search-match,
.market-header,
.market-toolbar,
.market-section,
.market-section-raw,
.market-offer-card,
.market-raw-row,
.toast,
.slot-tooltip,
.error-section{
  border-radius:6px !important;
}

.menu-item,
.action-btn,
.send-btn,
.page-btn,
.page-tab,
.guild-tab,
.tab-btn,
.market-tab,
.custom-select-trigger,
.custom-select-option,
.contact-btn,
.chat-new-btn,
.emoji-picker-button,
.stats-group-edit,
.group-editor-pencil,
.group-editor-entry-action{
  border-radius:4px !important;
}

input,
select,
textarea,
.field-group input,
.field-group select,
.stats-search,
.compose-row input,
.language-picker select,
.chat-compose-wa .compose-row input{
  border-radius:4px !important;
}

.slot,
.item-cell img,
.drop-slot,
.market-offer-icon,
.wa-contact-avatar.guild,
.wa-contact-avatar.union{
  border-radius:6px !important;
}

.table-card tbody td:first-child{
  border-radius:6px 0 0 6px !important;
}

.table-card tbody td:last-child{
  border-radius:0 6px 6px 0 !important;
}

/* --- global spacing / border consistency --- */
.panel,
.panel-dense,
.market-header,
.market-toolbar,
.market-section,
.market-section-raw,
.stats-group,
.stats-group-summary,
.stats-group-cards,
.group-editor-column,
.group-editor-entry,
.chat-toolbar,
.chat-wa-sidebar-header,
.chat-side-actions,
.chat-compose-wa,
.container-panel,
.table-wrap,
.item-search-group,
.item-search-container{
  border-width:1px !important;
}

.panel,
.panel-dense,
.market-header,
.market-toolbar,
.market-section,
.market-section-raw,
.stats-card,
.group-editor-column,
.chat-toolbar,
.chat-compose-wa,
.container-panel{
  padding:10px !important;
}

.toolbar,
.compact-toolbar,
.compose-row,
.compose-grid,
.metric-grid,
.market-card-grid,
.market-results,
.item-search-container-list,
.group-editor-columns{
  gap:8px !important;
}

.field-group{
  gap:4px !important;
}

.field-group input,
.field-group select,
.stats-search,
.compose-row input,
.custom-select-trigger,
input,
select,
textarea{
  padding:8px 10px !important;
}

.menu-item,
.action-btn,
.send-btn,
.page-btn,
.page-tab,
.guild-tab,
.tab-btn,
.market-tab,
.contact-btn,
.emoji-picker-button,
.chat-new-btn{
  position: relative;
  padding:4px 8px !important;
}

.table-card thead th,
thead th{
  padding:8px 10px !important;
}

.table-card tbody td,
tbody td{
  padding:10px !important;
}

.stats-card{
  padding:10px !important;
}

.metric{
  padding:8px 9px !important;
}

.chat-wa-sidebar .contact-btn{
  min-height:64px !important;
  padding:10px 12px !important;
}

.market-offer-card{
  padding:10px !important;
}

.market-raw-row{
  padding:8px 10px !important;
}

/* --- remove redundant inner section titles --- */
#view-drops .panel-header > h2,
#view-itemsearch .panel-header > h2,
#view-market .market-header h2,
#view-deaths .panel-header > h2,
#view-guildstorage .panel-header > h2,
#stats-section-title{
  display:none !important;
}

#view-drops .panel-header,
#view-itemsearch .panel-header,
#view-deaths .panel-header,
#view-guildstorage .panel-header{
  justify-content:flex-end !important;
  margin-bottom:8px !important;
}

#view-market .market-header{
  align-items:center !important;
}

#view-market .market-header > div{
  display:none !important;
}

#view-market .market-header{
  justify-content:flex-end !important;
}

#view-stats .stats-header-main{
  gap:0 !important;
}

.drop-item-cell{
  align-items:flex-start;
}

.drop-locate-btn{
  min-width:164px;
  padding:8px 10px;
}

.drop-action-cell{
  white-space:nowrap;
  text-align:right;
  vertical-align:middle;
}

.slot.is-drop-match{
  box-shadow:inset 0 0 0 2px rgba(217,183,122,.58), 0 0 18px rgba(217,183,122,.22);
  border-color:rgba(217,183,122,.48);
}

.drop-locate-dialog{
  width:min(980px,calc(100vw - 32px));
}

.drop-locate-panel{
  display:grid;
  gap:12px;
}

.drop-locate-layout{
  display:grid;
  gap:12px;
}

.drop-locate-layout > .drop-locate-section:last-child{
  display:none;
}

.drop-locate-summary,
.drop-locate-section{
  padding:12px;
  background:rgba(18,14,10,.92);
  border:1px solid rgba(217,183,122,.16);
  border-radius:6px;
}

.drop-locate-summary-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
}

.drop-locate-slot{
  width:64px;
  height:64px;
  flex:0 0 64px;
}

.drop-locate-copy{
  min-width:0;
}

.drop-locate-item-name{
  font-size:1rem;
  font-weight:700;
  color:#f0e8d4;
  margin-bottom:4px;
}

.drop-locate-current-list,
.drop-locate-history{
  display:grid;
  gap:8px;
}

.drop-locate-current-card,
.drop-locate-history-entry{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.025);
  border-radius:6px;
}

.drop-locate-current-meta,
.drop-locate-history-copy{
  min-width:0;
}

.drop-locate-open-btn{
  min-width:96px;
  height:34px;
  padding:8px 10px;
}

.drop-locate-history-entry{
  align-items:flex-start;
  justify-content:flex-start;
}

.drop-locate-history-time{
  min-width:132px;
  color:var(--text-muted);
  font-size:.84rem;
  line-height:1.35;
}

.drop-locate-history-title{
  color:#f2ecdc;
  font-weight:700;
  margin-bottom:2px;
}

.stats-card{
  display:flex;
  flex-direction:column;
}

.stats-card.is-minimal{
  padding-bottom:0;
}

.stats-card.is-minimal .stats-card-header{
  margin-bottom:10px;
  align-items:center;
}

.stats-card.is-minimal .char-name-row{
  margin-bottom:0;
}

.stats-card.is-minimal .status-inline{
  flex-wrap:nowrap;
  white-space:nowrap;
  justify-content:flex-end;
  gap:8px;
}

.stats-card.is-minimal .metric-grid.compact-grid{
  margin-bottom:12px;
}

.stats-card.is-minimal .metric{
  padding:10px 10px;
}

.stats-card.is-minimal .bar-group.compact-bars{
  margin:10px 0 12px;
}

.stats-card.is-minimal .bar-group.compact-bars > div{
  margin:4px 0;
}

.stats-card-toggle-rail{
  margin:8px -12px 0;
  height:28px;
  border:0;
  border-top:1px solid rgba(255,255,255,.07);
  border-radius:0 0 6px 6px;
  background:rgba(255,255,255,.035);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .14s ease, border-color .14s ease;
}

.stats-card-toggle-rail:hover{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.11);
}

.stats-card-toggle-icon{
  width:10px;
  height:10px;
  border-right:2px solid rgba(240,232,212,.92);
  border-bottom:2px solid rgba(240,232,212,.92);
  transform:rotate(45deg) translateY(-1px);
  transition:transform .16s ease;
}

.stats-card-toggle-rail.is-open .stats-card-toggle-icon{
  transform:rotate(-135deg) translateY(-1px);
}

@media (max-width: 760px){
  .drop-locate-current-card,
  .drop-locate-history-entry,
  .drop-locate-summary-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .drop-locate-history-time{
    min-width:0;
  }
}

.uniques-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}

.unique-stat-card{
  border:1px solid rgba(255,236,196,.08);
  border-radius:14px;
  padding:16px 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  display:flex;
  flex-direction:column;
  gap:8px;
}

.unique-stat-card span{
  color:var(--text-dim);
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.unique-stat-card strong{
  font-size:1.35rem;
}

.uniques-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.unique-card{
  display:grid;
  grid-template-columns:136px minmax(0,1fr);
  gap:18px;
  padding:16px;
  align-items:center;
}

.unique-card-art{
  width:136px;
  height:136px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  isolation:isolate;
  background:none;
  border:none;
  padding:0;
  appearance:none;
  cursor:zoom-in;
}

.unique-card-art::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:18px;
  background:
          radial-gradient(circle at 50% 50%, rgba(255,255,255,.03) 0%, rgba(255,255,255,.015) 34%, rgba(0,0,0,0) 72%);
  filter:blur(10px);
  opacity:.35;
  z-index:0;
  pointer-events:none;
}

.unique-card-art img{
  position:relative;
  z-index:1;
  width:118px;
  height:118px;
  object-fit:contain;
  filter:
          drop-shadow(0 0 8px color-mix(in srgb, var(--unique-glow-2, #ffe0a1) 30%, transparent))
          drop-shadow(-10px 2px 14px color-mix(in srgb, var(--unique-glow, #d9b77a) 24%, transparent))
          drop-shadow(10px 1px 14px color-mix(in srgb, var(--unique-glow-3, #6c4d22) 22%, transparent))
          drop-shadow(0 -4px 10px color-mix(in srgb, var(--unique-glow-2, #ffe0a1) 14%, transparent))
          drop-shadow(0 6px 18px rgba(0,0,0,.34))
          drop-shadow(0 16px 28px rgba(0,0,0,.2));
}

.unique-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}

.unique-card-head h3{
  margin:0 0 4px;
  font-size:1.15rem;
}

.unique-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}

.unique-meta-box{
  border-radius:12px;
  padding:10px 12px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,236,196,.06);
  display:flex;
  flex-direction:column;
  gap:5px;
}

.unique-meta-box span{
  color:var(--text-dim);
  font-size:.78rem;
}

.unique-card-copy{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.unique-image-dialog{
  max-width:min(860px,92vw);
}

.unique-image-panel{
  display:grid;
  place-items:center;
  min-height:320px;
  padding:10px 6px 4px;
}

.unique-image-preview{
  max-width:min(720px,84vw);
  max-height:70vh;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:
          drop-shadow(0 18px 30px rgba(0,0,0,.34))
          drop-shadow(0 6px 14px rgba(0,0,0,.26));
}

#chat-shared-image-modal .unique-image-dialog{
  width:min(80vw, 1280px);
  max-width:min(80vw, 1280px);
}

#chat-shared-image-modal .unique-image-panel{
  display:grid;
  place-items:center;
  min-height:min(54vh, 520px);
  max-height:80vh;
  overflow:auto;
  padding:14px 10px 10px;
}

#chat-shared-image-modal .chat-shared-image-stage{
  display:grid;
  place-items:center;
  min-width:100%;
  min-height:100%;
}

#chat-shared-image-modal .chat-shared-image-preview{
  max-width:min(80vw, 1280px);
  max-height:80vh;
  width:auto;
  height:auto;
  object-fit:contain;
  cursor:zoom-in;
}

#chat-shared-image-modal .unique-image-panel.is-zoomed .chat-shared-image-preview{
  cursor:zoom-out;
}

.alchemy-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0;
}

.alchemy-page{
  display:flex;
  flex-direction:column;
}

.alchemy-section{
  padding:18px;
  margin-top:16px;
  background:
          linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)),
          radial-gradient(circle at top left, rgba(255,225,168,.045), transparent 34%);
}

.alchemy-summary-section{
  margin-top:14px;
}

#view-alchemy .item-search-toolbar{
  justify-content:center;
  align-items:flex-end;
  margin-top:20px;
  margin-bottom:4px;
}

.alchemy-main-section,
.alchemy-chart-section{
  margin-top:18px;
}

.alchemy-main-section .alchemy-live,
.alchemy-main-section .alchemy-history .table-wrap,
.alchemy-chart-section .alchemy-chart-card{
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}

.alchemy-main-section .alchemy-live::before,
.alchemy-main-section .alchemy-live::after,
.alchemy-main-section .alchemy-history .table-wrap::before,
.alchemy-main-section .alchemy-history .table-wrap::after,
.alchemy-chart-section .alchemy-chart-card::before,
.alchemy-chart-section .alchemy-chart-card::after{
  display:none;
}

.alchemy-charts{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin:0;
}

.analytics-page{
  display:grid;
  gap:14px;
}

.academy-page{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 340px);
  align-items:start;
  gap:28px;
}

.academy-log-column{
  min-width:0;
  display:grid;
  gap:12px;
  align-self:start;
}

.academy-section{
  padding:14px;
  background:transparent !important;
  border:1px solid rgba(184,208,246,.13);
  box-shadow:0 14px 26px rgba(4,8,16,.16);
  backdrop-filter:blur(18px) saturate(118%);
  -webkit-backdrop-filter:blur(18px) saturate(118%);
}

.academy-current-section{
  min-width:0;
}

.academy-log-section{
  position:sticky;
  top:12px;
  align-self:start;
  max-height:calc(100vh - 128px);
  overflow:hidden;
}

.academy-grid,
.academy-history-list,
.academy-log-list{
  display:grid;
  gap:22px;
}

.academy-experimental-banner{
  margin:4px 0 14px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(180,56,56,.68);
  background:linear-gradient(180deg, rgba(120,20,20,.38), rgba(68,12,12,.24));
  color:#ffd7d7;
  font-size:.78rem;
  line-height:1.4;
}

.academy-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 16px;
}

.academy-tab{
  appearance:none;
  min-height:28px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid var(--primary-tint-top);
  background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom));
  color:var(--text-main);
  cursor:pointer;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease, transform .16s ease;
}

.academy-tab:hover{
  border-color:var(--primary-border);
  box-shadow:0 10px 18px rgba(18,30,56,.22);
  transform:translateY(-1px);
}

.academy-tab.is-active{
  border-color:var(--primary-border);
  background:linear-gradient(180deg, var(--primary-tint-top), var(--primary-tint-bottom));
  box-shadow:0 8px 18px var(--primary-shadow);
}

.academy-log-list{
  max-height:calc(100vh - 204px);
  overflow:auto;
  padding-right:2px;
  gap:10px;
}

.academy-log-actions{
  display:flex;
  justify-content:center;
}

.conditions-page{
  display:grid;
  gap:16px;
}

.schedules-page{
  display:grid;
  gap:18px;
}

.conditions-section{
  padding:16px;
  background:transparent !important;
  border:1px solid rgba(184,208,246,.13);
  box-shadow:0 14px 26px rgba(4,8,16,.16);
  backdrop-filter:blur(18px) saturate(118%);
  -webkit-backdrop-filter:blur(18px) saturate(118%);
}

.schedules-section{
  padding:18px;
  background:transparent !important;
  border:1px solid rgba(184,208,246,.13);
  box-shadow:0 14px 26px rgba(4,8,16,.16);
  backdrop-filter:blur(18px) saturate(118%);
  -webkit-backdrop-filter:blur(18px) saturate(118%);
}

.conditions-list{
  display:grid;
  gap:18px;
}

.schedules-list{
  display:grid;
  gap:20px;
}

.conditions-actions{
  display:flex;
  justify-content:center;
  margin-top:16px;
}

.schedules-actions{
  display:flex;
  justify-content:center;
  margin-top:18px;
}

.conditions-add-btn{
  min-height:32px;
  padding:7px 16px;
}

.schedules-add-btn{
  min-height:34px;
  padding:8px 18px;
}

.conditions-premium-limit-note{
  margin:4px 0 10px;
  color: var(--red) !important;
  text-align: center;
  font-size:.82rem;
  font-style:italic;
}

.conditions-card{
  position:relative;
  display:grid;
  gap:14px;
  padding:14px;
  overflow:visible;
  background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom)) !important;
  border:1px solid rgba(255,236,196,.10);
  box-shadow:0 12px 28px rgba(0,0,0,.20);
}

.schedule-card{
  position:relative;
  display:grid;
  gap:16px;
  padding:16px;
  overflow:visible;
  background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom)) !important;
  border:1px solid rgba(255,236,196,.10);
  box-shadow:0 12px 28px rgba(0,0,0,.20);
}

.conditions-card:focus-within,
.schedule-card:focus-within{
  z-index:60;
}

.schedule-card.is-premium-disabled{
  opacity:.52;
  filter:saturate(.72);
}

.schedule-card.is-premium-disabled .conditions-card-column,
.schedule-card.is-premium-disabled .conditions-card-title-input,
.schedule-card.is-premium-disabled .conditions-card-column input,
.schedule-card.is-premium-disabled .conditions-card-column textarea,
.schedule-card.is-premium-disabled .conditions-card-column select,
.schedule-card.is-premium-disabled .schedule-cadence-panel input,
.schedule-card.is-premium-disabled .schedule-cadence-panel select{
  pointer-events:none;
}

.conditions-card.is-premium-disabled{
  opacity:.52;
  filter:saturate(.72);
}

.conditions-card.is-premium-disabled .conditions-card-column,
.conditions-card.is-premium-disabled .conditions-card-title-input,
.conditions-card.is-premium-disabled .conditions-card-column input,
.conditions-card.is-premium-disabled .conditions-card-column textarea,
.conditions-card.is-premium-disabled .conditions-card-column select{
  pointer-events:none;
}

.conditions-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.schedule-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.schedule-card-head-main{
  display:grid;
  gap:6px;
  min-width:0;
  flex:1 1 auto;
}

.conditions-card-title-wrap{
  display:grid;
  gap:6px;
  min-width:0;
  flex:1 1 auto;
}

.conditions-card-title-input{
  width:100%;
  min-height:34px;
  padding:8px 10px;
  border-radius:10px;
  background:#000;
  color:var(--text-main);
  border:1px solid rgba(255,255,255,.12);
}

.conditions-card-title{
  margin:0;
  color:var(--primary-color);
  font-size:1.12rem;
  line-height:1.3;
}

.conditions-card-head-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.conditions-card-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  align-items:start;
}

.schedule-card-body{
  display:grid;
  grid-template-columns:minmax(190px, 240px) minmax(0, 1fr);
  gap:16px;
  align-items:start;
}

.schedule-cadence-panel{
  position:relative;
  padding:14px;
  display:grid;
  gap:12px;
  align-content:start;
  overflow:visible;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.016));
}

.schedule-cadence-label{
  color:var(--primary-color);
  font-weight:700;
  letter-spacing:.02em;
}

.schedule-field-block{
  display:grid;
  gap:8px;
}

.schedule-field-label{
  color:var(--text-muted);
  font-size:.78rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.schedules-interval-editor{
  display:grid;
  grid-template-columns:minmax(0,110px) minmax(0,1fr);
  gap:10px;
}

.schedules-time-editor,
.schedules-at-editor{
  display:grid;
  gap:10px;
}

.schedule-weekday-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
}

.schedule-weekday-chip{
  min-height:34px;
  padding:6px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  color:var(--text-main);
  cursor:pointer;
}

.schedule-weekday-chip.is-active{
  border-color:rgba(214,183,122,.42);
  background:linear-gradient(180deg, rgba(214,183,122,.18), rgba(214,183,122,.08));
  color:#f8e7c7;
}

.schedule-window-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.schedules-interval-editor input,
.schedules-interval-editor select,
.schedules-time-editor input,
.schedules-time-editor select,
.schedules-at-editor input,
.schedules-at-editor select{
  min-height:36px;
  padding:8px 10px;
  border-radius:10px;
  background:#000;
  color:var(--text-main);
  border:1px solid rgba(255,255,255,.12);
}

.schedules-interval-summary{
  min-height:88px;
  display:grid;
  place-items:center;
  padding:12px;
  gap:6px;
  border-radius:12px;
  border:1px solid rgba(214,183,122,.18);
  background:linear-gradient(180deg, rgba(214,183,122,.10), rgba(214,183,122,.04));
  color:var(--text-main);
  text-align:center;
  font-size:1rem;
  line-height:1.4;
}

.schedules-interval-summary strong{
  font-size:1rem;
  color:#f5e3c0;
}

.schedules-interval-summary span{
  color:var(--text-muted);
  font-size:.82rem;
}

.schedule-flow-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  align-items:start;
}

.schedule-status-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:10px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012));
}

.schedule-status-card{
  display:grid;
  gap:4px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(184,208,246,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}

.schedule-status-card span{
  color:var(--text-muted);
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.schedule-status-card strong{
  color:#f5e3c0;
  font-size:.9rem;
  line-height:1.3;
}

.schedule-column-title{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.schedules-empty{
  min-height:220px;
  display:grid;
  place-items:center;
  text-align:center;
  gap:6px;
}

.conditions-card-column{
  position:relative;
  padding:12px;
  display:grid;
  gap:12px;
  align-content:start;
  align-self:start;
  overflow:visible;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}

.conditions-card-column-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.conditions-char-transfer{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.conditions-char-transfer-col{
  display:grid;
  gap:8px;
  min-width:0;
}

.conditions-char-list,
.conditions-editor-stack{
  display:grid;
  gap:8px;
  align-content:start;
}

.conditions-char-list{
  max-height:280px;
  overflow:auto;
}

.conditions-char-entry{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  text-align:left;
  padding:9px 10px;
  border-radius:10px;
  border:1px solid rgba(184,208,246,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.012));
  color:var(--text-main);
  cursor:pointer;
}

.conditions-char-entry.is-selected{
  border-color:rgba(214,183,122,.42);
  background:linear-gradient(180deg, rgba(214,183,122,.16), rgba(214,183,122,.08));
}

.conditions-char-entry-main{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.conditions-char-entry-action{
  font-weight:700;
  flex:0 0 auto;
}

.conditions-char-entry-action.is-add{
  color:#bce9c3;
}

.conditions-char-entry-action.is-remove{
  color:#ffb1b1;
}

.conditions-editor-row{
  position:relative;
  display:grid;
  gap:8px;
  align-content:start;
  padding:10px;
  overflow:visible;
  border-radius:10px;
  border:1px solid rgba(184,208,246,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.024), rgba(255,255,255,.012));
}

.conditions-card-column:focus-within,
.conditions-editor-row:focus-within,
.schedule-cadence-panel:focus-within{
  z-index:70;
}

.conditions-static-value{
  color:var(--text-main);
  line-height:1.45;
}

.conditions-action-message{
  width:100%;
  min-height:78px;
  resize:vertical;
  padding:9px 10px;
  border-radius:10px;
  background:#000;
  color:var(--text-main);
  border:1px solid rgba(255,255,255,.12);
}

.conditions-editor-row-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.conditions-editor-row-tools{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
}

.conditions-inline-help-row{
  display:flex;
  justify-content:flex-end;
}

.conditions-help-dot{
  width:28px;
  height:28px;
  margin-left:0;
  border-radius:999px;
  border-color:rgba(184,208,246,.32);
}

.conditions-card-column select,
.conditions-card-column input[type="text"],
.conditions-card-column input[type="url"],
.conditions-card-column .custom-select,
.discord-webhook-card input[type="text"],
.discord-webhook-card input[type="url"]{
  min-height:42px;
  height:42px;
}

.conditions-checkbox-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:2px 0 4px;
  color:var(--text-main);
}

.conditions-checkbox-row input[type="checkbox"]{
  width:16px;
  height:16px;
  margin:0;
}

.conditions-executor-panel{
  display:grid;
  gap:10px;
  align-content:start;
}

.conditions-char-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.conditions-char-chip{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(184,208,246,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  color:var(--text-main);
}

.compact-btn{
  min-height:32px;
  height:32px;
  padding:5px 10px;
}

.conditions-empty-inline{
  padding:8px 2px;
}

.conditions-empty{
  min-height:200px;
  display:grid;
  place-items:center;
  gap:8px;
}

.discord-page{
  display:grid;
  gap:14px;
}

.discord-section{
  display:grid;
  gap:14px;
}

.discord-intro{
  padding:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.018));
}

.discord-intro-copy{
  display:grid;
  gap:6px;
}

.discord-intro-copy h3{
  margin:0;
  color:var(--primary-color);
}

.discord-intro-copy p{
  margin:0;
}

.discord-info-link{
  color:var(--primary-color);
}

.discord-webhook-list{
  display:grid;
  gap:12px;
}

.discord-webhook-card{
  padding:12px;
  display:grid;
  gap:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}

.discord-webhook-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.discord-webhook-title-wrap{
  min-width:0;
  flex:1 1 auto;
}

.discord-webhook-title,
.discord-webhook-title-input{
  margin:0;
}

.discord-webhook-title{
  color:var(--primary-color);
  font-size:1.08rem;
  line-height:1.3;
}

.discord-webhook-head-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.discord-webhook-body{
  display:grid;
  gap:12px;
  align-content:start;
}

.discord-webhook-body .field-group{
  display:grid;
  gap:8px;
}

.discord-webhook-body .field-group label{
  color:var(--text-main);
}

.discord-actions{
  display:flex;
  justify-content:center;
}

.discord-add-btn{
  min-height:42px;
  height:42px;
}

.sounds-page{
  display:grid;
  gap:14px;
}

.sounds-section{
  display:grid;
  gap:14px;
  padding: 15px;
}

.sounds-intro{
  padding:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.018));
}

.sounds-upload-row{
  display:grid;
  grid-template-columns:minmax(220px, 1fr) minmax(220px, 1fr) auto;
  gap:12px;
  align-items:end;
}

.sounds-upload-row .field-group{
  display:grid;
  gap:8px;
}

.sounds-upload-row input[type="text"],
.sounds-upload-row input[type="file"]{
  min-height:42px;
  height:42px;
}

.sounds-event-assignments,
.sounds-library-list{
  display:grid;
  gap:12px;
}

.sounds-assignment-list{
  display:grid;
  gap:10px;
}

.sounds-assignment-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(255,236,196,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}

.sounds-assignment-copy{
  min-width:0;
  flex:1 1 auto;
}

.sounds-assignment-controls{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}

.sounds-assignment-controls select,
.sounds-assignment-controls .action-btn{
  min-height:42px;
  height:42px;
}

.sounds-actions{
  display:flex;
  justify-content:center;
}

.sound-card{
  align-content:start;
}

.sounds-badge-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
}

.sounds-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  font-size:.78rem;
  border:1px solid rgba(255,236,196,.16);
  background:rgba(255,255,255,.04);
}

.sounds-badge.is-app{
  color:var(--primary-color);
}

.sounds-badge.is-custom{
  color:var(--text-main);
}

@media (max-width: 1180px){
  .conditions-card-grid{
    grid-template-columns:1fr;
  }

  .schedule-card-body{
    grid-template-columns:1fr;
  }

  .schedule-flow-grid{
    grid-template-columns:1fr;
  }

  .schedule-status-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .conditions-card-head,
  .schedule-card-head,
  .conditions-card-column-head,
  .conditions-editor-row-head,
  .discord-webhook-head,
  .sounds-assignment-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .conditions-card-head-actions,
  .conditions-editor-row-tools,
  .discord-webhook-head-actions,
  .sounds-assignment-controls{
    width:100%;
    justify-content:flex-start;
  }

  .conditions-char-transfer{
    grid-template-columns:1fr;
  }

  .schedule-weekday-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .schedule-window-grid,
  .schedules-interval-editor{
    grid-template-columns:1fr;
  }

  .schedules-interval-summary{
    min-height:0;
  }

  .sounds-upload-row{
    grid-template-columns:1fr;
  }
}

.academy-card{
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(255,236,196,.10);
  background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom)) !important;
  display:grid;
  gap:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.20);
}

.academy-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.academy-card-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.academy-card-title{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
}

.academy-card-title-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.academy-card-title h3{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.academy-owner-avatar{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:10px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,236,196,.14);
  background:rgba(9,9,9,.86);
}

.academy-owner-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.academy-card-head h3,
.academy-log-copy strong,
.academy-member-copy strong{
  margin:0;
  color:#f6dfb7;
  font-size:.92rem;
}

.academy-card-head .small-meta,
.academy-member-copy .small-meta,
.academy-log-copy .small-meta{
  line-height:1.35;
  font-size:.75rem;
}

.academy-member-stack{
  display:grid;
  gap:7px;
}

.academy-member-section{
  display:grid;
  gap:5px;
}

.academy-member-section-title{
  font-size:.68rem;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--text-dim);
}

.academy-member-row,
.academy-log-row{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:6px 8px;
  border-radius:10px;
  border:1px solid rgba(255,236,196,.08);
  background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom)) !important;
}

.academy-member-row{
  display:grid;
  grid-template-columns:220px 108px 170px minmax(max-content, 1fr);
  column-gap:25px;
  align-items:center;
  justify-content:stretch;
}

.academy-member-row.is-tracked-apprentice{
  border-color:var(--primary-border);
  background:
          linear-gradient(180deg, var(--primary-tint-top), var(--primary-tint-bottom)),
          linear-gradient(180deg,var(--surface-top),var(--surface-bottom)) !important;
  box-shadow:0 0 0 1px var(--primary-tint-top), 0 12px 22px rgba(18,30,56,.16);
}

.academy-member-main,
.academy-log-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}

.academy-member-avatar,
.academy-log-avatar{
  width:32px;
  height:32px;
  border-radius:9px;
  flex:0 0 32px;
  border:1px solid rgba(255,236,196,.14);
  background:rgba(9,9,9,.92);
  display:grid;
  place-items:center;
}

.academy-member-avatar img,
.academy-log-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.academy-member-avatar.is-fallback,
.academy-log-avatar.is-fallback,
.academy-owner-avatar.is-fallback{
  background:rgba(9,9,9,.92);
}

.academy-member-avatar-status{
  position:relative;
}
.academy-member-avatar-status.is-offline img{
  filter:grayscale(1) brightness(.68);
}

.academy-member-avatar-status .academy-online-bubble{
  position:absolute;
  right:-5px;
  bottom:-5px;
  width:14px;
  height:14px;
  flex:0 0 14px;
}

.academy-member-copy,
.academy-log-copy{
  min-width:0;
  display:grid;
  gap:2px;
}

.academy-member-copy strong{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.academy-member-badges{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  justify-content:flex-start;
}

.academy-member-role-cell{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.academy-member-last-online{
  min-width:0;
  color:var(--text-dim);
  font-size:.7rem;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.academy-member-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}

.academy-member-action{
  min-height:22px;
  padding:2px 7px;
  font-size:.68rem;
  white-space:nowrap;
}

.academy-log-row{
  align-items:flex-start;
  padding:18px 8px 8px;
}

.academy-log-time{
  position:absolute;
  top:5px;
  right:8px;
  color:var(--text-dim);
  font-size:.66rem;
  line-height:1;
  white-space:nowrap;
}

.academy-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:20px;
  padding:1px 7px;
  border-radius:999px;
  font-size:.66rem;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:var(--text-main);
}

.academy-pill.role-master{
  color:#ffe7b8;
  border-color:rgba(255,214,152,.22);
  background:rgba(164,118,36,.16);
}

.academy-pill.role-guardian{
  color:#d4ecff;
  border-color:rgba(122,184,255,.22);
  background:rgba(37,86,132,.18);
}

.academy-pill.role-apprentice{
  color:#ffd9f4;
  border-color:rgba(255,122,213,.22);
  background:rgba(136,32,95,.18);
}

.academy-pill.action-left{
  color:#ffc8b8;
  border-color:rgba(222,112,74,.24);
  background:rgba(117,44,24,.22);
}

.academy-pill.action-graduated{
  color:#d9ffd5;
  border-color:rgba(138,214,112,.24);
  background:rgba(53,109,32,.22);
}

.academy-online-bubble{
  width:16px;
  height:16px;
  flex:0 0 16px;
  border-radius:999px;
  border:2px solid rgba(8,8,8,.82);
  box-shadow:0 0 0 1px rgba(255,236,196,.12), 0 0 10px rgba(0,0,0,.34);
}

.academy-online-bubble.is-online{
  background:linear-gradient(180deg, #80ff8d, #16b945);
}

.academy-online-bubble.is-offline{
  background:linear-gradient(180deg, #ff8177, #b91c1c);
}

.academy-online-bubble.is-unknown{
  background:linear-gradient(180deg, #aeb5c1, #606775);
}

.academy-history-btn{
  position:relative;
  min-height:28px;
  padding:4px 9px;
  white-space:nowrap;
}

.academy-mark-all-read-btn{
  min-height:28px;
  padding:4px 9px;
  white-space:nowrap;
}

.academy-remove-btn{
  min-height:28px;
  padding:3px 8px;
  font-size:.7rem;
  white-space:nowrap;
  border:1px solid rgba(180,56,56,.68) !important;
  background:linear-gradient(180deg, rgba(120,20,20,.38), rgba(68,12,12,.24)) !important;
  color:#ffd7d7 !important;
}

.academy-remove-btn:hover{
  border-color:rgba(180,56,56,.82) !important;
  background:linear-gradient(180deg, rgba(132,26,26,.42), rgba(76,14,14,.28)) !important;
  box-shadow:0 10px 18px rgba(82,10,10,.24) !important;
}

.academy-history-unread{
  position:absolute;
  right:-7px;
  top:-7px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  font-size:.68rem;
  font-weight:800;
  color:#fff;
  background:linear-gradient(180deg, #ff5d5d, #b00024);
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 4px 12px rgba(176,0,36,.38);
}

.academy-remove-dialog{
  max-width:min(520px,92vw);
}

.global-chat-confirm-dialog{
  max-width:min(540px,92vw);
}

.global-chat-confirm-body{
  display:grid;
  gap:14px;
}

.global-chat-confirm-preview{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:center;
}

.global-chat-confirm-preview img{
  width:38px;
  height:38px;
  object-fit:contain;
  display:block;
}

.global-chat-confirm-message{
  min-height:42px;
  padding:10px 12px;
  border-radius:8px;
  background:linear-gradient(180deg, rgba(10,10,10,.98), rgba(0,0,0,.98));
  border:1px solid rgba(255,220,120,.18);
  color:#f1d45b;
  font-weight:700;
  line-height:1.35;
  word-break:break-word;
}

.global-chat-confirm-copy{
  color:var(--text-main);
  line-height:1.45;
}

.global-chat-confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}

.academy-remove-copy{
  color:var(--text-muted);
  line-height:1.45;
  margin:4px 0 14px;
}

.academy-remove-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}

.academy-remove-confirm-btn{
  min-width:140px;
}

.academy-empty{
  padding:18px 12px;
  color:var(--text-dim);
}

.academy-history-dialog{
  max-width:min(920px, 92vw);
}

@media (max-width:1180px){
  .academy-page{
    grid-template-columns:1fr;
  }

  .academy-log-section{
    position:static;
    max-height:none;
  }

  .academy-log-list{
    max-height:none;
  }
}

@media (max-width:720px){
  .academy-member-row{
    grid-template-columns:minmax(0, 1fr) 96px;
    column-gap:12px;
  }

  .academy-member-last-online,
  .academy-member-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
  }
}

.analytics-subnav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.events-subnav{
  margin-bottom:12px;
}

.analytics-subnav-btn,
.analytics-mode-btn{
  min-height:38px;
  padding:9px 14px;
  border-radius:10px;
  border:1px solid rgba(255,236,196,.10);
  background:var(--button-grad);
  color:var(--text-main);
  cursor:pointer;
  transition:var(--transition-base);
}

.analytics-subnav-btn:hover,
.analytics-subnav-btn.active,
.analytics-mode-btn:hover,
.analytics-mode-btn.active{
  background:var(--button-grad-hover);
  border-color:rgba(217,183,122,.32);
  box-shadow:inset 0 1px 0 rgba(255,232,192,.08);
}

.analytics-content{
  display:grid;
  gap:16px;
}

.analytics-chart-stack{
  display:grid;
  gap:18px;
}

.analytics-section{
  display:grid;
  gap:14px;
}

.analytics-section-head{
  display:grid;
  gap:6px;
  margin-bottom:6px;
}

.analytics-section-head h2{
  margin:0;
  font-size:1.36rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#f6dfb7;
  text-shadow:0 1px 0 rgba(0,0,0,.34), 0 0 18px rgba(246,223,183,.08);
}

.analytics-section-head .small-meta{
  color:var(--text-dim);
  font-size:.84rem;
}

.analytics-section-divider{
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0), var(--primary-tint-top), rgba(255,255,255,0));
}

.analytics-chart-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}

.analytics-chart-grid.has-summary{
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(210px, .48fr);
}

.analytics-chart-grid.has-summary.is-summary-minimized{
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(140px, .28fr);
}

.analytics-chart-block{
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  gap:10px;
  min-width:0;
  height:100%;
}

.analytics-chart-toolbar{
  display:grid;
  gap:10px;
  align-content:start;
}

.analytics-filter-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  align-items:start;
}

.analytics-filter-field{
  display:grid;
  gap:6px;
  min-width:0;
}

.analytics-filter-field > span{
  color:var(--text-dim);
  font-size:.74rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  line-height:1.25;
}

.analytics-filter-field select,
.analytics-filter-field .custom-select{
  width:100%;
}

.analytics-chart-copy h3{
  margin:0;
  font-size:.96rem;
}

.analytics-mode-switch{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-self:start;
}

.analytics-placeholder{
  padding:24px 22px;
}

.analytics-placeholder-copy{
  display:grid;
  gap:6px;
}

.analytics-placeholder-copy h3{
  margin:0;
  font-size:1rem;
}

.analytics-summary-card{
  height:100%;
  padding:14px;
  display:grid;
  gap:10px;
  align-content:start;
  background: transparent !important;
  border:1px solid rgba(184,208,246,.13);
  box-shadow:0 14px 26px rgba(4,8,16,.16);
  backdrop-filter:blur(18px) saturate(118%);
  -webkit-backdrop-filter:blur(18px) saturate(118%);
}

.analytics-summary-head h3{
  margin:0 0 4px;
  font-size:1.02rem;
}

.analytics-summary-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.analytics-summary-toggle{
  width:22px;
  height:22px;
  padding:0;
  border:0;
  background:transparent;
  display:grid;
  place-items:center;
  cursor:pointer;
  opacity:.9;
}

.analytics-summary-toggle img{
  width:14px;
  height:14px;
  object-fit:contain;
}

.analytics-summary-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.analytics-summary-tile{
  min-height:84px;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid rgba(255,236,196,.10);
  background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom)) !important;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:6px;
  box-shadow:0 10px 20px rgba(0,0,0,.18);
}

.analytics-summary-tile-top{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}

.analytics-summary-tile-top span{
  color:var(--text-muted);
  font-size:.72rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  line-height:1.35;
}

.analytics-summary-tile-body{
  display:grid;
  gap:2px;
}

.analytics-summary-icon-wrap{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}

.analytics-summary-icon{
  width:22px;
  height:22px;
  object-fit:contain;
}

.analytics-summary-icon-portrait{
  width:22px;
  height:22px;
}

.analytics-summary-tile strong{
  color:#f6dfb7;
  font-size:1.08rem;
  line-height:1.1;
  word-break:break-word;
}

.analytics-summary-tile-list{
  min-height:120px;
}

.analytics-share-list{
  display:grid;
  gap:8px;
}

.analytics-share-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:2px 10px;
  align-items:center;
}

.analytics-share-row span{
  min-width:0;
  color:var(--text-main);
}

.analytics-share-row strong{
  font-size:.9rem;
  white-space:nowrap;
}

.analytics-share-row .small-meta{
  grid-column:1 / -1;
}

.analytics-summary-tile.is-highlight{
  border-color:rgba(217,183,122,.24);
  box-shadow:0 12px 26px rgba(0,0,0,.24), inset 0 0 0 1px rgba(217,183,122,.10);
}

.analytics-summary-tile.is-character strong{
  font-size:1rem;
}

.analytics-summary-card.is-minimized{
  padding:10px;
  gap:8px;
}

.analytics-summary-card.is-minimized .analytics-summary-head h3{
  font-size:.92rem;
}

.analytics-summary-card.is-minimized .analytics-summary-head .small-meta{
  font-size:.68rem;
}

.analytics-summary-card.is-minimized .analytics-summary-grid{
  gap:6px;
}

.analytics-summary-card.is-minimized .analytics-summary-tile{
  min-height:60px;
  padding:8px 9px;
  gap:4px;
}

.analytics-summary-card.is-minimized .analytics-summary-icon-wrap{
  display:none;
}

.analytics-summary-card.is-minimized .analytics-summary-tile-top span{
  font-size:.62rem;
  line-height:1.2;
}

.analytics-summary-card.is-minimized .analytics-summary-tile strong{
  font-size:.88rem;
}

.analytics-summary-card.is-minimized .analytics-summary-tile.is-character strong{
  font-size:.82rem;
}

.analytics-summary-card.is-minimized .analytics-summary-tile .small-meta{
  font-size:.66rem;
}

.alchemy-stat-card{
  border:0;
  border-radius:12px;
  padding:12px 14px;
  background:transparent;
  display:flex;
  flex-direction:column;
  gap:6px;
  box-shadow:none;
}

.alchemy-stat-card span{
  color:var(--text-dim);
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.alchemy-help{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  margin-left:8px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  color:#fff;
  font-size:.72rem;
  font-weight:700;
  line-height:1;
  text-transform:none;
  cursor:help;
  vertical-align:middle;
}

.alchemy-help::after{
  content:attr(data-tooltip);
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:min(360px, 42vw);
  padding:10px 12px;
  border-radius:10px;
  background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom));
  border:1px solid var(--primary-border);
  box-shadow:0 10px 26px rgba(0,0,0,.35);
  color:#eef3ff;
  font-size:.78rem;
  font-weight:500;
  line-height:1.45;
  letter-spacing:normal;
  text-transform:none;
  white-space:normal;
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
  transition:opacity .12s ease, transform .12s ease;
  z-index:30;
}

.alchemy-help:hover::after,
.alchemy-help:focus-visible::after{
  opacity:1;
  transform:translateY(0);
}

.alchemy-stat-card strong{
  font-size:1.18rem;
}

.alchemy-summary-grid-wrap{
  font-size:.95rem;
}

.alchemy-summary-grid{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.alchemy-summary-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 8px;
  border-radius:9px;
  border:1px solid rgba(255,255,255,.06);
}

.alchemy-summary-plus{
  color:var(--text-dim);
  font-size:.72rem;
  font-weight:700;
}

.alchemy-summary-value{
  color:var(--text-main);
  font-size:.76rem;
  font-weight:700;
}

.alchemy-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:16px;
  align-items:stretch;
}

.alchemy-chart-card{
  position:relative;
  width:100%;
  min-width:0;
  padding:14px 16px 12px;
  background:transparent;
}

.analytics-chart-block .alchemy-chart-card{
  height:100%;
  display:grid;
  grid-template-rows:auto auto minmax(0, 1fr);
  align-content:start;
}

.alchemy-chart-row-divider{
  grid-column:1 / -1;
  height:1px;
  margin:4px 0 2px;
  background:linear-gradient(90deg, rgba(255,255,255,0), var(--primary-tint-top), rgba(255,255,255,0));
}

.alchemy-chart-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.alchemy-chart-head h3{
  margin:0 0 4px;
  font-size:1rem;
}

.alchemy-chart-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-bottom:10px;
}

.alchemy-chart-legend:empty{
  display:none;
  margin-bottom:0;
}

.chart-legend-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--text-dim);
  font-size:.82rem;
  position:relative;
}

.chart-legend-swatch{
  width:10px;
  height:10px;
  border-radius:999px;
  box-shadow:0 0 0 1px rgba(255,255,255,.08);
}

.chart-legend-item-aggregate{
  cursor:help;
}

.chart-legend-tooltip{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  z-index:16;
  min-width:220px;
  max-width:360px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(10,14,22,.96), rgba(6,9,15,.98));
  box-shadow:0 10px 24px rgba(0,0,0,.34);
  display:grid;
  grid-auto-flow:column;
  grid-template-rows:repeat(3, auto);
  gap:8px 14px;
  opacity:0;
  pointer-events:none;
  transform:translateY(-4px);
  transition:opacity .12s ease, transform .12s ease;
}

.chart-legend-item-aggregate:hover .chart-legend-tooltip,
.chart-legend-item-aggregate:focus-visible .chart-legend-tooltip{
  opacity:1;
  transform:translateY(0);
}

.chart-legend-tooltip-row{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--text-main);
  font-size:.77rem;
  line-height:1.35;
}

.alchemy-chart-svg-wrap{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  min-height:280px;
}

.alchemy-chart-svg{
  width:auto;
  min-width:100%;
  height:280px;
  max-height:280px;
  flex:0 0 auto;
  display:block;
}

.chart-grid-line{
  stroke:rgba(255,255,255,.06);
  stroke-width:1;
}

.chart-axis-line{
  stroke:rgba(255,255,255,.12);
  stroke-width:1.2;
}

.chart-axis-tick{
  fill:#f3f4f7;
  font-size:11px;
}

.chart-point{
  cursor:pointer;
  filter:drop-shadow(0 0 10px rgba(255,255,255,.08));
  transition:r .12s ease, filter .12s ease;
}

.chart-point.is-active{
  r:6;
  filter:drop-shadow(0 0 12px rgba(255,255,255,.22));
}

@media (max-width: 1100px){
  .analytics-chart-grid.has-summary{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .analytics-summary-card{
    grid-column:1 / -1;
  }
  .analytics-summary-grid{
    grid-template-columns:1fr;
  }
  .analytics-summary-card.is-minimized{
    padding:14px;
    gap:12px;
  }
  .analytics-summary-card.is-minimized .analytics-summary-head h3{
    font-size:1rem;
  }
  .analytics-summary-card.is-minimized .analytics-summary-head .small-meta{
    font-size:.74rem;
  }
  .analytics-summary-card.is-minimized .analytics-summary-grid{
    gap:10px;
  }
  .analytics-summary-card.is-minimized .analytics-summary-tile{
    min-height:72px;
    padding:10px 12px;
    gap:8px;
  }
  .analytics-summary-card.is-minimized .analytics-summary-icon-wrap{
    display:grid;
  }
  .analytics-summary-card.is-minimized .analytics-summary-tile-top span{
    font-size:.72rem;
    line-height:1.25;
  }
  .analytics-summary-card.is-minimized .analytics-summary-tile strong{
    font-size:1rem;
  }
  .analytics-summary-card.is-minimized .analytics-summary-tile.is-character strong{
    font-size:1rem;
  }
  .analytics-summary-card.is-minimized .analytics-summary-tile .small-meta{
    font-size:.72rem;
  }
}

@media (max-width: 860px){
  .analytics-chart-grid,
  .analytics-summary-grid{
    grid-template-columns:1fr;
  }
  .analytics-chart-grid.has-summary{
    grid-template-columns:1fr;
  }
  .analytics-filter-row{
    grid-template-columns:1fr;
  }
}

.chart-bar{
  transition:filter .12s ease, transform .12s ease;
  transform-origin:center bottom;
}

.chart-bar.is-active,
.chart-bar:hover,
.chart-bar:focus-visible{
  filter:brightness(1.12) saturate(1.08) drop-shadow(0 0 12px rgba(255,255,255,.18));
  transform:translateY(-1px);
}

.alchemy-chart-tooltip{
  position:absolute;
  z-index:12;
  min-width:124px;
  max-width:220px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(10,14,22,.96), rgba(6,9,15,.98));
  box-shadow:0 10px 24px rgba(0,0,0,.34);
  pointer-events:none;
}

.alchemy-chart-tooltip-group + .alchemy-chart-tooltip-group{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.08);
}

.alchemy-chart-tooltip-title{
  color:#f3f4f7;
  font-size:.82rem;
  font-weight:700;
  margin-bottom:4px;
}

.alchemy-chart-tooltip-line{
  color:var(--text-dim);
  font-size:.77rem;
  line-height:1.35;
}

.alchemy-live {
  background:rgba(255,255,255,.022);
  border-radius:12px;
}

.alchemy-side-head{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:12px;
}

.alchemy-side-head h3{
  margin:0;
  font-size:1rem;
}

.alchemy-live-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.alchemy-live-entry{
  width:100%;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:rgba(255,255,255,.035);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "copy time"
    "copy result";
  gap:6px 12px;
  align-items:start;
  padding:10px 12px;
  text-align:left;
  min-height:68px;
}

.alchemy-live-entry.is-success{
  border-color:rgba(97,200,129,.48);
  background:linear-gradient(180deg, rgba(54,138,80,.42), rgba(18,43,28,.30));
  box-shadow:inset 0 1px 0 rgba(205,255,218,.08);
}

.alchemy-live-entry.is-fail{
  border-color:rgba(214,108,108,.5);
  background:linear-gradient(180deg, rgba(145,56,56,.42), rgba(54,22,22,.30));
  box-shadow:inset 0 1px 0 rgba(255,215,215,.06);
}

.alchemy-live-time{
  grid-area:time;
  color:var(--text-dim);
  font-size:.8rem;
  white-space:nowrap;
  align-self:start;
}

.alchemy-live-copy{
  grid-area:copy;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  justify-content:center;
  min-height:48px;
}

.alchemy-live-copy strong,
.alchemy-item-cell strong{
  font-size:.92rem;
}

.alchemy-item-cell .alchemy-item-seal{
  color:#ffd54a;
  font-weight:700;
}

.alchemy-live-copy span,
.alchemy-item-cell span{
  color:var(--text-dim);
  font-size:.79rem;
}

.alchemy-live-result{
  grid-area:result;
  font-size:.8rem;
  font-weight:700;
  white-space:normal;
  text-align:right;
  max-width:140px;
  line-height:1.25;
  align-self:end;
}

.alchemy-live-entry.is-success .alchemy-live-result{
  color:#d7ffe0;
}

.alchemy-live-entry.is-fail .alchemy-live-result{
  color:#ffd0d0;
}

.alchemy-history{
  display:flex;
  flex-direction:column;
  min-height:100%;
  border-radius:18px;
  box-shadow:0 8px 18px rgba(6,10,18,.12);
}

.alchemy-history table{
  width:100%;
  table-layout:fixed;
}

.alchemy-history thead th:nth-child(2),
.alchemy-history tbody td:nth-child(2){
  width:130px;
}

.alchemy-history thead th:nth-child(1),
.alchemy-history tbody td:nth-child(1){
  width:42px;
  min-width:42px;
  max-width:42px;
}

.alchemy-history thead th:nth-child(3),
.alchemy-history tbody td:nth-child(3){
  width:84px;
}

.alchemy-history thead th:nth-child(4),
.alchemy-history tbody td:nth-child(4){
  width:70px;
}

.alchemy-history thead th:nth-child(5),
.alchemy-history tbody td:nth-child(5){
  width:58px;
}

.alchemy-history thead th:nth-child(6),
.alchemy-history tbody td:nth-child(6){
  width:250px;
}

.alchemy-history thead th:nth-child(7),
.alchemy-history tbody td:nth-child(7){
  width:70px;
}

.alchemy-history .table-wrap{
  flex:1 1 auto;
  min-height:100%;
  margin-bottom:0;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  display:flex;
  flex-direction:column;
  overflow:auto;
}

.alchemy-item-cell{
  display:flex;
  flex-direction:column;
  gap:2px;
  line-height:1.2;
  min-width:0;
}

.alchemy-session-icon-cell{
  width:42px;
  min-width:42px;
  max-width:42px;
  padding-top:6px !important;
  padding-bottom:6px !important;
  padding-left:6px !important;
  padding-right:6px !important;
  overflow:hidden;
}

.alchemy-session-icon-frame{
  position:relative;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

.alchemy-session-icon-slot{
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  border-radius:8px;
  overflow:hidden;
}

.alchemy-session-icon{
  position:relative;
  z-index:1;
  width:28px;
  height:28px;
  object-fit:contain;
  display:block;
}

.alchemy-session-icon-frame .slot-rare-edge{
  inset:0;
  z-index:2;
  opacity:1;
}

.alchemy-session-plus{
  font-size:.88rem;
}

.alchemy-session-fails{
  font-size:.74rem;
  line-height:1.2;
  color:var(--text-main);
  scrollbar-width:thin;
}

.alchemy-fail-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:2px 5px;
  border-radius:7px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.05);
}
.alchemy-fail-chip.is-destroyed{
  background:linear-gradient(180deg, rgba(170,28,28,.95), rgba(104,10,10,.95));
  border-color:rgba(255,120,120,.65);
  box-shadow:0 10px 24px rgba(120,0,0,.24);
}
.alchemy-fail-destroyed{
  font-weight:800;
  color:#fff3f3;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.alchemy-item-cell strong{
  font-size:.82rem;
  line-height:1.15;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.alchemy-item-cell .alchemy-item-seal,
.alchemy-item-cell span{
  font-size:.7rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.alchemy-history tbody td{
  padding:6px 7px;
  vertical-align:top;
}

.alchemy-history .pagination{
  margin-top:auto;
  padding:10px 14px 12px;
  border-top:1px solid var(--primary-tint-bottom);
}

.alchemy-plus-tone-1{ background:rgba(70,140,78,.18); border-color:rgba(102,201,117,.28); }
.alchemy-plus-tone-2{ background:rgba(86,149,72,.18); border-color:rgba(129,206,99,.28); }
.alchemy-plus-tone-3{ background:rgba(111,152,64,.18); border-color:rgba(170,211,88,.28); }
.alchemy-plus-tone-4{ background:rgba(140,146,56,.18); border-color:rgba(208,205,77,.28); }
.alchemy-plus-tone-5{ background:rgba(156,128,50,.2); border-color:rgba(224,188,74,.3); }
.alchemy-plus-tone-6{ background:rgba(165,106,44,.2); border-color:rgba(228,157,67,.3); }
.alchemy-plus-tone-7{ background:rgba(168,87,40,.22); border-color:rgba(231,128,61,.32); }
.alchemy-plus-tone-8{ background:rgba(165,66,40,.22); border-color:rgba(227,101,61,.32); }
.alchemy-plus-tone-9{ background:rgba(154,50,42,.22); border-color:rgba(217,77,69,.34); }
.alchemy-plus-tone-10{ background:rgba(132,36,36,.24); border-color:rgba(201,58,58,.36); }

.alchemy-fail-plus{
  color:var(--text-dim);
  font-size:.75rem;
  font-weight:700;
}

.alchemy-fail-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  padding:2px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.075);
  color:var(--text-main);
  font-size:.74rem;
  font-weight:700;
}

.alchemy-result-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:90px;
  padding:6px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  background:linear-gradient(rgba(0, 0, 0, 0.88), rgba(8, 8, 8, 0.96));
  border:1px solid rgba(255,255,255,.05);
}

.alchemy-result-pill.is-success{
  color:#b8f0c7;
  border-color:rgba(97,200,129,.22);
  background:rgba(97,200,129,.09);
}

.alchemy-result-pill.is-fail{
  color:#ffcfbf;
  border-color:rgba(214,108,108,.22);
  background:rgba(214,108,108,.09);
}

.subtle-empty{
  min-height:84px;
  font-size:.88rem;
  background:rgba(255,255,255,.015);
}

@media (max-width:960px){
  .alchemy-summary,
  .uniques-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .alchemy-chart-card{
    width:100%;
    min-width:0;
  }

  .alchemy-layout,
  .unique-card{
    grid-template-columns:1fr;
  }

  .unique-card-art{
    width:100%;
  }

  .unique-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .alchemy-live-entry{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .alchemy-layout,
  #view-alchemy .alchemy-main-section{
    min-width:0;
  }

  .alchemy-live,
  .alchemy-history,
  .alchemy-history .table-wrap,
  .alchemy-live-list{
    min-width:0;
    overflow:hidden;
  }

  .alchemy-live-entry{
    width:100%;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-areas:
      "time"
      "copy"
      "result" !important;
    gap:6px !important;
    min-height:0 !important;
    padding:10px !important;
  }

  .alchemy-live-time,
  .alchemy-live-result{
    text-align:left;
    max-width:none;
    white-space:normal;
  }

  .alchemy-live-copy{
    min-height:0;
  }

  .alchemy-history .table-wrap{
    overflow:visible;
  }

  .alchemy-history table{
    width:max-content;
    min-width:100%;
  }
}

/* --- final content skin aligned to alchemy modules --- */
:root{
  --ui-success-rgb:97,200,129;
  --ui-success-border:rgba(97,200,129,.54);
  --ui-success-fill:linear-gradient(180deg, rgba(54,138,80,.46), rgba(18,43,28,.34));
  --ui-fail-rgb:214,108,108;
  --ui-fail-border:rgba(214,108,108,.56);
  --ui-fail-fill:linear-gradient(180deg, rgba(145,56,56,.46), rgba(54,22,22,.34));
}

.content .view:not(#view-guildstorage) .panel.ornate-frame,
.content .view:not(#view-guildstorage) .dashboard-widget.ornate-frame,
.content .view:not(#view-guildstorage) .stats-card.ornate-frame,
.content #view-market .market-window,
.content #view-chat .chat-wa-sidebar,
.content #view-chat .chat-wa-main,
.content #view-chat .chat-wa-sidebar-header,
.content #view-chat .chat-compose-wa{
  background:
          linear-gradient(180deg, var(--surface-soft-top), var(--surface-soft-bottom)),
          radial-gradient(circle at top left, var(--surface-soft-top), transparent 40%) !important;
  border-color:rgba(184,208,246,.13) !important;
  box-shadow:0 14px 26px rgba(4,8,16,.16) !important;
  backdrop-filter:blur(18px) saturate(118%) !important;
}

.content #view-stats .stats-card.ornate-frame:not(.is-offline){
  background:
          linear-gradient(180deg, rgba(138,156,190,.18), rgba(36,45,65,.30)),
          radial-gradient(circle at top left, rgba(178,208,255,.16), transparent 42%) !important;
  border-color:rgba(184,208,246,.18) !important;
  box-shadow:0 14px 26px rgba(4,8,16,.18) !important;
  backdrop-filter:blur(18px) saturate(118%) !important;
}

.content #view-stats .stats-card.ornate-frame.is-offline{
  background:transparent !important;
  border-color:rgba(146,160,186,.10) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

.content #view-stats .stats-card.ornate-frame.is-offline .stats-card-main{
  opacity:.46 !important;
  filter:grayscale(.85) saturate(.35) !important;
}

.content #view-stats .stats-card.ornate-frame.is-offline::after{
  background:none !important;
}

.content .view:not(#view-guildstorage) .ornate-frame::before{
  border-color:rgba(232,241,255,.04) !important;
}

.content .view:not(#view-guildstorage) .ornate-frame::after{
  background:linear-gradient(180deg, rgba(214,228,255,.03), transparent 30%, transparent 72%, rgba(188,216,255,.018)) !important;
}

.content .view:not(#view-guildstorage) .table-wrap.ornate-frame.thin,
.content .view:not(#view-guildstorage) .alchemy-main-section .alchemy-history .table-wrap,
.content .view:not(#view-guildstorage) .alchemy-main-section .alchemy-live,
.content .view:not(#view-guildstorage) .alchemy-chart-section .alchemy-chart-card{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

.content .view:not(#view-guildstorage) .table-wrap.ornate-frame.thin::before,
.content .view:not(#view-guildstorage) .table-wrap.ornate-frame.thin::after{
  display:none !important;
}

.content .view:not(#view-guildstorage) .dashboard-row,
.content .view:not(#view-guildstorage) .alchemy-live-entry,
.content .view:not(#view-guildstorage) .chat-entry{
  box-shadow:0 8px 18px rgba(6,10,18,.12) !important;
}

.content .view .dashboard-row,
.content .view .stats-card,
.content .view .metric,
.content .view .panel,
.content .view .panel-dense,
.content .view .dashboard-stat-card,
.content .view .table-wrap,
.content .view .modal-dialog,
.content .view .container-panel,
.content .view .stall-seller-card,
.content .view .stall-chat-row,
.content .view .market-offer-card,
.content .view .dashboard-widget,
.content .view .item-search-group,
.content .view .item-search-card,
.content .view .chat-contact,
.content .view .guildstorage-shell .ornate-frame.thin,
.content .view tbody tr{
  background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom)) !important;
}

.content .view .dashboard-row:hover,
.content .view .metric:hover,
.content .view .chat-contact:hover{
  background:linear-gradient(180deg,var(--surface-soft-top),var(--surface-soft-bottom)) !important;
}

.content .view:not(#view-chat):not(#view-market) .action-btn:not(.academy-remove-btn),
.content .view:not(#view-chat):not(#view-market) .page-btn,
.content .view:not(#view-chat):not(#view-market) .guild-tab,
.content .view:not(#view-chat):not(#view-market) .page-tab,
.content .view:not(#view-chat):not(#view-market) .tab-btn{
  background:linear-gradient(180deg,var(--primary-tint-top),var(--primary-tint-bottom)) !important;
  border-color:var(--primary-border) !important;
  box-shadow:0 8px 18px var(--primary-shadow) !important;
}

.content .view:not(#view-chat):not(#view-market) .action-btn:not(.academy-remove-btn):hover,
.content .view:not(#view-chat):not(#view-market) .page-btn:hover,
.content .view:not(#view-chat):not(#view-market) .guild-tab:hover,
.content .view:not(#view-chat):not(#view-market) .page-tab:hover,
.content .view:not(#view-chat):not(#view-market) .tab-btn:hover,
.content .view:not(#view-chat):not(#view-market) .guild-tab.active,
.content .view:not(#view-chat):not(#view-market) .page-tab.active,
.content .view:not(#view-chat):not(#view-market) .tab-btn.active{
  background:linear-gradient(180deg,var(--primary-solid-top),var(--primary-solid-bottom)) !important;
  border-color:var(--primary-border) !important;
}

.content #view-guildstorage .guild-tab.active,
.content #view-guildstorage .page-tab.active{
  color:var(--primary-contrast-text) !important;
}

.item-cell img,
.slot img,
.dashboard-row-icon img,
.char-portrait,
.char-portrait-wrap,
.deaths-char-portrait,
.deaths-char-portrait-wrap,
.map-tooltip-portrait,
.map-marker-pin,
.map-death-marker-char{
  width:var(--ui-icon-size);
  height:var(--ui-icon-size);
}

.slot img{
  width:var(--ui-slot-item-size) !important;
  height:var(--ui-slot-item-size) !important;
}

.char-portrait,
.char-portrait-wrap,
.deaths-char-portrait,
.deaths-char-portrait-wrap{
  width:var(--ui-portrait-size) !important;
  height:var(--ui-portrait-size) !important;
}

.char-portrait-wrap{
  flex:0 0 var(--ui-portrait-size) !important;
  min-width:var(--ui-portrait-size) !important;
  min-height:var(--ui-portrait-size) !important;
}

.content .view:not(#view-guildstorage) .table-card tbody td{
  background:transparent !important;
}


.content .view:not(#view-guildstorage) .field-group input,
.content .view:not(#view-guildstorage) .field-group select,
.content .view:not(#view-guildstorage) .stats-search,
.content .view:not(#view-guildstorage) .compose-row input,
.content .view:not(#view-guildstorage) .chat-compose-wa .compose-row input{
  border-color:rgba(166,193,235,.18) !important;
  color:#eef3ff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.content .view:not(#view-guildstorage) .field-group input:focus,
.content .view:not(#view-guildstorage) .field-group select:focus,
.content .view:not(#view-guildstorage) .stats-search:focus,
.content .view:not(#view-guildstorage) .compose-row input:focus{
  border-color:rgba(138,180,244,.38) !important;
  box-shadow:0 0 0 2px rgba(98,144,216,.12) !important;
}

.content .view:not(#view-guildstorage) .badge,
.content .view:not(#view-guildstorage) .action-btn,
.content .view:not(#view-guildstorage) .page-btn,
.content .view:not(#view-guildstorage) .tab-btn,
.content .view:not(#view-guildstorage) .guild-tab,
.content .view:not(#view-guildstorage) .page-tab,
.content .view:not(#view-guildstorage) .send-btn,
.content #view-chat .contact-btn{
  background:linear-gradient(180deg, rgba(89,124,186,.22), rgba(39,57,92,.18)) !important;
  border-color:rgba(146,176,224,.20) !important;
  color:var(--text-main) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.content .view:not(#view-guildstorage) .badge{
  background:linear-gradient(180deg, rgba(98,138,210,.26), rgba(52,76,122,.2)) !important;
  color:#f4f7ff !important;
}

.content .view:not(#view-guildstorage) .panel-header h2,
.content .view:not(#view-guildstorage) .dashboard-widget-head h2,
.content .view:not(#view-guildstorage) .topbar h1,
.content .view:not(#view-guildstorage) .alchemy-section h2,
.content .view:not(#view-guildstorage) .alchemy-section h3{
  color:#f1f5ff;
}

.content .view:not(#view-guildstorage) .small-meta,
.content .view:not(#view-guildstorage) .muted,
.content .view:not(#view-guildstorage) .dashboard-widget-sub{
  color:#becbdf;
}

.content .view:not(#view-guildstorage) .alchemy-live-entry.is-success,
.content .view:not(#view-guildstorage) .alchemy-result-pill.is-success{
  background:var(--ui-success-fill) !important;
  border-color:var(--ui-success-border) !important;
}

.content .view:not(#view-guildstorage) .alchemy-live-entry.is-fail,
.content .view:not(#view-guildstorage) .alchemy-result-pill.is-fail,
.content .view:not(#view-guildstorage) .danger-btn{
  background:var(--ui-fail-fill) !important;
  border-color:var(--ui-fail-border) !important;
}

.content .view:not(#view-guildstorage) .status-dot.live,
.content .view:not(#view-guildstorage) .menu-item.menu-item-active-alchemy .menu-item-pulse,
.content .view:not(#view-guildstorage) .alchemy-live-entry.is-success .alchemy-live-result{
  color:rgb(var(--ui-success-rgb)) !important;
}

.content .view:not(#view-guildstorage) .stats-alert-bubble,
.content .view:not(#view-guildstorage) .alchemy-live-entry.is-fail .alchemy-live-result{
  color:rgb(var(--ui-fail-rgb)) !important;
}

.content #view-stats .stats-group{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

.content #view-stats .stats-group::before{
  display:none !important;
}

.content #view-stats .stats-group-summary,
.content #view-stats .stats-group-cards{
  background:transparent !important;
  box-shadow:none !important;
}

.content #view-stats .stats-group-toggle-rail{
  background:transparent !important;
  border-top-color:rgba(184,208,246,.08) !important;
}

.content #view-dashboard .dashboard-stat-card.tone-blue{
  background:linear-gradient(180deg, rgba(52,86,138,.34), rgba(22,31,47,.92)) !important;
  border-color:rgba(118,165,236,.22) !important;
}

.content #view-dashboard .dashboard-stat-card.tone-slate{
  background:linear-gradient(180deg, rgba(88,103,128,.26), rgba(24,30,42,.92)) !important;
  border-color:rgba(166,185,214,.16) !important;
}

.content #view-dashboard .dashboard-stat-card.tone-green{
  background:linear-gradient(180deg, rgba(50,102,68,.32), rgba(21,33,28,.92)) !important;
  border-color:rgba(118,198,134,.20) !important;
}

.content #view-stats .stats-card.ornate-frame:not(.is-offline){
  background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom)) !important;
  border-color:var(--primary-tint-bottom) !important;
  box-shadow:0 8px 18px rgba(6,10,18,.12) !important;
  backdrop-filter:none !important;
}

.content #view-stats .stats-card.ornate-frame:not(.is-offline)::after{
  background:linear-gradient(180deg, rgba(214,228,255,.03), transparent 30%, transparent 72%, rgba(188,216,255,.018)) !important;
}

.content #view-stats .stats-card.ornate-frame.is-offline{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

.content #view-stats .stats-card.ornate-frame.is-offline .stats-card-main{
  opacity:.46 !important;
  filter:grayscale(.85) saturate(.35) !important;
}

.content #view-dashboard .dashboard-stat-card.tone-red{
  background:linear-gradient(180deg, rgba(108,58,72,.30), rgba(31,24,34,.92)) !important;
  border-color:rgba(214,118,136,.20) !important;
}

/* --- final chat channel colors, after global theme overrides --- */
.content #view-chat .tab-btn[data-chat-tab="all"]{
  background:linear-gradient(180deg, rgba(118,126,137,.34), rgba(48,54,63,.76)) !important;
  border-color:rgba(177,187,199,.28) !important;
  color:#eef1f5 !important;
}

.content #view-chat .tab-btn[data-chat-tab="all"]:hover,
.content #view-chat .tab-btn[data-chat-tab="all"].active{
  background:linear-gradient(180deg, rgba(138,148,161,.46), rgba(62,69,79,.88)) !important;
  border-color:rgba(198,208,221,.40) !important;
}

.content #view-chat .tab-btn[data-chat-tab="private"]{
  background:linear-gradient(180deg, rgba(86,198,232,.48), rgba(24,100,125,.82)) !important;
  border-color:rgba(140,234,255,.40) !important;
  color:#eefcff !important;
}

.content #view-chat .tab-btn[data-chat-tab="private"]:hover,
.content #view-chat .tab-btn[data-chat-tab="private"].active{
  background:linear-gradient(180deg, rgba(104,220,245,.60), rgba(28,118,146,.90)) !important;
  border-color:rgba(171,243,255,.48) !important;
}

.content #view-chat .tab-btn[data-chat-tab="party"]{
  background:linear-gradient(180deg, rgba(54,152,188,.44), rgba(18,76,98,.78)) !important;
  border-color:rgba(104,206,234,.34) !important;
  color:#e6f9ff !important;
}

.content #view-chat .tab-btn[data-chat-tab="party"]:hover,
.content #view-chat .tab-btn[data-chat-tab="party"].active{
  background:linear-gradient(180deg, rgba(69,180,214,.56), rgba(22,91,116,.86)) !important;
  border-color:rgba(134,221,244,.44) !important;
}

.content #view-chat .tab-btn[data-chat-tab="global"]{
  background:linear-gradient(180deg, rgba(188,152,42,.42), rgba(97,77,14,.74)) !important;
  border-color:rgba(255,214,88,.34) !important;
  color:#fff6cd !important;
}

.content #view-chat .tab-btn[data-chat-tab="global"]:hover,
.content #view-chat .tab-btn[data-chat-tab="global"].active{
  background:linear-gradient(180deg, rgba(221,184,54,.54), rgba(122,98,19,.84)) !important;
  border-color:rgba(255,225,125,.44) !important;
}

.content #view-chat .tab-btn[data-chat-tab="guild"]{
  background:linear-gradient(180deg, rgba(183,121,54,.42), rgba(88,53,18,.74)) !important;
  border-color:rgba(255,171,92,.34) !important;
  color:#fff0df !important;
}

.content #view-chat .tab-btn[data-chat-tab="guild"]:hover,
.content #view-chat .tab-btn[data-chat-tab="guild"].active{
  background:linear-gradient(180deg, rgba(214,144,66,.54), rgba(110,67,23,.84)) !important;
  border-color:rgba(255,190,125,.44) !important;
}

.content #view-chat .tab-btn[data-chat-tab="union"]{
  background:linear-gradient(180deg, rgba(92,154,58,.42), rgba(36,72,22,.74)) !important;
  border-color:rgba(145,224,108,.34) !important;
  color:#efffe2 !important;
}

.content #view-chat .tab-btn[data-chat-tab="union"]:hover,
.content #view-chat .tab-btn[data-chat-tab="union"].active{
  background:linear-gradient(180deg, rgba(116,184,75,.54), rgba(48,95,29,.84)) !important;
  border-color:rgba(171,238,141,.44) !important;
}

.content #view-chat .chat-wa-main[data-chat-theme="private"],
.content #view-chat .chat-wa-layout[data-chat-theme="private"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="private"],
.content #view-chat .chat-thread-header[data-chat-theme="private"],
.content #view-chat .chat-feed[data-chat-theme="private"],
.content #view-chat .chat-compose-wa[data-chat-theme="private"]{
  background:linear-gradient(180deg, rgba(20,44,64,.10), rgba(8,14,22,.54)) !important;
}

.content #view-chat .chat-wa-layout[data-chat-theme="private"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="private"],
.content #view-chat .chat-wa-main[data-chat-theme="private"]{
  border-color:rgba(124,208,255,.18) !important;
  box-shadow:0 18px 34px rgba(17,45,73,.16) !important;
}

.content #view-chat .chat-wa-main[data-chat-theme="all"],
.content #view-chat .chat-wa-layout[data-chat-theme="all"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="all"],
.content #view-chat .chat-thread-header[data-chat-theme="all"],
.content #view-chat .chat-feed[data-chat-theme="all"],
.content #view-chat .chat-compose-wa[data-chat-theme="all"]{
  background:linear-gradient(180deg, rgba(54,60,69,.10), rgba(16,20,26,.54)) !important;
}

.content #view-chat .chat-wa-layout[data-chat-theme="all"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="all"],
.content #view-chat .chat-wa-main[data-chat-theme="all"]{
  border-color:rgba(177,187,199,.18) !important;
  box-shadow:0 18px 34px rgba(34,40,49,.16) !important;
}

.content #view-chat .chat-wa-main[data-chat-theme="party"],
.content #view-chat .chat-wa-layout[data-chat-theme="party"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="party"],
.content #view-chat .chat-thread-header[data-chat-theme="party"],
.content #view-chat .chat-feed[data-chat-theme="party"],
.content #view-chat .chat-compose-wa[data-chat-theme="party"]{
  background:linear-gradient(180deg, rgba(20,58,72,.10), rgba(8,18,24,.54)) !important;
}

.content #view-chat .chat-wa-layout[data-chat-theme="party"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="party"],
.content #view-chat .chat-wa-main[data-chat-theme="party"]{
  border-color:rgba(104,206,234,.18) !important;
  box-shadow:0 18px 34px rgba(14,52,67,.16) !important;
}

.content #view-chat .chat-wa-main[data-chat-theme="global"],
.content #view-chat .chat-wa-layout[data-chat-theme="global"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="global"],
.content #view-chat .chat-thread-header[data-chat-theme="global"],
.content #view-chat .chat-feed[data-chat-theme="global"],
.content #view-chat .chat-compose-wa[data-chat-theme="global"]{
  background:linear-gradient(180deg, rgba(68,57,18,.10), rgba(22,18,9,.54)) !important;
}

.content #view-chat .chat-wa-layout[data-chat-theme="global"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="global"],
.content #view-chat .chat-wa-main[data-chat-theme="global"]{
  border-color:rgba(255,214,88,.18) !important;
  box-shadow:0 18px 34px rgba(74,59,12,.16) !important;
}

.content #view-chat .chat-wa-main[data-chat-theme="guild"],
.content #view-chat .chat-wa-layout[data-chat-theme="guild"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="guild"],
.content #view-chat .chat-thread-header[data-chat-theme="guild"],
.content #view-chat .chat-feed[data-chat-theme="guild"],
.content #view-chat .chat-compose-wa[data-chat-theme="guild"]{
  background:linear-gradient(180deg, rgba(72,44,22,.10), rgba(24,15,9,.54)) !important;
}

.content #view-chat .chat-wa-layout[data-chat-theme="guild"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="guild"],
.content #view-chat .chat-wa-main[data-chat-theme="guild"]{
  border-color:rgba(255,171,92,.18) !important;
  box-shadow:0 18px 34px rgba(78,42,12,.16) !important;
}

.content #view-chat .chat-wa-main[data-chat-theme="union"],
.content #view-chat .chat-wa-layout[data-chat-theme="union"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="union"],
.content #view-chat .chat-thread-header[data-chat-theme="union"],
.content #view-chat .chat-feed[data-chat-theme="union"],
.content #view-chat .chat-compose-wa[data-chat-theme="union"]{
  background:linear-gradient(180deg, rgba(30,64,28,.10), rgba(10,24,12,.54)) !important;
}

.content #view-chat .chat-entry,
.content #view-chat .chat-bubble.other{
  background:linear-gradient(180deg, rgba(58,71,92,.98), rgba(33,43,58,.99)) !important;
  border-color:rgba(214,227,255,.14) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.20) !important;
}

.content #view-chat .chat-bubble.private.other{
  background:linear-gradient(180deg, rgba(55,84,120,.98), rgba(29,47,69,.99)) !important;
}

.content #view-chat .chat-bubble.global.other{
  background:linear-gradient(180deg, rgba(104,86,39,.98), rgba(63,51,20,.99)) !important;
}

.content #view-chat .chat-bubble.guild.other{
  background:linear-gradient(180deg, rgba(112,75,45,.98), rgba(67,43,25,.99)) !important;
}

.content #view-chat .chat-bubble.union.other{
  background:linear-gradient(180deg, rgba(52,93,58,.98), rgba(28,56,34,.99)) !important;
}

.content #view-chat .chat-bubble.own{
  background:linear-gradient(180deg, rgba(154,194,92,.98), rgba(114,156,58,.99)) !important;
  border-color:rgba(191,230,135,.32) !important;
}

.content #view-chat .chat-wa-layout[data-chat-theme="union"],
.content #view-chat .chat-wa-sidebar[data-chat-theme="union"],
.content #view-chat .chat-wa-main[data-chat-theme="union"]{
  border-color:rgba(145,224,108,.18) !important;
  box-shadow:0 18px 34px rgba(31,63,18,.16) !important;
}

.content #view-chat .chat-wa-main[data-chat-theme="all"]::before,
.content #view-chat .chat-wa-main[data-chat-theme="party"]::before,
.content #view-chat .chat-wa-main[data-chat-theme="private"]::before,
.content #view-chat .chat-wa-main[data-chat-theme="global"]::before,
.content #view-chat .chat-wa-main[data-chat-theme="guild"]::before,
.content #view-chat .chat-wa-main[data-chat-theme="union"]::before,
.content #view-chat .chat-wa-main[data-chat-theme="all"]::after,
.content #view-chat .chat-wa-main[data-chat-theme="party"]::after,
.content #view-chat .chat-wa-main[data-chat-theme="private"]::after,
.content #view-chat .chat-wa-main[data-chat-theme="global"]::after,
.content #view-chat .chat-wa-main[data-chat-theme="guild"]::after,
.content #view-chat .chat-wa-main[data-chat-theme="union"]::after{
  display:none !important;
}

.content #view-chat .chat-feed[data-chat-theme],
.content #view-chat .chat-thread-header[data-chat-theme],
.content #view-chat .chat-compose-wa[data-chat-theme]{
  border-color:transparent !important;
  box-shadow:none !important;
}

.content #view-alchemy .alchemy-history .table-wrap.ornate-frame.thin {
  background:linear-gradient(180deg, var(--surface-top), var(--surface-bottom)) !important;
  border-color:var(--primary-tint-bottom) !important;
  box-shadow:0 8px 18px rgba(6,10,18,.12) !important;
}

.content #view-alchemy .alchemy-history .table-wrap.ornate-frame.thin::before,
.content #view-alchemy .alchemy-history .table-wrap.ornate-frame.thin::after{
  display:block !important;

}

body .content .view .dashboard-row:hover,
body .content .view .metric:hover,
body .content .view .chat-contact:hover,
body .content .view tbody tr:hover{
  background:linear-gradient(180deg,var(--surface-soft-top),var(--surface-soft-bottom)) !important;
}

body .content .view .field-group input,
body .content .view .field-group select,
body .content .view .stats-search,
body .content .view .compose-row input,
body .content .view .settings-row-control select,
body .content .view .settings-row-control input[type="text"]{
  background:var(--field-grad) !important;
}

body .content .view:not(#view-chat):not(#view-market) .action-btn:not(.academy-remove-btn),
body .content .view:not(#view-chat):not(#view-market) .page-btn,
body .content .view:not(#view-chat):not(#view-market) .guild-tab,
body .content .view:not(#view-chat):not(#view-market) .page-tab,
body .content .view:not(#view-chat):not(#view-market) .tab-btn,
body .content .view:not(#view-chat):not(#view-market) .menu-subitem{
  background:linear-gradient(180deg,var(--primary-tint-top),var(--primary-tint-bottom)) !important;
  border-color:var(--primary-border) !important;
  box-shadow:0 8px 18px var(--primary-shadow) !important;
}

body .content .view:not(#view-chat):not(#view-market) .action-btn:not(.academy-remove-btn):hover,
body .content .view:not(#view-chat):not(#view-market) .page-btn:hover,
body .content .view:not(#view-chat):not(#view-market) .guild-tab:hover,
body .content .view:not(#view-chat):not(#view-market) .page-tab:hover,
body .content .view:not(#view-chat):not(#view-market) .tab-btn:hover,
body .content .view:not(#view-chat):not(#view-market) .guild-tab.active,
body .content .view:not(#view-chat):not(#view-market) .page-tab.active,
body .content .view:not(#view-chat):not(#view-market) .tab-btn.active,
body .content .view:not(#view-chat):not(#view-market) .menu-subitem.active{
  background:linear-gradient(180deg,var(--primary-solid-top),var(--primary-solid-bottom)) !important;
  border-color:var(--primary-border) !important;
}

body .content #view-skillbuilder .skill-builder-config-row-actions .danger-btn{
  background: transparent !important;
  border-color:var(--ui-fail-border) !important;
  color:#ffe9e9 !important;
  box-shadow:0 8px 18px rgba(var(--ui-fail-rgb), .18) !important;
}

body .content #view-skillbuilder .skill-builder-config-row-actions .danger-btn:hover,
body .content #view-skillbuilder .skill-builder-config-row-actions .danger-btn:focus-visible{
  background:linear-gradient(180deg, rgba(var(--ui-fail-rgb), .32), rgba(var(--ui-fail-rgb), .18)) !important;
  border-color:rgba(var(--ui-fail-rgb), .58) !important;
}

body .content .view h1,
body .content .view h2,
body .content .view h3,
body .topbar h1,
body .panel-header h2,
body .settings-head h2,
body .settings-section-head h3,
body .settings-row-meta h3,
body .dashboard-widget-head h2,
body .stall-seller-head h3,
body .modal-header h2,
body .unique-card-head h3,
body .alchemy-chart-head h3,
body .alchemy-side-head h3,
body thead th{
  color:var(--gold) !important;
}

body .content .view .item-cell img,
body .content .view .dashboard-row-icon img,
body .content .view .map-tooltip-portrait,
body .content .view .map-death-marker-char,
body .content .view .map-marker-pin{
  width:var(--ui-icon-size) !important;
  height:var(--ui-icon-size) !important;
}

body .content .view .slot img{
  width:var(--ui-slot-item-size) !important;
  height:var(--ui-slot-item-size) !important;
}

body .content .view .char-portrait,
body .content .view .char-portrait-wrap,
body .content .view .deaths-char-portrait,
body .content .view .deaths-char-portrait-wrap{
  width:var(--ui-portrait-size) !important;
  height:var(--ui-portrait-size) !important;
}

@media (max-width: 860px){
  .map-page{
    min-height:calc(100vh - 120px);
    grid-template-rows:auto 1fr;
  }
  .map-toolbar{
    flex-direction:column;
    align-items:stretch;
  }
  .map-content{
    grid-template-columns:1fr;
  }
  .map-quicknav-grid{
    grid-template-columns:1fr;
  }
  .map-overlays-grid{
    grid-template-columns:1fr;
  }
  .map-char-jump-group{
    min-width:0;
  }
  .map-quicknav-select-group{
    min-width:0;
    margin-left:0;
  }
  .map-quicknav-buttons{
    grid-template-columns:1fr;
  }
  .map-stage{
    min-height:420px;
  }
  .map-marker-name{
    max-width:88px;
    font-size:.68rem;
  }
  .map-overlay{
    padding:8px;
  }
  .map-tooltip{
    width:min(280px,calc(100vw - 32px)) !important;
    min-width:0 !important;
    max-width:min(280px,calc(100vw - 32px)) !important;
  }
}

body .content .view,
body .content .view div,
body .content .view p,
body .content .view span,
body .content .view label,
body .content .view small,
body .content .view strong,
body .content .view em,
body .content .view li,
body .content .view td,
body .content .view th,
body .content .view button,
body .content .view input,
body .content .view select,
body .content .view textarea{
  color:var(--text-main);
}

body .content .view .small-meta,
body .content .view .muted,
body .content .view .page-meta,
body .content .view .chat-meta,
body .content .view .contact-count,
body .content .view .field-group label,
body .content .view .meta-k,
body .content .view .metric-label,
body .content .view .bar-label-row,
body .content .view .detail-row,
body .content .view .settings-head p,
body .content .view .settings-section-head p,
body .content .view .settings-row-meta p,
body .content .view .settings-inline-note,
body .content .view .topbar p{
  color:var(--text-main) !important;
  opacity:.82;
}

body .content .view h1,
body .content .view h2,
body .content .view h3,
body .content .view h4,
body .content .view h5,
body .content .view h6,
body .topbar h1,
body .panel-header h2,
body .settings-head h2,
body .settings-section-head h3,
body .settings-row-meta h3,
body .dashboard-widget-head h2,
body .stall-seller-head h3,
body .modal-header h2,
body .unique-card-head h3,
body .alchemy-chart-head h3,
body .alchemy-side-head h3,
body .content .view thead th{
  color:var(--gold) !important;
}

body .content .view input,
body .content .view select,
body .content .view textarea{
  background:var(--field-grad) !important;
}

body .content .view .item-cell img,
body .content .view .slot,
body .content .view .slot.empty,
body .content .view .map-overlay-card,
body .content .view .map-tooltip,
body .content .view .map-drop-marker-item-wrap,
body .content .view .map-death-marker-char,
body .content .view .dashboard-row-icon,
body .content .view .dashboard-avatar-private,
body .content .view .dashboard-avatar-global,
body .content .view .dashboard-avatar-guild,
body .content .view .dashboard-avatar-union,
body .content .view .dashboard-avatar-death{
  background:linear-gradient(180deg,var(--surface-soft-top),var(--surface-soft-bottom)) !important;
}

body .sidebar-share img,
body #share-qr-image{
  width:var(--ui-qr-size) !important;
  height:var(--ui-qr-size) !important;
}

body .content .view .dashboard-row-icon{
  width:var(--ui-dashboard-icon-box-size) !important;
  height:var(--ui-dashboard-icon-box-size) !important;
  flex:0 0 var(--ui-dashboard-icon-box-size) !important;
}

body .content .view .dashboard-row-icon.slot,
body .content .view .drop-slot,
body .content .view .market-offer-icon,
body .content .view .chat-shared-item-slot,
body .content .view .chat-shared-preview-slot,
body .content .view .alchemy-live-icon-slot,
body .content .view .alchemy-session-icon-slot{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

body .content .view .dashboard-row-icon img,
body .content .view .dashboard-event-fixed-icon,
body .content .view .dashboard-event-unique-icon{
  width:100% !important;
  height:100% !important;
}

body .content .view .dashboard-offer-icons img,
body .content .view .dashboard-offer-icons-empty{
  width:var(--ui-dashboard-offer-icon-size) !important;
  height:var(--ui-dashboard-offer-icon-size) !important;
}

body .content .view .dashboard-offer-icons img,
body .content .view .item-cell img,
body .content .view .stall-sale-icon img,
body .content .view .alchemy-live-icon,
body .content .view .alchemy-session-icon{
  display:block !important;
  margin:auto !important;
}

body .content .view .drop-slot{
  width:calc(var(--ui-slot-item-size) + 10px) !important;
  height:calc(var(--ui-slot-item-size) + 10px) !important;
  flex:0 0 calc(var(--ui-slot-item-size) + 10px) !important;
}

body .content .view .drop-slot img{
  width:var(--ui-slot-item-size) !important;
  height:var(--ui-slot-item-size) !important;
}

body .content .view .container-grid{
  grid-template-columns:repeat(var(--cols,4), auto) !important;
  gap:0 !important;
  padding:0 !important;
  justify-content:start !important;
  align-content:start !important;
}

body .content .view .container-grid .slot{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:content-box !important;
  flex:none !important;
  display:block !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  outline:none !important;
  outline-offset:0 !important;
  justify-self:start !important;
  align-self:start !important;
}

body .content .view .container-grid .slot img{
  width:var(--ui-slot-item-size) !important;
  height:var(--ui-slot-item-size) !important;
  object-fit:contain !important;
  margin:0 !important;
}

body .content .view .container-grid .slot.empty{
  background:transparent !important;
}

body .content #view-guildstorage .container-grid .slot,
body .content #view-guildstorage .container-grid .slot.empty{
  width:var(--ui-slot-box-size) !important;
  height:var(--ui-slot-box-size) !important;
  min-width:var(--ui-slot-box-size) !important;
  min-height:var(--ui-slot-box-size) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(72,72,72,.72) !important;
  border-radius:2px !important;
  background:linear-gradient(180deg, rgba(10,10,10,.98), rgba(18,18,18,.95)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), inset 0 0 0 1px rgba(0,0,0,.48) !important;
}

body .content #view-guildstorage .container-grid .slot-empty-mark{
  width:100% !important;
  height:100% !important;
}

body .content .view .container-grid .slot.has-item-menu{
  outline:none !important;
}

body .content .view .market-offer-top{
  grid-template-columns:var(--ui-market-icon-box-size) minmax(0,1fr) !important;
}

body .content .view .market-offer-icons{
  width:var(--ui-market-icon-box-size) !important;
  min-width:var(--ui-market-icon-box-size) !important;
}

body .content .view .market-offer-icons.is-multi{
  width:var(--ui-market-icon-box-size) !important;
}

body .content .view .market-offer-icon{
  width:var(--ui-market-icon-box-size) !important;
  height:var(--ui-market-icon-box-size) !important;
}

body .content .view .market-offer-icons.is-multi .market-offer-icon{
  width:var(--ui-market-multi-icon-size) !important;
  height:var(--ui-market-multi-icon-size) !important;
}

body .content .view .market-offer-icons.is-multi .market-offer-icon:first-child{
  width:var(--ui-market-icon-box-size) !important;
  height:var(--ui-market-icon-box-size) !important;
}

body .content .view .stall-sale-row{
  grid-template-columns:var(--ui-stall-icon-box-size) minmax(0,1fr) !important;
}

body .content .view .stall-sale-icon{
  width:var(--ui-stall-icon-box-size) !important;
  height:var(--ui-stall-icon-box-size) !important;
}

body .content .view .stall-sale-icon img{
  width:var(--ui-slot-item-size) !important;
  height:var(--ui-slot-item-size) !important;
}

body .content .view .deaths-char-cell{
  width:calc(var(--ui-portrait-size) + 16px) !important;
}

body .content .view .unique-card{
  grid-template-columns:var(--ui-unique-art-size) minmax(0,1fr) !important;
}

body .content .view .unique-card-art{
  width:var(--ui-unique-art-size) !important;
  height:var(--ui-unique-art-size) !important;
}

body .content .view .unique-card-art img{
  width:var(--ui-unique-image-size) !important;
  height:var(--ui-unique-image-size) !important;
}

body .content .view .alchemy-live-entry{
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:
    "copy time"
    "copy result" !important;
  gap:6px 12px !important;
  align-items:start !important;
  min-height:68px !important;
}

@media (max-width:760px){
  body .content .view .alchemy-live-entry{
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-areas:
      "time"
      "copy"
      "result" !important;
    gap:6px !important;
    min-height:0 !important;
  }
}

body .content .view .alchemy-live-icon-frame{
  position:relative;
  width:calc(var(--ui-slot-item-size) + 10px);
  height:calc(var(--ui-slot-item-size) + 10px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

body .content .view .alchemy-live-icon-slot{
  width:calc(var(--ui-slot-item-size) + 10px) !important;
  height:calc(var(--ui-slot-item-size) + 10px) !important;
  min-width:calc(var(--ui-slot-item-size) + 10px) !important;
  min-height:calc(var(--ui-slot-item-size) + 10px) !important;
  border-radius:8px;
  overflow:hidden;
}

body .content .view .alchemy-live-icon{
  position:relative;
  z-index:1;
  width:var(--ui-slot-item-size) !important;
  height:var(--ui-slot-item-size) !important;
  object-fit:contain;
  display:block;
}

body .content .view .alchemy-live-icon-frame .slot-rare-edge{
  inset:0;
  z-index:2;
  opacity:1;
}

body .content .view .alchemy-session-icon-frame{
  width:calc(var(--ui-slot-item-size) + 10px) !important;
  height:calc(var(--ui-slot-item-size) + 10px) !important;
}

body .content .view .alchemy-session-icon-slot{
  width:calc(var(--ui-slot-item-size) + 10px) !important;
  height:calc(var(--ui-slot-item-size) + 10px) !important;
  min-width:calc(var(--ui-slot-item-size) + 10px) !important;
  min-height:calc(var(--ui-slot-item-size) + 10px) !important;
}

body .content .view .alchemy-session-icon{
  width:var(--ui-slot-item-size) !important;
  height:var(--ui-slot-item-size) !important;
}

body .content .view .chat-shared-item-slot{
  width:var(--ui-chat-shared-slot-size) !important;
  height:var(--ui-chat-shared-slot-size) !important;
  flex:0 0 var(--ui-chat-shared-slot-size) !important;
}

body .content .view .chat-shared-preview-slot{
  width:var(--ui-chat-shared-preview-size) !important;
  height:var(--ui-chat-shared-preview-size) !important;
  flex:0 0 var(--ui-chat-shared-preview-size) !important;
}

.menu-section-title{
  color:rgba(205,190,156,.72);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.menu-spacer{
  height:2px;
}

#view-dashboard.active{
  min-height:calc(100vh - 104px);
  padding:22px 0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

#view-dashboard.active .dashboard-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-areas:
    "chars chars chars chars deaths deaths deaths deaths promo promo promo promo"
    "events events events events events events stack stack stack offers offers offers";
  grid-template-rows:auto auto;
  gap:10px;
  align-items:stretch;
  width:100%;
  height:auto;
  min-height:0;
}

#view-dashboard.active .dashboard-widget{
  min-height:0;
  height:auto;
  gap:5px;
  padding:9px;
  overflow:hidden;
}

#view-dashboard.active .dashboard-widget-head{
  min-height:22px;
  padding-bottom:4px;
  flex:0 0 auto;
}

#view-dashboard.active .dashboard-widget-sub{
  display:none;
}

#view-dashboard.active .dashboard-widget-chars{grid-area:chars}
#view-dashboard.active .dashboard-widget-deaths{grid-area:deaths}
#view-dashboard.active .dashboard-widget-promo{grid-area:promo}
#view-dashboard.active .dashboard-widget-events{grid-area:events}
#view-dashboard.active .dashboard-widget-dropstack{grid-area:stack}
#view-dashboard.active .dashboard-widget-offers{grid-area:offers}

#view-dashboard.active .dashboard-chars-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  flex:0 0 auto;
}

#view-dashboard.active .dashboard-stat-card{
  gap:3px;
  padding:5px 7px;
}

#view-dashboard.active .dashboard-stat-card strong,
#view-dashboard.active .dashboard-gold-split strong{
  font-size:.92rem;
}

#view-dashboard.active .dashboard-chars-gold{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1.9fr);
  gap:5px;
  margin-top:auto;
  flex:0 0 auto;
}

#view-dashboard.active .dashboard-gold-total-compact{
  margin:0;
  padding:6px 7px;
}

#view-dashboard.active .dashboard-gold-split-compact{
  gap:5px;
  margin-top:0;
}

#view-dashboard.active .dashboard-gold-split-compact div{
  padding:6px 7px;
}

#view-dashboard.active .dashboard-promo-link{
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:10px;
  border:1px solid rgba(255,236,196,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}

#view-dashboard.active .dashboard-promo-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
}

#view-dashboard.active .dashboard-list{
  gap:5px;
  min-height:0;
  flex:1 1 auto;
}

#view-dashboard.active .dashboard-list-tight{gap:7px}
#view-dashboard.active .dashboard-list-single{grid-template-rows:minmax(0,1fr)}
#view-dashboard.active .dashboard-list-scroll{overflow-y:auto;overflow-x:hidden}
#view-dashboard.active .dashboard-list-rows-5{grid-auto-rows:max-content}

#view-dashboard.active .dashboard-row{
  padding:5px 7px;
}

#view-dashboard.active .dashboard-row-main strong{
  font-size:.78rem;
}

#view-dashboard.active .dashboard-row-main span,
#view-dashboard.active .dashboard-row-main p{
  font-size:.68rem;
  line-height:1.15;
}

#view-dashboard.active .dashboard-offers-list{
  grid-template-rows:repeat(3,minmax(0,1fr));
}

#view-dashboard.active .dashboard-offer-row{
  min-height:0;
  align-content:center;
}

#view-dashboard.active .dashboard-offer-placeholder{
  border-radius:6px;
  border:1px dashed rgba(255,236,196,.10);
  background:rgba(255,255,255,.018);
}

#view-dashboard.active .dashboard-offer-placeholder.is-empty{
  display:grid;
  place-items:center;
  color:#c7b79c;
  font-size:.82rem;
}

#view-dashboard.active .dashboard-widget-dropstack{
  display:grid;
  grid-template-rows:82px minmax(0,1fr);
  gap:10px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}

#view-dashboard.active .dashboard-widget-dropstack .dashboard-widget{
  height:100%;
  padding:9px;
}

#view-dashboard.active .dashboard-row-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
}

#view-dashboard.active .dashboard-avatar{
  width:28px;
  height:28px;
  flex:0 0 28px;
  font-size:.72rem;
}

#view-dashboard.active .dashboard-row time{
  font-size:.66rem;
}

#view-dashboard.active .dashboard-message-btn{
  min-width:66px;
  height:24px;
  padding:0 7px;
  font-size:.68rem;
}

#view-dashboard.active .dashboard-offer-type{
  min-width:34px;
  padding:2px 6px;
  font-size:.64rem;
}

#view-dashboard.active .dashboard-map-jump-btn{
  width:24px;
  height:24px;
}

#view-dashboard.active .dashboard-head-glyph img{
  width:20px;
  height:20px;
}

#view-dashboard.active .dashboard-gold-total strong{
  font-size:1.12rem;
}

#view-dashboard.active .dashboard-gold-total img{
  width:18px;
  height:18px;
}

#view-dashboard.active .dashboard-widget-deaths .dashboard-list,
#view-dashboard.active .dashboard-widget-events .dashboard-list,
#view-dashboard.active .dashboard-widget-offers .dashboard-list{
  overflow:auto;
}

#view-dashboard.active .dashboard-widget-deaths .dashboard-row,
#view-dashboard.active .dashboard-widget-events .dashboard-row{
  min-height:52px;
}

#view-dashboard.active .dashboard-widget-offers .dashboard-row{
  min-height:70px;
}

#view-dashboard.active .dashboard-widget-promo{
  align-self:stretch;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

#view-dashboard.active .dashboard-widget-promo > *{
  position:relative;
  z-index:1;
}

#view-dashboard.active .dashboard-widget-promo .dashboard-promo-image{
  position:absolute;
  inset:0;
  display:block;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1);
  transform-origin:center center;
  will-change:transform;
  animation:dashboardPromoZoom 2.5s ease-in-out infinite alternate;
  z-index:0;
}

@keyframes dashboardPromoZoom{
  0%{
    transform:scale(1);
  }
  100%{
    transform:scale(1.12);
  }
}

@media (prefers-reduced-motion: reduce){
  #view-dashboard.active .dashboard-widget-promo .dashboard-promo-image{
    animation:none;
  }
}

@media (max-width: 1480px){
  #view-dashboard.active .dashboard-grid{
    grid-template-areas:
      "chars chars chars chars deaths deaths deaths promo promo promo promo promo"
      "events events events events events stack stack stack offers offers offers offers";
    grid-template-rows:auto auto;
  }
  .content #view-alchemy .alchemy-history .table-wrap.ornate-frame.thin {
    background: none !important;
  }
  .alchemy-history {
    overflow: scroll !important;
  }
}

@media (max-width: 980px){
  #view-dashboard.active{
    height:auto;
    padding-bottom:18px;
    overflow:visible;
    display:block;
  }

  #view-dashboard.active .dashboard-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "chars"
      "deaths"
      "promo"
      "events"
      "drop"
      "chat"
      "offers";
    grid-template-rows:auto;
    min-height:0;
    height:auto;
  }

  #view-dashboard.active .dashboard-widget{
    min-height:auto;
    height:auto;
  }

  #view-dashboard.active .dashboard-chars-gold,
  #view-dashboard.active .dashboard-gold-split{
    grid-template-columns:1fr;
  }
}

/* --- final overrides: dashboard compactness + stats card fit --- */
#view-dashboard.active{
  flex:0 0 auto;
  min-height:0;
  height:auto;
  width:min(100%, 1620px);
  max-width:1620px;
  margin-block:auto;
  padding:12px 0 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

#view-dashboard.active .dashboard-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-areas:
    "chars chars chars chars deaths deaths deaths deaths promo promo promo promo"
    "events events events events events events stack stack stack offers offers offers";
  grid-template-rows:auto auto;
  gap:clamp(28px, 2.8vw, 50px);
  align-items:stretch;
  width:100%;
  height:auto;
  max-height:none;
  min-height:0;
}

#view-dashboard.active .dashboard-widget{
  min-height:120px;
  height:auto;
  gap:10px;
  padding:14px;
  overflow:hidden;
}

#view-dashboard.active .dashboard-widget-head{
  min-height:26px;
  padding-bottom:8px;
}

#view-dashboard.active .dashboard-chars-grid,
#view-dashboard.active .dashboard-chars-gold,
#view-dashboard.active .dashboard-list{
  gap:8px;
}

#view-dashboard.active .dashboard-stat-card,
#view-dashboard.active .dashboard-gold-total-compact,
#view-dashboard.active .dashboard-gold-split-compact div,
#view-dashboard.active .dashboard-row{
  padding:8px 10px;
}

#view-dashboard.active .dashboard-widget-dropstack{
  display:grid;
  grid-template-rows:minmax(132px,auto) auto;
  gap:clamp(28px, 2.8vw, 50px);
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}

#view-dashboard.active .dashboard-widget-dropstack .dashboard-widget{
  height:auto;
  padding:14px;
  background:
          linear-gradient(180deg, rgba(138,156,190,.14), rgba(36,45,65,.22)),
          radial-gradient(circle at top left, rgba(178,208,255,.10), transparent 40%) !important;
  border-color:rgba(184,208,246,.13) !important;
  box-shadow:0 14px 26px rgba(4,8,16,.16) !important;
  backdrop-filter:blur(18px) saturate(118%) !important;
}

#view-dashboard.active .dashboard-widget-drop .dashboard-row,
#view-dashboard.active .dashboard-widget-chat .dashboard-row,
#view-dashboard.active .dashboard-widget-offers .dashboard-row,
#view-dashboard.active .dashboard-offer-placeholder{
  min-height:0;
  height:100%;
}

#view-dashboard.active .dashboard-widget-events .dashboard-row,
#view-dashboard.active .dashboard-widget-deaths .dashboard-row{
  min-height:58px;
}

#view-dashboard.active .dashboard-widget-chat .dashboard-list,
#view-dashboard.active .dashboard-widget-events .dashboard-list,
#view-dashboard.active .dashboard-widget-deaths .dashboard-list{
  overflow-y:auto;
  overflow-x:hidden;
}

#view-dashboard.active .dashboard-widget-offers .dashboard-list{
  display:grid;
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:8px;
  overflow:hidden;
}

#view-dashboard.active .dashboard-widget-promo .dashboard-promo-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:200px !important;
  padding:10px;
}

#view-dashboard.active .dashboard-widget-promo .dashboard-promo-image{
  width:100%;
  height:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
}

.content #view-stats .stats-group-cards{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  gap:14px !important;
}

.content #view-stats .stats-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
}

.content #view-stats .stats-card-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "title map"
    "status status";
  align-items:start;
  gap:10px 12px;
  margin-bottom:12px;
}

.content #view-stats .stats-card-header > :nth-child(1){grid-area:title;min-width:0;}
.content #view-stats .stats-card-header > :nth-child(2){grid-area:status;min-width:0;}
.content #view-stats .stats-card-header > :nth-child(3){grid-area:map;justify-self:end;align-self:start;}

.content #view-stats .char-title,
.content #view-stats .char-title-block,
.content #view-stats .char-name-row{
  min-width:0;
}

.content #view-stats .char-portrait-wrap{
  display:grid;
  place-items:center;
  box-sizing:border-box;
  padding:0;
  overflow:hidden;
}

.content #view-stats .char-portrait{
  width:100% !important;
  height:100% !important;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center center !important;
}

.content #view-stats .char-name-row{
  margin-bottom:4px;
}

.content #view-stats .char-name-row strong{
  display:block;
  line-height:1.15;
  overflow-wrap:anywhere;
}

.content #view-stats .char-level-line{
  margin-top:0;
  margin-bottom:8px;
  line-height:1.25;
}

.content #view-stats .status-inline{
  justify-content:flex-start;
  gap:10px;
  flex-wrap:wrap;
  white-space:normal;
}

.content #view-stats .status-text.alive,
.content #view-stats .summary-part.is-good{
  color:#68d39b !important;
}

.content #view-stats .status-text.dead,
.content #view-stats .summary-part.is-bad{
  color:#ef7f87 !important;
}

.content #view-stats .status-text.offline{
  color:#98a6c0 !important;
}

.content #view-stats .status-text.unknown{
  color:#c7d0df !important;
}

.content #view-stats .stats-map-jump-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  margin-left:0;
}

.content #view-stats .metric-grid.compact-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.content #view-stats .metric,
.content #view-stats .card-actions .action-btn{
  min-width:0;
}

.content #view-stats .metric-value,
.content #view-stats .detail-row span:last-child{
  overflow-wrap:anywhere;
}

.content #view-stats .card-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.content #view-stats .card-actions .action-btn{
  white-space:normal;
  line-height:1.2;
  justify-content:center;
}

@media (max-width: 1180px){
  .content #view-stats .metric-grid.compact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .content #view-stats .card-actions{
    grid-template-columns:1fr;
  }
}

@media (max-width: 980px){
  #view-dashboard.active{
    width:auto;
    margin-block:0;
    min-height:0;
    padding:18px 0;
    display:block;
    overflow:visible;
  }

  #view-dashboard.active .dashboard-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "chars"
      "deaths"
      "promo"
      "events"
      "stack"
      "offers";
    grid-template-rows:auto;
    gap:18px;
    min-height:0;
    height:auto;
    max-height:none;
  }

  #view-dashboard.active .dashboard-widget{
    height:auto;
  }

  #view-dashboard.active .dashboard-widget-dropstack{
    grid-template-rows:auto auto;
    gap:18px;
  }
}

body .content .view .map-death-marker-char{
  width:18px !important;
  height:18px !important;
  right:-3px !important;
  bottom:-4px !important;
}

body .content .view .map-death-marker-portrait{
  width:100% !important;
  height:100% !important;
}

body .action-btn,
body .page-btn,
body .tab-btn,
body .send-btn,
body .icon-btn,
body .map-quicknav-btn,
body .contact-btn.active,
body .contact-btn:hover,
body .stall-card-page-btn,
body .stall-card-page-btn.nav,
body .stats-group-edit,
body .metric.metric-action,
body .group-editor-entry,
body .item-search-match,
body .chat-attach-button,
body .emoji-picker-button,
body .emoji-picker-item,
body .dashboard-head-glyph,
body .stats-card-toggle-rail{
  color:var(--text-main);
}

body .guild-tab,
body .page-tab{
  color:var(--text-main);
}

body .guild-tab.active,
body .page-tab.active{
  color:var(--primary-contrast-text);
}

body .action-btn img,
body .page-btn img,
body .tab-btn img,
body .send-btn img,
body .guild-tab img,
body .page-tab img,
body .icon-btn img,
body .map-quicknav-btn img,
body .contact-btn img,
body .stall-card-page-btn img,
body .stats-group-edit img,
body .metric.metric-action img,
body .group-editor-entry img,
body .item-search-match img,
body .chat-attach-button img,
body .emoji-picker-button img,
body .emoji-picker-item img,
body .dashboard-head-glyph img,
body .stats-card-toggle-rail img{
  color:initial;
}

body .sidebar .brand{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
}

body .sidebar .brand-status-row{
  margin-top:6px;
  color:var(--text-muted);
  font-size:.78rem;
}

body .sidebar .menu{
  gap:6px;
}

body .sidebar .sidebar-share{
  display:grid;
  gap:3px;
  margin-top:auto;
  margin-bottom:10px;
  padding:0 2px;
}

body .sidebar .sidebar-share-trigger{
  position:relative;
  display:grid;
  place-items:center;
  justify-self:center;
  padding:0;
  border:none;
  background:transparent;
  cursor:pointer;
  isolation:isolate;
}

body .sidebar .sidebar-share img,
body #share-qr-image{
  width:88px !important;
  height:88px !important;
  padding:5px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.26);
}

body .sidebar .sidebar-share-hover{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  border-radius:16px;
  background:rgba(10,9,8,.18);
  backdrop-filter:blur(0);
  -webkit-backdrop-filter:blur(0);
  color:#f5e6c2;
  font-size:.78rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:0;
  transition:opacity .18s ease, backdrop-filter .18s ease, -webkit-backdrop-filter .18s ease, background .18s ease;
}

body .sidebar .sidebar-share-trigger:hover .sidebar-share-hover,
body .sidebar .sidebar-share-trigger:focus-visible .sidebar-share-hover{
  opacity:1;
  background:rgba(10,9,8,.36);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

body .sidebar .sidebar-share-trigger:focus-visible{
  outline:1px solid rgba(255,236,196,.2);
  outline-offset:4px;
  border-radius:18px;
}

body .qr-dialog{
  max-width:min(420px,92vw);
}

body .qr-modal-panel{
  display:grid;
  place-items:center;
  padding:10px 10px 14px;
}

body .qr-modal-panel img{
  display:block;
  width:min(320px,72vw);
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  background:#fff;
  border-radius:18px;
  padding:12px;
  box-shadow:0 14px 34px rgba(0,0,0,.3);
}

body .content .view .drop-item-name.plain,
body .content .view strong.plain{
  color:#f2f2f2 !important;
}

body .content .view .drop-item-name.blue,
body .content .view strong.blue{
  color:#74ebff !important;
}

body .content .view .drop-item-name.seal,
body .content .view strong.seal{
  color:#ffd54a !important;
}

.demo-mode-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:24px;
}

.demo-mode-modal.hidden{
  display:none;
}

.demo-mode-dialog{
  position:relative;
  width:min(460px, calc(100vw - 32px));
  padding:30px 30px 26px;
  text-align:center;
  background:
          radial-gradient(circle at 18% 10%, color-mix(in srgb, var(--primary) 30%, transparent), transparent 34%),
          linear-gradient(145deg, rgba(18,28,42,.96), rgba(8,12,20,.98));
  border-color:color-mix(in srgb, var(--primary) 42%, rgba(255,255,255,.12));
  box-shadow:0 26px 80px rgba(0,0,0,.55), 0 0 40px color-mix(in srgb, var(--primary) 18%, transparent);
}

.demo-mode-close{
  position:absolute;
  top:12px;
  right:12px;
}

.demo-mode-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  padding:6px 13px;
  border-radius:999px;
  margin-bottom:14px;
  background:color-mix(in srgb, var(--primary) 24%, rgba(255,255,255,.08));
  color:var(--primary);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.76rem;
}

.demo-mode-dialog h2{
  margin:0 0 10px;
  color:var(--text-main);
  font-size:clamp(1.35rem, 2.4vw, 1.8rem);
}

.demo-mode-dialog p{
  margin:0 auto 22px;
  max-width:36ch;
  color:var(--text-muted);
  line-height:1.55;
}

.demo-mode-actions{
  display:flex;
  justify-content:center;
}

@media (max-width: 980px){
  body .sidebar .brand-status-row{
    margin-top:4px;
  }

  body .sidebar .sidebar-share{
    margin-top:16px;
    margin-bottom:18px;
  }
}

body .content #view-map .map-marker-pin{
  width:var(--map-marker-size,28px) !important;
  height:var(--map-marker-size,28px) !important;
}

body .content #view-map .map-death-marker-char{
  width:18px !important;
  height:18px !important;
}

body .content #view-map .map-academy-marker-pin{
  width:22px !important;
  height:22px !important;
}

body .content #view-map .map-academy-marker.is-guardian .map-academy-marker-pin{
  width:24px !important;
  height:24px !important;
}

body .content #view-map .map-tooltip{
  position:absolute !important;
  width:280px !important;
  min-width:280px !important;
  max-width:280px !important;
  padding:10px 12px !important;
  display:block !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  border-radius:10px !important;
  z-index:20 !important;
}

body .content #view-map .map-tooltip-head{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 10px 0 !important;
}

body .content #view-map .map-tooltip-portrait{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  flex:0 0 42px !important;
}

body .content #view-map .map-tooltip-head-copy{
  min-width:0 !important;
  flex:1 1 auto !important;
}

body .content #view-map .map-tooltip-grid{
  display:grid !important;
  gap:5px !important;
  width:100% !important;
}

body .content #view-map .map-tooltip-grid .detail-row{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  width:100% !important;
  gap:10px !important;
  font-size:.78rem !important;
}

body .content #view-map .map-tooltip-grid .detail-row span{
  display:block !important;
  white-space:normal !important;
}

body .content #view-map .map-tooltip-actions{
  display:flex !important;
  justify-content:flex-end !important;
  margin-top:10px !important;
}

@media (max-width: 860px){
  body .content #view-map .map-tooltip{
    width:min(280px,calc(100vw - 32px)) !important;
    min-width:0 !important;
    max-width:min(280px,calc(100vw - 32px)) !important;
  }
}

body .content #view-academy .academy-card .academy-remove-btn{
  min-height:18px !important;
  height:18px !important;
  padding:2px 7px !important;
  border-radius:7px !important;
  font-size:.66rem !important;
  line-height:1 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  background:linear-gradient(180deg, rgba(120,20,20,.38), rgba(68,12,12,.24)) !important;
  border:1px solid rgba(180,56,56,.68) !important;
  color:#ffd7d7 !important;
  box-shadow:0 6px 14px rgba(82,10,10,.18) !important;
}

body .content #view-academy .academy-card .academy-remove-btn:hover{
  background:linear-gradient(180deg, rgba(132,26,26,.42), rgba(76,14,14,.28)) !important;
  border-color:rgba(180,56,56,.82) !important;
  box-shadow:0 8px 16px rgba(82,10,10,.24) !important;
}

/* --- bot management --- */
.bot-management-shell{
  display:grid;
  gap:16px;
}

.bot-management-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  overflow:hidden;
  background:
          radial-gradient(circle at top right, rgba(217,183,122,.18), transparent 34%),
          radial-gradient(circle at bottom left, rgba(78,179,255,.12), transparent 26%),
          linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  backdrop-filter:blur(18px) saturate(115%);
  -webkit-backdrop-filter:blur(18px) saturate(115%);
}

.bot-management-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  color:#f4d69a;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.bot-management-hero-copy h2{
  margin:0;
  font-family:var(--font-display);
  font-size:1.5rem;
  color:#f6deb1;
}

.bot-management-hero-copy p{
  margin:10px 0 0;
  max-width:780px;
  color:var(--text-muted);
  line-height:1.55;
}

.bot-management-hero-side{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
  min-width:160px;
}

.bot-management-chip{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,236,196,.12);
  background:rgba(255,255,255,.05);
  color:var(--text-main);
  font-size:.78rem;
  font-weight:700;
}

.bot-management-chip.is-accent{
  border-color:rgba(217,183,122,.28);
  color:#f4d69a;
}

.bot-management-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);
  gap:16px;
  align-items:start;
}

.bot-management-grid-single{
  grid-template-columns:minmax(0,1fr);
}

.bot-management-subnav-btn{
  min-width:110px;
}

.bot-management-inline-note{
  display:grid;
  place-items:center;
  min-width:0;
  padding:6px 2px;
  color:var(--text-muted);
  line-height:1.55;
  text-align:center;
}

.bot-management-inline-note h3,
.bot-management-inline-note p{
  margin:0;
}

.bot-management-inline-note h3{
  font-size:1.12rem;
  font-weight:700;
  color:var(--text-main);
  line-height:1.25;
}

.bot-management-inline-note p{
  max-width:34ch;
}

.bot-management-inline-note a{
  color:var(--accent);
  font-weight:600;
  text-decoration:none;
}

.bot-management-inline-note a:hover{
  text-decoration:underline;
}

.bot-management-module-scripts{
  grid-column:1 / -1;
  border-color:rgba(78,179,255,.18);
  background:
          radial-gradient(circle at top right, rgba(78,179,255,.12), transparent 32%),
          linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.bot-management-module{
  position:relative;
  display:grid;
  gap:16px;
  padding:18px;
  overflow:hidden;
  border-color:rgba(207,90,74,.26);
  background:
          linear-gradient(135deg, rgba(207,90,74,.14), transparent 32%),
          linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  backdrop-filter:blur(18px) saturate(118%);
  -webkit-backdrop-filter:blur(18px) saturate(118%);
}

.bot-management-module::before{
  border-color:rgba(255,236,196,.06);
}

.bot-management-module-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:start;
}

.bot-management-module-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:1px solid rgba(255,236,196,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
}

.bot-management-module-icon img{
  width:24px;
  height:24px;
  object-fit:contain;
}

.bot-management-module-copy h3{
  margin:0;
  font-size:1.14rem;
  color:#f5e3be;
}

.bot-management-module-copy p{
  margin:7px 0 0;
  color:var(--text-muted);
  line-height:1.5;
}

.bot-management-module-body{
  display:grid;
  gap:14px;
}

.bot-management-checkbox-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--text-main);
  line-height:1.5;
}

.bot-management-checkbox-row input{
  margin-top:2px;
  flex:0 0 auto;
}

.bot-management-script-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);
  gap:16px;
}

.bot-management-script-panel{
  display:grid;
  gap:14px;
  padding:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014));
}

.bot-management-script-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.bot-management-script-editor,
.bot-management-script-runner{
  display:grid;
  gap:12px;
}

.bot-management-script-editor label,
.bot-management-script-runner label{
  display:grid;
  gap:6px;
}

.bot-management-script-editor label > span,
.bot-management-script-runner label > span{
  color:var(--text-muted);
  font-size:.82rem;
  font-weight:700;
}

.bot-management-script-editor textarea{
  min-height:290px;
  resize:vertical;
}

.bot-management-script-editor-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.bot-management-running-list{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,236,196,.08);
  background:rgba(8,7,6,.28);
}

.bot-management-running-title{
  color:#f4d69a;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.bot-management-running-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.028);
}

.bot-management-running-copy{
  min-width:0;
  display:grid;
  gap:4px;
}

.bot-management-running-copy strong{
  color:var(--text-main);
}

.bot-management-running-copy span{
  color:var(--text-muted);
  font-size:.84rem;
  line-height:1.45;
}

.bot-management-callout{
  display:grid;
  gap:6px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,236,196,.08);
  background:rgba(8,7,6,.32);
}

.bot-management-callout strong{
  color:#f0d7a4;
}

.bot-management-callout span{
  color:var(--text-muted);
  line-height:1.5;
}

.bot-management-actions{
  display:flex;
  justify-content:flex-start;
}

.bot-management-run-btn{
  min-width:170px;
  min-height:40px;
  border-color:rgba(207,90,74,.30);
  background:linear-gradient(180deg, rgba(207,90,74,.28), rgba(111,34,25,.24));
  color:#fff3ee;
}

.bot-management-run-btn:hover:not(:disabled){
  background:linear-gradient(180deg, rgba(221,106,89,.34), rgba(126,40,30,.28));
}

.bot-management-result{
  display:grid;
  gap:6px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(255,236,196,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.bot-management-result-title{
  color:#f4d69a;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.bot-management-result-copy{
  color:var(--text-main);
  line-height:1.5;
}

.bot-management-result.is-success{
  border-color:rgba(122,210,112,.22);
  background:linear-gradient(180deg, rgba(122,210,112,.12), rgba(255,255,255,.015));
}

.bot-management-result.is-warn{
  border-color:rgba(217,183,122,.22);
  background:linear-gradient(180deg, rgba(217,183,122,.11), rgba(255,255,255,.015));
}

.bot-management-result.is-danger{
  border-color:rgba(207,90,74,.26);
  background:linear-gradient(180deg, rgba(207,90,74,.12), rgba(255,255,255,.015));
}

.bot-management-side{
  display:grid;
  gap:14px;
}

.bot-management-side-card{
  display:grid;
  gap:8px;
  padding:14px 15px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.012));
}

.bot-management-side-card h3{
  margin:0;
  font-size:.96rem;
  color:#f1ddb5;
}

.bot-management-side-card p{
  margin:0;
  color:var(--text-muted);
  line-height:1.5;
}

@media (max-width:980px){
  .bot-management-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .bot-management-hero{
    flex-direction:column;
  }

  .bot-management-hero-side{
    justify-content:flex-start;
  }

  .bot-management-script-shell{
    grid-template-columns:minmax(0,1fr);
  }

  .bot-management-running-item{
    align-items:flex-start;
    flex-direction:column;
  }
}

