:root {
  --ui-font-xs: 11px;
  --ui-font-sm: 12px;
  --ui-font-md: 13px;
  --ui-font-lg: 16px;
  --ui-control-h: 44px;
  --ui-radius: 6px;
  --ui-control-bg: #1b2a24;
  --ui-control-hover: #263b32;
  --ui-control-border: rgba(201, 169, 106, .34);
  --ui-focus: #9bcab7;
}

body {
  font-size: var(--ui-font-md);
  line-height: 1.5;
}

button,
input,
select {
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: var(--ui-font-md);
}

button {
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}

/* V1.13 inventory paper-doll layout */
.inventory-showcase{position:relative;margin-bottom:12px;padding:12px 10px 9px;overflow:hidden;border:1px solid rgba(201,169,106,.34);border-radius:10px;background:radial-gradient(circle at 50% 44%,rgba(126,178,157,.2),transparent 38%),linear-gradient(180deg,#1c2c25,#0c1411);box-shadow:inset 0 0 30px rgba(0,0,0,.26)}
.inventory-showcase:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background:linear-gradient(135deg,transparent 48%,rgba(201,169,106,.18) 49%,transparent 50%),linear-gradient(45deg,transparent 48%,rgba(126,178,157,.13) 49%,transparent 50%);background-size:42px 42px}
.inventory-showcase>header,.inventory-showcase>footer,.inventory-equipment-stage{position:relative;z-index:1}.inventory-showcase>header{display:flex;align-items:center;justify-content:space-between;padding:0 3px 8px}.inventory-showcase>header span{color:var(--muted);font-size:10px}.inventory-showcase>header h3{margin:2px 0 0;font:16px serif}.inventory-showcase>header>b{color:var(--gold);font-size:10px}
.inventory-equipment-stage{display:grid;grid-template-columns:76px minmax(138px,1fr) 76px;gap:7px;align-items:center;min-height:326px}.inventory-slot-column{display:grid;gap:9px}.inventory-slot-card{position:relative;display:grid;place-items:center;align-content:center;min-width:0;width:76px;height:72px;padding:4px;border:1px solid rgba(159,177,168,.28);border-radius:8px;background:linear-gradient(145deg,rgba(33,47,40,.96),rgba(13,21,17,.96));color:var(--paper);box-shadow:inset 0 0 16px rgba(0,0,0,.3);cursor:pointer}.inventory-slot-card.empty{border-style:dashed;filter:saturate(.65)}.inventory-slot-card.filled{border-color:rgba(126,178,157,.56);background:linear-gradient(145deg,#1c372c,#101b16)}.inventory-slot-card b{display:block;margin-top:2px;font-size:10px;font-weight:600}.inventory-slot-card small{display:block;width:100%;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.slot-art-placeholder{width:34px;height:34px;display:grid;place-items:center;color:rgba(215,229,222,.48);font:24px serif}.quality-border-SHEN{border-color:#eac45d!important;box-shadow:inset 0 0 14px rgba(234,196,93,.18),0 0 8px rgba(234,196,93,.25)!important}
.inventory-character{min-width:0;align-self:stretch;display:grid;grid-template-rows:1fr auto;align-items:end}.inventory-character-art{position:relative;width:min(100%,190px);height:258px;margin:0 auto;background:url("assets/tactical-standee.png") center bottom/contain no-repeat;filter:drop-shadow(0 12px 12px rgba(0,0,0,.6))}.inventory-character-art:after{content:"";position:absolute;left:9%;right:9%;bottom:0;height:28px;border:1px solid rgba(201,169,106,.35);border-radius:50%;background:radial-gradient(ellipse,rgba(201,169,106,.25),transparent 70%);transform:perspective(80px) rotateX(64deg)}.inventory-character-art>span{position:absolute;z-index:2;left:50%;bottom:5px;transform:translateX(-50%);padding:3px 6px;border-radius:10px;background:rgba(7,11,9,.7);color:var(--muted);font-size:8px;white-space:nowrap}
.inventory-combat-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:-2px}.inventory-combat-summary>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px;min-width:0;padding:6px 7px;border:1px solid rgba(201,169,106,.24);border-radius:20px;background:rgba(6,11,8,.72)}.inventory-combat-summary i{color:var(--muted);font-size:8px;font-style:normal}.inventory-combat-summary b{overflow:hidden;color:var(--gold);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.inventory-showcase>footer{display:flex;justify-content:center;gap:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);color:#6f8077;font-size:8px}
@media(max-width:370px){.inventory-equipment-stage{grid-template-columns:68px minmax(120px,1fr) 68px;gap:4px}.inventory-slot-card{width:68px;height:68px}.inventory-character-art{height:238px}.inventory-showcase>footer{display:grid;gap:2px;text-align:center}}

button:not(.nav-btn):not(.grid-cell):not(.message-bubble):not(.chat-launcher):not(.toggle):not(.chat-sender),
.small-btn,
.back-btn,
.skill-btn,
.auto-battle-btn,
.escape-battle-btn {
  min-height: var(--ui-control-h);
  border-radius: var(--ui-radius);
  padding: 0 14px;
  font-size: var(--ui-font-md);
  font-weight: 600;
  line-height: 1.2;
}

/* V1.10 统一组件规范：保留原配色，只收敛尺寸、排版与交互状态 */
.avatar {
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px !important;
  padding: 0 !important;
  border: 1px solid var(--gold) !important;
  border-radius: 50% !important;
  background: #17221e !important;
}

.identity { text-align: left; }
.title-inline { font-style: normal; font-weight: 700; }
.grade-FAN { color: #b7bbb8 !important; }
.grade-LING { color: #78bea4 !important; }
.grade-XUAN { color: #78acd0 !important; }
.grade-DI { color: #c8a0df !important; }
.grade-TIAN { color: #e5bb69 !important; }
.grade-SHEN { color: #f1d08a !important; text-shadow: 0 0 12px rgba(229,187,105,.35); }

.card,
.list-item,
.hero-card,
.stat,
.movement-rule,
.map-hint {
  border-radius: 8px;
}

.list { gap: 10px; }
.list-item { min-height: 72px; padding: 13px 14px; gap: 12px; }
.list-item > div:first-child { min-width: 0; }
.list-item .title { font-size: 15px; line-height: 1.35; }
.list-item .sub { margin-top: 5px; line-height: 1.55; }

.heading-actions,
.row-actions,
.map-tools > div,
.forge-summary,
.dungeon-selector,
.tabs,
.chat-panel nav {
  display: flex;
  flex-wrap: nowrap !important;
  gap: 7px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.heading-actions::-webkit-scrollbar,
.row-actions::-webkit-scrollbar,
.map-tools > div::-webkit-scrollbar,
.forge-summary::-webkit-scrollbar,
.dungeon-selector::-webkit-scrollbar,
.tabs::-webkit-scrollbar,
.chat-panel nav::-webkit-scrollbar { display: none; }

/* 所有操作型容器统一禁止可见滚动条 */
:where(.row-actions,.heading-actions,.two-actions,.three-actions,.modal-actions,.battle-controls,.map-tools > div,.tabs,.bottom-nav,.chat-panel nav,.dungeon-selector,.forge-summary,.sweep-rule,.pager) {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  scrollbar-color: transparent transparent !important;
}

:where(.row-actions,.heading-actions,.two-actions,.three-actions,.modal-actions,.battle-controls,.map-tools > div,.tabs,.bottom-nav,.chat-panel nav,.dungeon-selector,.forge-summary,.sweep-rule,.pager)::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

/* 按钮本体不得因为文本或图标溢出产生滚动条 */
button,
[role="button"],
[data-action] {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

button::-webkit-scrollbar,
[role="button"]::-webkit-scrollbar,
[data-action]::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.heading-actions > *,
.row-actions > *,
.map-tools > div > *,
.forge-summary > *,
.tabs > *,
.chat-panel nav > * {
  flex: 0 0 auto;
  white-space: nowrap !important;
  word-break: keep-all;
}

.two-actions,
.three-actions { align-items: stretch; }
.two-actions button,
.three-actions button { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.page-heading { align-items: center; gap: 12px; }
.page-heading > div:first-child { min-width: 0; }
.page-heading p { white-space: normal; }
.section-title { gap: 10px; }
.section-title .heading-actions { justify-content: flex-end; }

.player-name-link {
  width: auto !important;
  min-width: 0 !important;
  min-height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font: 600 15px/1.3 "Noto Serif SC", serif !important;
  text-align: left;
}

.sweep-rule { display: flex; gap: 6px; overflow-x: auto; margin: 12px 0 0; scrollbar-width: none; }
.sweep-rule::-webkit-scrollbar { display: none; }
.sweep-rule span { flex: 0 0 auto; padding: 5px 8px; border: 1px solid var(--line); border-radius: 14px; color: var(--muted); font-size: 10px; }
.sale-total { margin: 10px 0 14px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 7px; background: #0d1612; color: var(--muted); font-size: 12px; }
.sale-total b { color: var(--gold); font-size: 16px; }

.profile-hero { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 16px; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: linear-gradient(145deg,#1b2b24,#101814); }
.profile-avatar { width: 68px; height: 68px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; background: #17221e; }
.profile-hero h2 { margin: 3px 0 4px; font: 24px serif; }
.profile-hero p { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.profile-title { font: 700 13px/1.4 serif; }
.profile-stats { margin-top: 10px; }
.title-bonus-card { margin-top: 10px; }
.achievement-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.achievement-card { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #111b17; opacity: .7; }
.achievement-card.done { border-color: rgba(126,178,157,.42); opacity: 1; }
.achievement-card > span { color: var(--gold); font-size: 10px; }
.achievement-card h3 { margin: 5px 0; font: 14px serif; }
.achievement-card p { min-height: 34px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.chat-log p.encrypted span { color: #7f8984; letter-spacing: .18em; }
.dragon-opponents .list-item,
.dragon-match { grid-template-columns: auto minmax(0,1fr) auto; align-items: start; }
.dragon-result { display: grid; gap: 4px; text-align: center; }
.dragon-result > span { color: var(--muted); font-size: 11px; }
.dragon-result > b { color: var(--gold); font: 28px/1.25 serif; }
.dragon-result > small { color: var(--muted); }
.dragon-match.win { border-color: rgba(126,178,157,.42); }
.dragon-match.lose { border-color: rgba(185,111,102,.42); }
.result-seal { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid currentColor; border-radius: 50%; color: var(--gold); font: 700 16px serif; }
.dragon-match.lose .result-seal { color: #d98e84; }
.match-events { margin: 8px 0 0; padding-left: 18px; color: var(--muted); font-size: 11px; line-height: 1.65; }

@media (max-width: 380px) {
  .resource-strip { gap: 1px 6px; font-size: 9px; }
  .identity small { display: block; max-width: 132px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .achievement-grid { grid-template-columns: 1fr; }
  .list-controls { grid-template-columns: minmax(0, 1fr) !important; }
}

@media (max-width: 480px) {
  .list-item:has(.row-actions) { grid-template-columns: minmax(0,1fr); }
  .list-item > .row-actions { width: 100%; max-width: 100%; justify-content: flex-start; overflow: clip; }
  .list-item > .row-actions > button { flex: 1 1 0; min-width: 0; padding-inline: 9px; overflow: hidden; text-overflow: ellipsis; }
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
[data-action].action-card:focus-visible {
  outline: 2px solid var(--ui-focus);
  outline-offset: 2px;
}

button:disabled,
select:disabled,
input:disabled {
  opacity: .42 !important;
  cursor: not-allowed !important;
  filter: saturate(.55);
}

.primary,
.enter-btn {
  min-height: 48px;
  border: 1px solid #b19459;
  border-radius: var(--ui-radius);
  background: linear-gradient(180deg, #937944, #6d572f);
  color: #fff2cf;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .03em;
}

.small-btn,
.back-btn,
.list-item button,
.map-tools button,
.modal .two-actions button:not(.primary),
.chat-compose button {
  border: 1px solid var(--ui-control-border);
  background: linear-gradient(180deg, #263a31, var(--ui-control-bg));
  color: #e0ca98;
}

.text-btn,
.section-title > button,
.chat-panel header button {
  min-height: 36px !important;
  padding: 0 8px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--gold) !important;
  font-size: var(--ui-font-sm) !important;
  font-weight: 600 !important;
}

.skill-btn {
  border: 1px solid rgba(126, 178, 157, .3);
  background: linear-gradient(145deg, #263c32, #17251f);
}

.skill-btn b {
  font-size: 14px;
}

.skill-btn small {
  font-size: var(--ui-font-xs);
}

.auto-battle-btn,
.escape-battle-btn {
  font-size: 13px;
  font-weight: 700;
}

.tabs,
.chat-panel nav {
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #0d1612;
}

.tab,
.chat-panel nav button {
  min-height: 40px !important;
  margin: 0;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--muted) !important;
  font-size: var(--ui-font-sm) !important;
  font-weight: 600 !important;
}

.tab.active,
.chat-panel nav button.active {
  background: #294138 !important;
  color: #f0dfb6 !important;
  box-shadow: inset 0 0 0 1px rgba(126, 178, 157, .36) !important;
}

input:not([type="file"]),
select {
  min-height: var(--ui-control-h);
  border: 1px solid var(--line);
  border-radius: var(--ui-radius);
  background: #0d1612;
  color: var(--paper);
  padding: 0 11px;
}

.list-controls input,
.list-controls select,
.boost-select select,
.chat-compose input,
.redeem-row input {
  min-height: var(--ui-control-h);
  border-radius: var(--ui-radius);
  font-size: var(--ui-font-sm);
}

/* 筛选工具栏统一使用响应式网格，禁止退化为横向滚动条 */
.list-controls {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  width: 100%;
  max-width: 100%;
  margin: 10px 0 14px !important;
  padding: 0 !important;
  overflow: visible !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.list-controls > input,
.list-controls > select {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

.list-controls::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.bag-list-controls {
  grid-template-columns: minmax(0, 1fr) !important;
}

.bag-filter-selects {
  display: grid;
  gap: 7px;
  width: 100%;
  min-width: 0;
  overflow: visible;
}

.bag-filter-selects.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bag-filter-selects.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.bag-filter-selects > select {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

.section-title .arena-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important;
  gap: 7px !important;
  align-items: stretch;
  overflow: visible !important;
}

.section-title .arena-toolbar .small-btn {
  width: 100%;
  min-width: 0;
  min-height: 40px !important;
  padding: 0 12px !important;
  border: 1px solid var(--ui-control-border) !important;
  border-radius: var(--ui-radius) !important;
  background: linear-gradient(180deg, #31483d, #20332b) !important;
  color: #ead6a5 !important;
  box-shadow: inset 0 1px rgba(255,255,255,.05) !important;
  white-space: nowrap !important;
}

.section-title .arena-toolbar .arena-refresh-btn {
  border-color: #8b7445 !important;
  background: linear-gradient(180deg, #806a3d, #5d4b2c) !important;
  color: #fff0c9 !important;
}

@media (max-width: 380px) {
  .list-controls { grid-template-columns: minmax(0, 1fr) !important; }
}

.toggle {
  position: relative;
  width: 52px;
  min-width: 52px;
  height: 30px !important;
  min-height: 30px !important;
  padding: 3px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  background: #2d3833;
}

.toggle i {
  width: 22px;
  height: 22px;
  background: #89948f;
}

.toggle.on {
  border-color: rgba(126, 178, 157, .45);
  background: #416d5b;
}

.toggle.on i {
  transform: translateX(20px);
  background: #e1eee8;
}

.page-heading h2 {
  font-size: 24px;
}

.page-heading p,
.card p,
.list-item .sub,
.modal p {
  font-size: var(--ui-font-sm);
}

.list-item .title,
.card h3,
.card h4 {
  font-size: 15px;
}

.setting-row {
  min-height: 58px;
  font-size: var(--ui-font-md);
}

.modal {
  border-radius: 12px 12px 0 0;
}

.modal-actions,
.two-actions,
.three-actions {
  gap: 8px;
}

.row-actions {
  gap: 6px;
}

@media (hover: hover) {
  button:not(:disabled):hover,
  [data-action].action-card:hover {
    filter: brightness(1.08);
  }
}

@media (max-width: 380px) {
  button:not(.nav-btn):not(.grid-cell):not(.message-bubble):not(.chat-launcher):not(.toggle):not(.chat-sender),
  .small-btn,
  .back-btn {
    padding-inline: 10px;
    font-size: 12px;
  }
}

/* V1.1：通用移动端信息层级与新系统组件 */
.resource-strip { display:grid; grid-template-columns:repeat(2,auto); gap:2px 10px; color:var(--gold); font-size:10px; text-align:right; white-space:nowrap; }
.danger-pill { color:#f0aaa1; border-color:rgba(185,111,102,.55); background:rgba(113,42,36,.24); }
.lifespan-card,.restricted-card { border-color:rgba(185,111,102,.38); }
.dungeon-selector { display:flex; gap:7px; overflow-x:auto; margin:-2px -14px 12px; padding:2px 14px 8px; scrollbar-width:none; scroll-snap-type:x proximity; }
.dungeon-chip { flex:0 0 124px; min-height:58px; padding:8px 10px; border:1px solid var(--line); border-radius:7px; background:#121d18; text-align:left; scroll-snap-align:start; }
.dungeon-chip b,.dungeon-chip span { display:block; }
.dungeon-chip b { color:var(--gold); font-size:10px; }
.dungeon-chip span { margin-top:4px; overflow:hidden; font:13px serif; text-overflow:ellipsis; white-space:nowrap; }
.dungeon-chip.active { border-color:#7ea996; background:#263d33; box-shadow:inset 0 0 0 1px rgba(126,169,150,.25); }
.dungeon-chip.done::after { content:"已通关"; color:#7fb49f; font-size:9px; }
.forge-summary { display:flex; gap:6px; overflow-x:auto; margin-bottom:12px; }
.forge-summary span { flex:0 0 auto; padding:7px 10px; border:1px solid var(--line); border-radius:20px; color:var(--muted); font-size:10px; }
.role-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:14px; }
.role-card { min-width:0; padding:13px; border:1px solid var(--line); border-radius:7px; background:linear-gradient(145deg,#192720,#101814); }
.role-card.active { border-color:var(--gold); }
.role-card h3 { margin:7px 0 5px; font:16px serif; }
.role-card p { min-height:58px; margin:0 0 9px; color:var(--muted); font-size:10px; line-height:1.55; }
.role-badge { display:inline-flex; padding:3px 7px; border-radius:12px; background:rgba(126,178,157,.13); color:var(--jade-bright); font-size:10px; }
.rank-summary { display:grid; place-items:center; margin-bottom:12px; padding:18px; border:1px solid var(--line); border-radius:8px; background:radial-gradient(circle at 50% 10%,rgba(201,169,106,.14),transparent 60%),#121d18; }
.rank-summary span,.rank-summary small { color:var(--muted); font-size:10px; }
.rank-summary b { margin:4px; color:var(--gold); font:30px serif; }
.ranking-card,.rank-row { width:100%; color:inherit; text-align:left; }
.rank-row { grid-template-columns:34px 1fr auto; }
.rank-no { color:var(--gold); font:18px serif; text-align:center; }
.stance-current { display:grid; gap:5px; padding:12px; border:1px solid var(--line); background:#17231e; }
.stance-current b { color:#e0a09a; font-size:11px; }

@media (max-width:390px) {
  .topbar { grid-template-columns:auto minmax(70px,1fr) auto; }
  .identity small { max-width:110px; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .resource-strip { gap:1px 6px; font-size:9px; }
  .role-grid { grid-template-columns:1fr; }
}

/* V1.11 精修层：统一字号、按钮、卡片与荣誉/职业组件 */
:root {
  --ui-font-xs:10px; --ui-font-sm:11px; --ui-font-md:13px; --ui-font-lg:15px;
  --ui-control-h:40px; --ui-radius:8px;
  --ui-panel-border:rgba(202,187,145,.18); --ui-panel-soft:rgba(126,178,157,.08);
}
.content { font-size:var(--ui-font-md); }
.page-heading { margin-block:2px 16px; }
.page-heading h2 { font-size:22px; line-height:1.2; letter-spacing:.06em; }
.page-heading p { margin-top:4px; font-size:var(--ui-font-sm); line-height:1.45; }
.section-title { margin:20px 0 10px; }
.section-title h3 { font:600 15px/1.3 "Noto Serif SC","Songti SC",serif; letter-spacing:.02em; }
.card,.list-item,.role-card,.achievement-card,.honor-card,.career-trial-panel,.career-skill-card { border-color:var(--ui-panel-border); border-radius:10px; box-shadow:inset 0 1px rgba(255,255,255,.018),0 8px 24px rgba(0,0,0,.08); }
.list { gap:8px; }
.list-item { min-height:68px; padding:12px 13px; }
.list-item .title { font-size:14px; font-weight:600; }
.list-item .sub { margin-top:4px; font-size:var(--ui-font-sm); line-height:1.55; }

button:not(.nav-btn):not(.grid-cell):not(.message-bubble):not(.chat-launcher):not(.toggle):not(.chat-sender),.small-btn,.back-btn,.secondary-action { min-height:var(--ui-control-h); padding-inline:13px; border-radius:var(--ui-radius); font-size:12px; font-weight:650; letter-spacing:.01em; box-shadow:inset 0 1px rgba(255,255,255,.04),0 2px 8px rgba(0,0,0,.08); transition:filter .16s ease,transform .16s ease,border-color .16s ease; }
.primary,.enter-btn { min-height:44px; margin-top:0; border-radius:var(--ui-radius); font-size:13px; }
.secondary-action { border:1px solid rgba(126,178,157,.34); background:linear-gradient(180deg,#294137,#1c3028); color:#d6e6df; }
button:not(:disabled):active,[data-action].action-card:active { transform:translateY(1px); }

.name-line,.identity strong,.player-name-link { display:inline-flex!important; min-width:0; max-width:100%; align-items:center; gap:6px; flex-wrap:nowrap; }
.identity strong>span,.name-line>span,.player-name-link>span:not(.online-dot) { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.name-title { display:inline-flex; flex:0 1 auto; min-width:0; max-width:155px; align-items:center; padding:2px 7px; overflow:hidden; border:1px solid currentColor; border-radius:999px; background:rgba(255,255,255,.025); font:700 10px/1.35 "Noto Serif SC","Songti SC",serif; font-style:normal; text-overflow:ellipsis; white-space:nowrap; opacity:.94; }
.identity strong { width:100%; font-size:15px; }
.identity .name-title { max-width:106px; font-size:9px; }
.profile-hero h2 { margin:4px 0 5px; font-size:22px; }
.profile-hero h2 .name-title { max-width:190px; }
.player-name-link { width:100%!important; }

.career-hero { display:grid; grid-template-columns:minmax(0,1fr) 54px; gap:14px; padding:18px; border:1px solid var(--ui-panel-border); border-radius:12px; background:radial-gradient(circle at 88% 18%,rgba(201,169,106,.14),transparent 30%),linear-gradient(145deg,#1b2b24,#101814); }
.career-hero h2 { margin:5px 0; font:500 25px/1.25 "Noto Serif SC",serif; }
.career-hero h2 small { margin-left:7px; color:var(--gold); font:600 12px sans-serif; }
.career-hero p { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.career-hero>.progress-track,.career-hero>.meta-row { grid-column:1/-1; margin-block:0; }
.career-level-seal { display:grid; width:50px; height:50px; place-items:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold); background:rgba(12,21,17,.72); font:22px serif; }
.career-trial-panel { margin-top:10px; padding:14px; border:1px solid var(--ui-panel-border); background:linear-gradient(145deg,#16231d,#101814); }
.career-trial-panel .section-title { margin:0 0 11px; }
.career-trial-panel .section-title h3 { margin-top:3px; color:var(--paper); }
.career-condition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.career-condition { display:grid; grid-template-columns:24px minmax(0,1fr); gap:7px; align-items:center; min-width:0; padding:9px; border:1px solid rgba(185,111,102,.22); border-radius:8px; background:rgba(84,37,33,.1); }
.career-condition>span { display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:rgba(185,111,102,.13); color:#d69a91; font-size:11px; }
.career-condition b,.career-condition small { display:block; min-width:0; }
.career-condition b { font-size:11px; }
.career-condition small { margin-top:2px; overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.career-condition.done { border-color:rgba(126,178,157,.32); background:rgba(55,105,84,.11); }
.career-condition.done>span { background:rgba(126,178,157,.17); color:#94ccb6; }
.trial-note { margin:10px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }
.ready-pill { color:#9fd2bd; border-color:rgba(126,178,157,.42); }
.career-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.career-actions>button { width:100%; }
.career-skill-grid { display:grid; gap:7px; }
.career-skill-card { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:9px; align-items:center; padding:11px 12px; border:1px solid var(--ui-panel-border); background:rgba(18,29,24,.92); }
.career-skill-card>span { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:var(--ui-panel-soft); color:var(--jade-bright); font:13px serif; }
.career-skill-card h3 { margin:0; font:600 13px serif; }
.career-skill-card p { margin:3px 0 0; color:var(--muted); font-size:10px; }
.career-skill-card.locked { opacity:.52; }
.career-empty { padding:18px; }
.career-empty h3 { margin:6px 0; }
.refined-role-grid { gap:8px; }
.refined-role-grid .role-card { padding:12px; }
.refined-role-grid .role-card>button { width:100%; }

.pet-dungeon-levels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:14px; }
.pet-dungeon-level { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:10px; padding:11px 12px; }
.pet-dungeon-level>div { display:grid; min-width:0; gap:3px; }
.pet-dungeon-level b { color:var(--paper); font:13px serif; }
.pet-dungeon-level span,.pet-dungeon-level small { color:var(--muted); font-size:9px; line-height:1.45; }
.pet-dungeon-level .small-btn { flex:0 0 auto; }
.pet-dungeon-level.locked { opacity:.48; }
.pet-skill-card { align-items:flex-start; }
.pet-skill-line { display:grid; gap:2px; margin-top:8px; padding:8px 9px; border-left:2px solid var(--jade); background:rgba(126,178,157,.07); }
.pet-skill-line b { color:var(--jade-bright); font-size:11px; }
.pet-skill-line span,.pet-skill-line small { color:var(--muted); font-size:9px; }
.pet-skill-card>.row-actions { flex-wrap:wrap; justify-content:flex-end; overflow:visible; }

.honor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.honor-grid>.empty { grid-column:1/-1; }
.honor-card { min-width:0; padding:13px; border:1px solid var(--ui-panel-border); background:linear-gradient(145deg,#17251f,#0f1814); }
.honor-card.locked { opacity:.64; filter:saturate(.68); }
.honor-card.owned { border-color:rgba(126,178,157,.3); }
.honor-card.equipped { border-color:rgba(201,169,106,.56); box-shadow:inset 0 0 0 1px rgba(201,169,106,.12),0 8px 28px rgba(0,0,0,.12); }
.honor-card header,.honor-meta,.honor-card footer { display:flex; align-items:center; justify-content:space-between; gap:7px; }
.honor-card header { color:var(--muted); font-size:9px; }
.honor-card header i { font-style:normal; font-weight:700; }
.honor-card h3 { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:6px; margin:8px 0; }
.honor-card h3 .name-title { max-width:calc(100% - 52px); padding:0; border:0; border-radius:0; background:none; font-size:14px; }
.honor-card h3 em { flex:0 0 auto; color:var(--gold); font-size:9px; font-style:normal; }
.honor-card p { min-height:43px; margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.honor-card p b { display:block; margin-bottom:2px; color:var(--paper); font-size:10px; }
.honor-meta { margin-top:9px; color:#829089; font-size:9px; }
.honor-card .progress-track { margin:7px 0 4px; }
.honor-card .meta-row { font-size:9px; }
.honor-card>small { display:block; min-height:29px; margin-top:7px; color:var(--muted); font-size:9px; line-height:1.55; }
.honor-card footer { margin-top:9px; justify-content:flex-end; }
.honor-card footer .small-btn { flex:1 1 0; min-width:0; padding-inline:7px; }
.unlock-state { width:100%; padding:8px; border-radius:6px; background:rgba(255,255,255,.025); color:var(--muted); font-size:10px; text-align:center; }

@media (max-width:480px) {
  .honor-grid { grid-template-columns:minmax(0,1fr); }
  .career-condition-grid { grid-template-columns:minmax(0,1fr); }
  .career-skill-card { grid-template-columns:28px minmax(0,1fr); }
  .career-skill-card>button { grid-column:1/-1; width:100%; }
  .pet-dungeon-levels { grid-template-columns:minmax(0,1fr); }
  .pet-skill-card { align-items:stretch; }
  .pet-skill-card>.row-actions { width:100%; justify-content:stretch; }
  .pet-skill-card>.row-actions>button { flex:1 1 0; min-width:0; }
}
@media (max-width:360px) {
  .career-actions { grid-template-columns:minmax(0,1fr); }
  .name-title { max-width:104px; }
  .identity .name-title { max-width:78px; }
}

/* V1.13.3 轻量精修：缩小视觉体量，保留清晰的点击层级 */
:root { --ui-control-h:34px; --ui-radius:6px; }
button:not(.nav-btn):not(.grid-cell):not(.message-bubble):not(.chat-launcher):not(.toggle):not(.chat-sender),
.small-btn,
.back-btn,
.secondary-action {
  min-height:34px !important;
  padding-inline:10px !important;
  border-radius:6px !important;
  font-size:11px !important;
  font-weight:550 !important;
  letter-spacing:0 !important;
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 1px 4px rgba(0,0,0,.08) !important;
}
.primary,
.enter-btn { min-height:38px !important; font-size:12px !important; font-weight:600 !important; box-shadow:inset 0 1px rgba(255,255,255,.04),0 3px 10px rgba(0,0,0,.14) !important; }
.text-btn,
.section-title > button,
.chat-panel header button { min-height:30px !important; padding-inline:6px !important; font-size:10px !important; font-weight:500 !important; }
.tab,
.chat-panel nav button { min-height:34px !important; padding-inline:10px !important; border-radius:5px !important; font-size:10px !important; font-weight:550 !important; }
.skill-btn { min-height:44px !important; padding:7px 9px !important; }
.skill-btn b { font-size:12px; font-weight:600; }
.auto-battle-btn,
.escape-battle-btn { min-height:38px !important; font-size:11px !important; font-weight:600 !important; }
input:not([type="file"]),
select,
.list-controls input,
.list-controls select,
.boost-select select,
.chat-compose input,
.redeem-row input { min-height:34px !important; border-radius:6px; padding-inline:8px; font-size:10px; }

.card { padding:11px 12px; border-radius:8px; }
.list { gap:6px; }
.list-item { min-height:56px; padding:9px 11px; gap:8px; border-radius:7px; }
.list-item .title { font-size:13px; font-weight:550; }
.list-item .sub { margin-top:2px; font-size:10px; line-height:1.42; }
.stat-grid { gap:5px; }
.stat { min-height:48px; padding:7px 9px; border-radius:6px; box-shadow:none; }
.stat span { font-size:9px; }
.stat b { margin-top:1px; font-size:15px; font-weight:500; line-height:1.25; }
.pill { padding:2px 6px; font-size:9px; font-weight:400; }
.section-title { margin:16px 0 8px; }
.section-title h3 { font-size:14px; font-weight:550; }
.pager { margin-top:9px; font-size:10px; }

.standard-list-controls,
.bag-list-controls { grid-template-columns:minmax(0,1fr) !important; gap:5px !important; margin:7px 0 10px !important; }
.standard-filter-selects,
.bag-filter-selects { display:grid; width:100%; min-width:0; gap:4px; overflow:hidden; }
.standard-filter-selects.cols-4,
.bag-filter-selects.cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.standard-filter-selects.cols-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.bag-filter-selects.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.standard-filter-selects > select,
.bag-filter-selects > select { width:100%; min-width:0; padding:0 5px; overflow:hidden; font-size:clamp(8px,2.5vw,10px); text-overflow:ellipsis; white-space:nowrap; }

.toggle { width:42px; min-width:42px; height:24px !important; min-height:24px !important; padding:3px; }
.toggle i { width:16px; height:16px; }
.toggle.on i { transform:translateX(18px); }
.setting-row { min-height:44px; padding-block:8px; font-size:11px; }
.setting-reset-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.setting-reset-row > div { display:grid; gap:2px; }
.setting-reset-row b { font-size:12px; font-weight:550; }
.setting-reset-row small { color:var(--muted); font-size:9px; }

@media (max-width:380px) {
  .standard-list-controls,
  .bag-list-controls { grid-template-columns:minmax(0,1fr) !important; }
  .standard-filter-selects,
  .bag-filter-selects { gap:3px; }
  .standard-filter-selects > select,
  .bag-filter-selects > select { padding-inline:3px; }
}
