/* Character page: equipment left, statistic cards right. */
.ome-character-armory { --armory-border:#4d668644; --armory-gold:#f2acb3; padding:22px; border:1px solid var(--armory-border); border-radius:14px; background:linear-gradient(160deg,#152031,#0c121d 70%); color:#c5bdab; font-size:14px; }
.ome-character-armory .ome-armory-identity { display:flex; align-items:center; gap:18px; padding:22px; margin-bottom:20px; border:1px solid #ae864650; border-radius:12px; background:linear-gradient(120deg,#232337,#171f30 60%,#111827); }
.ome-character-armory .ome-armory-avatar { width:82px; height:82px; padding:4px; border:1px solid #b69759; border-radius:12px; object-fit:cover; background:#111; }
.ome-character-armory .ome-armory-title { min-width:0; }
.ome-character-armory .ome-armory-eyebrow { font-size:10px; letter-spacing:2px; color:#c7a25d; }
.ome-character-armory h1 { margin:5px 0 7px; font-size:32px; line-height:1.2; text-transform:none; overflow-wrap:anywhere; }
.ome-character-armory .ome-armory-title p { font-size:12px; margin:0 0 12px; color:#c0b296; }
.ome-character-armory .ome-armory-badges { display:flex; flex-wrap:wrap; gap:7px; }
.ome-character-armory .ome-armory-badges span,.ome-character-armory .ome-armory-badges a { padding:5px 10px; border:1px solid #b5954b44; border-radius:20px; background:#14141488; color:#e3c88b; font-size:10px; text-decoration:none; }
.ome-character-armory .ome-armory-columns { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr); gap:20px; align-items:start; }
.ome-character-armory .ome-armory-display { min-width:0; padding:17px; border:1px solid var(--armory-border); border-radius:12px; background:linear-gradient(#161b1e,#101214); }
.ome-character-armory .ome-character-equipment { display:grid; grid-template-columns:58px minmax(0,1fr) 58px; gap:14px; margin:0; background-size:auto 70%; }
.ome-character-armory .col-items { width:58px; padding:0; display:flex; flex-direction:column; gap:9px; }
.ome-character-armory .col-main { width:100% !important; min-width:0; min-height:530px; padding:20px 10px !important; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #ac894544; border-radius:12px; background:radial-gradient(ellipse at center,#77572633,transparent 75%),linear-gradient(#28251f66,#101010aa); }
.ome-character-armory .char-avatar { width:160px; height:160px; padding:6px; border:1px solid #ad8b48; background:#141414; box-shadow:0 0 35px #b6862925; }
.ome-character-armory .char-avatar img { display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.ome-character-armory .char-level { border:1px solid #b69450; color:#f0d28a; font-size:13px; background:#251d11 !important; }
.ome-character-armory .avatar-text { font-size:28px; font-family:Georgia,serif; max-width:100%; overflow-wrap:anywhere; }
.ome-character-armory .ome-character-subtitle { font-size:12px; color:#b4a481; text-align:center; }
.ome-character-armory .col-bottom { width:100%; gap:10px; margin:14px 0 0; padding:16px 0 0; border-top:1px solid var(--armory-border); }
.ome-character-armory .item { position:relative; width:58px; height:58px; flex-shrink:0; }
.ome-character-armory .item img { width:50px; height:50px; object-fit:cover; border-radius:4px; }
.ome-character-armory .item a { width:58px; height:58px; background-size:58px 58px; margin-top:-4px; margin-left:-4px; }
.ome-character-armory .item .item-trans { width:20px; height:20px; margin:0; bottom:10px; background:none; }
.ome-character-armory .item:hover { filter:brightness(1.12); }
.ome-character-armory .ome-armory-statistics { min-width:0; }
.ome-character-armory #bars { display:grid; grid-template-columns:1fr; gap:9px; margin:0 0 16px !important; }
.ome-character-armory #bars > .col-6 { width:100%; padding:13px; border:1px solid var(--armory-border); border-radius:9px; background:#181c1d; }
.ome-character-armory #bars .h4 { font-size:12px; color:#d8ccae; margin-bottom:8px; line-height:1.5; overflow-wrap:anywhere; }
.ome-character-armory #bars .d-flex { gap:12px; flex-wrap:wrap; }
.ome-character-armory .progress { height:8px !important; border-radius:6px; background:#0b0f11; border:1px solid #ffffff0c; }
.ome-character-armory .bg-health { background:linear-gradient(90deg,#197d3b,#5ad08a) !important; }
.ome-character-armory #attributes { display:flex; flex-direction:column; gap:16px; margin:0; }
.ome-character-armory #attributes > .col-md-6 { width:100%; padding:0; overflow:hidden; border:1px solid var(--armory-border); border-radius:10px; background:#14191c; }
.ome-character-armory .section-header { padding:12px 15px; margin:0; color:#ead096; font-size:15px; line-height:1.4; font-weight:bold; background:linear-gradient(120deg,#28354c,#182336); border-bottom:1px solid var(--armory-border); }
.ome-character-armory .section-body { padding:10px; }
.ome-character-armory .table { width:100%; border-collapse:collapse; font-size:12px; margin:0 0 12px; }
.ome-character-armory .table:last-child { margin-bottom:0; }
.ome-character-armory .table td { padding:10px 8px; border-bottom:1px solid #ffffff0b; background:#181e21; color:#b5bcb8; box-shadow:none; vertical-align:middle; }
.ome-character-armory .table tr:nth-child(even) td { background:#1d2425; }
.ome-character-armory .table td:last-child { color:#8bdbc1; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ome-character-armory a:focus-visible { outline:2px solid #eed39b; outline-offset:3px; }
@media(max-width:1000px) { .ome-character-armory .ome-armory-columns { grid-template-columns:minmax(0,1.3fr) minmax(250px,1fr); gap:14px; }.ome-character-armory { padding:15px; }.ome-character-armory .ome-armory-display { padding:12px; }.ome-character-armory .ome-character-equipment { gap:8px; }.ome-character-armory .char-avatar { width:120px; height:120px; } }
@media(max-width:760px) { .ome-character-armory .ome-armory-columns { grid-template-columns:1fr; }.ome-character-armory .ome-armory-identity { padding:16px; }.ome-character-armory .col-main { min-height:530px; }.ome-character-armory .char-avatar { width:160px; height:160px; } }
@media(max-width:450px) { .ome-character-armory { padding:10px; }.ome-character-armory .ome-armory-avatar { width:62px; height:62px; }.ome-character-armory h1 { font-size:26px; }.ome-character-armory .ome-armory-identity { gap:12px; padding:13px; }.ome-character-armory .ome-character-equipment { grid-template-columns:44px minmax(0,1fr) 44px; gap:7px; }.ome-character-armory .col-items { width:44px; gap:8px; }.ome-character-armory .item { width:44px; height:44px; }.ome-character-armory .item img { width:38px; height:38px; }.ome-character-armory .item a { width:44px; height:44px; background-size:44px 44px; margin-top:-3px; margin-left:-3px; }.ome-character-armory .item .item-trans { width:16px; height:16px; margin:0; bottom:7px; }.ome-character-armory .col-main { min-height:408px; padding:15px 5px !important; }.ome-character-armory .char-avatar { width:90px; height:90px; padding:4px; }.ome-character-armory .char-level { width:30px; height:30px; line-height:28px; font-size:10px; }.ome-character-armory .avatar-text { font-size:23px; }.ome-character-armory .ome-character-subtitle { font-size:10px; } }

.ome-character-armory [hidden] { display:none !important; }
.ome-character-armory .ome-model-stage { position:relative; padding:0 !important; overflow:hidden; background:radial-gradient(ellipse at 50% 80%,#41597055,transparent 65%),linear-gradient(170deg,#13263a,#080e18); }
.ome-character-armory .ome-model-canvas { position:absolute; inset:0; width:100%; height:100%; touch-action:none; }
.ome-character-armory .ome-model-canvas canvas { display:block; width:100%; height:100%; }
.ome-character-armory .ome-model-fallback { position:relative; display:flex; flex-direction:column; align-items:center; gap:15px; pointer-events:none; }
.ome-character-armory .ome-model-fallback img { width:110px; height:110px; border-radius:50%; border:2px solid #a37e43; }
.ome-character-armory .ome-model-fallback strong { font-size:22px; }
.ome-character-armory .ome-model-status { position:absolute; bottom:12px; left:10px; right:10px; text-align:center; color:#b6c5d8; font-size:11px; padding:8px; background:#0b101ccc; border-radius:6px; margin:0; }
.ome-character-armory .ome-model-controls { position:absolute; bottom:10px; left:7px; right:7px; display:flex; flex-direction:column; align-items:center; gap:7px; font-size:10px; color:#b6c5d8; }
.ome-character-armory .ome-model-controls button { font-size:10px; padding:4px 10px; }
.ome-character-armory button { color:#b8c5d9; background:#182437; border:1px solid #3c4e69; border-radius:5px; cursor:pointer; font:inherit; }
.ome-character-armory button:hover { background:#2c3d56; }
.ome-character-armory button:focus-visible { outline:2px solid #f2acb3; outline-offset:3px; }
.ome-character-armory .ome-armory-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; padding-top:18px; }
.ome-character-armory .ome-armory-tabs button { padding:11px 4px; font-size:12px; }
.ome-character-armory button[aria-selected=true] { background:linear-gradient(#7e3442,#532430); color:#fff; border-color:#ac5260; }
.ome-character-armory .ome-combat-tabs { display:flex; gap:5px; margin-bottom:10px; }
.ome-character-armory .ome-combat-tabs button { flex:1; padding:7px 3px; font-size:11px; }
.ome-character-armory .ome-armory-statistics > [role=tabpanel]:not(#armory-character) { border:1px solid var(--armory-border); border-radius:10px; background:#141c29; overflow:hidden; }
.ome-character-armory .ome-skill-row { padding:11px 0; border-bottom:1px solid #ffffff0d; }
.ome-character-armory .ome-skill-row > div:first-child,.ome-character-armory .ome-reputation-row { display:flex; justify-content:space-between; gap:12px; font-size:12px; }
.ome-character-armory .ome-skill-row strong { color:#94ceff; font-variant-numeric:tabular-nums; }
.ome-character-armory .ome-skill-track { height:7px; margin-top:8px; background:#080f19; border-radius:4px; overflow:hidden; }
.ome-character-armory .ome-skill-track span { display:block; height:100%; background:linear-gradient(90deg,#2866a0,#4b9bd9); }
.ome-character-armory .ome-reputation-row { padding:11px 5px; border-bottom:1px solid #ffffff12; }
.ome-character-armory .ome-armory-empty,.ome-character-armory .ome-armory-note { color:#96a4b6; font-size:12px; padding:12px 4px; line-height:1.6; }
.ome-character-armory .ome-armory-badges .ome-online-yes { color:#8ce3a6; border-color:#38764a; }
.ome-character-armory .ome-armory-badges .ome-online-no { color:#9ba8bb; border-color:#49566a; }
.ome-character-armory .ome-gold { color:#ebc675; }
@media(max-width:450px) { .ome-character-armory .ome-armory-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }.ome-character-armory .ome-model-controls span { font-size:9px; } }

.ome-character-armory,.ome-character-armory * { box-sizing:border-box; }
.ome-character-armory .col-bottom { display:flex; justify-content:center; }
.ome-character-armory .table td:last-child { text-align:right; }

.ome-character-armory .ome-reputation-entry { padding:8px 0 12px; border-bottom:1px solid #ffffff12; }
.ome-character-armory .ome-reputation-entry .ome-reputation-row { border:0; padding:5px 0 8px; }
.ome-character-armory .ome-reputation-row strong { color:#92cdb7; font-size:11px; white-space:nowrap; }
.ome-character-armory .ome-reputation-progress { position:relative; height:17px; background:#091420; border-radius:4px; overflow:hidden; }
.ome-character-armory .ome-reputation-progress > span { position:absolute; inset:0 auto 0 0; background:linear-gradient(90deg,#1e7257,#43a17c); }
.ome-character-armory .ome-reputation-progress small { position:relative; display:block; text-align:center; font-size:10px; line-height:17px; color:#e4efe9; }

/* The engine sets position:relative and a pixel height inline. Keep its host
   out of flex layout so loading cannot grow the stage through ResizeObserver. */
.ome-character-armory .ome-model-stage { height:530px; min-height:530px; flex:none; }
.ome-character-armory .ome-model-canvas { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; min-height:0 !important; flex:none !important; }
.ome-character-armory .ome-model-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
@media(max-width:450px) { .ome-character-armory .ome-model-stage { height:408px; min-height:408px; } }
