/* 천하무림 天下武林 — 스타일 (동양 다크 판타지 / PC·모바일 반응형) */
:root {
  --bg: #0a0b0e;
  --bg2: #12100d;
  --panel: rgba(16, 15, 13, 0.96);
  --panel2: #1a1815;
  --line: rgba(201, 169, 97, 0.16);
  --line2: rgba(201, 169, 97, 0.34);
  --ink: #e8e2d0;
  --dim: #8d8571;
  --gold: #c9a961;
  --gold2: #ffd23f;
  --red: #c9403f;
  --jade: #2f9e8f;
  --violet: #b56bff;
  --hp: #e05563;
  --ok: #5fbf6e;
  --warn: #ff9d2e;
  --bad: #ff4d5e;
  --tap: 44px;
  --fs: 14px;
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; padding: 0; height: 100%; overflow: hidden; }
body {
  background: radial-gradient(120% 90% at 50% 10%, #171310 0%, #0a0b0e 60%);
  color: var(--ink);
  font-family: 'Nanum Gothic', 'Malgun Gothic', 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
  font-size: var(--fs);
  user-select: none;
  touch-action: manipulation;
}
button { font-family: inherit; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #3a3428; border-radius: 4px; }
::-webkit-scrollbar-track { background: #100f0d; }

#bg-fx { position: fixed; inset: 0; pointer-events: none; z-index: 1;
  background: radial-gradient(1.5px 1.5px at 20% 30%, rgba(255,210,63,0.14) 0 1px, transparent 2px),
              radial-gradient(1px 1px at 70% 60%, rgba(255,210,63,0.1) 0 1px, transparent 2px),
              radial-gradient(2px 2px at 40% 80%, rgba(201,169,97,0.08) 0 1px, transparent 3px);
  mix-blend-mode: screen; animation: drift 26s linear infinite; }
@keyframes drift { 0% { transform: translate3d(0,0,0);} 50% { transform: translate3d(14px,-18px,0);} 100% { transform: translate3d(0,0,0);} }

/* ── 공통 버튼/칩 ── */
.btn {
  border: 1px solid var(--line2); color: var(--ink); background: linear-gradient(180deg, #221e18, #14120e);
  border-radius: 10px; padding: 10px 16px; font-size: 13px; cursor: pointer; min-height: var(--tap);
  display: inline-flex; align-items: center; gap: 8px; justify-content: center;
  box-shadow: 0 2px 0 #000a inset, 0 -1px 0 #ffffff10 inset;
  transition: filter .12s, transform .06s; white-space: nowrap;
}
.btn:hover { filter: brightness(1.2); } .btn:active { transform: translateY(1px); }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn.gold { border-color: rgba(255,210,63,.65); color: #1a1206; background: linear-gradient(180deg, #ffd876, #c9942c); font-weight: 800; }
.btn.ok { border-color: #2f7d4f; color: #d8ffe2; background: linear-gradient(180deg, #1d5c3a, #123c26); }
.btn.warn { border-color: #7d2f2f; color: #ffe0e0; background: linear-gradient(180deg, #5c1d1d, #3c1212); }
.btn.big { padding: 13px 22px; font-size: 14.5px; border-radius: 12px; }
.btn.small { padding: 7px 10px; font-size: 12px; min-height: 34px; border-radius: 8px; }
.mini { border: 1px solid var(--line2); background: #1c1a16; color: var(--ink); font-size: 11px; border-radius: 6px; padding: 4px 8px; cursor: pointer; }
.mini:hover { filter: brightness(1.25); } .mini:disabled { opacity: .4; }
.mini.ok { color: #b6f5c1; border-color: #2f7d4f; }
.chip { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; padding: 4px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--dim); background: rgba(10,9,8,.72); backdrop-filter: blur(4px); }
.chip.on { color: #d9ffdf; border-color: #2f7d4f; box-shadow: 0 0 12px #2f7d4f55; animation: breathe 2.6s infinite; }
.chip.boss { color: #ffb1b1; border-color: #7d2f2f; }
.chip i { color: inherit; }
@keyframes breathe { 0%,100% { opacity: 1;} 50% { opacity: .72;} }
.dim { color: var(--dim); font-weight: 400; }
.lore { color: #b7a67f; font-style: italic; border-left: 2px solid var(--line2); padding-left: 10px; }
.empty { text-align: center; color: var(--dim); padding: 26px 10px; border: 1px dashed var(--line); border-radius: 10px; margin: 8px 0; }
.warn { color: #ffd0a1; font-size: 12px; margin-top: 8px; }
.ok { color: var(--ok); }
.up { color: var(--ok); } .down { color: var(--bad); }
.fill { flex: 1; }
.bar { height: 8px; border-radius: 5px; background: #00000088; border: 1px solid #00000066; overflow: hidden; }
.bar > div { height: 100%; border-radius: 4px; transition: width .25s; }
.bar.tiny { height: 5px; }
.hint { font-size: 12px; color: #cbbf9d; border: 1px solid var(--line); border-left: 3px solid var(--gold); background: #17151288; padding: 8px 12px; border-radius: 8px; margin-bottom: 10px; }
.row-btns { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0; }

/* ── 타이틀 ── */
#title { position: fixed; inset: 0; z-index: 30; display: flex; align-items: center; justify-content: center; overflow: hidden;
  background: radial-gradient(90% 80% at 50% 20%, #14100c, #05060a 70%); }
.t-inner { position: relative; z-index: 2; padding: 24px; max-width: 640px; animation: fadeup .9s both; }
@keyframes fadeup { from { opacity: 0; transform: translateY(14px);} to { opacity: 1; } }
.t-emblem { font-size: 42px; color: var(--gold2); text-shadow: 0 0 24px #c9a96177; }
.t-logo { display: flex; justify-content: center; gap: 14px; margin: 8px 0 2px; }
.t-logo span { font-size: clamp(52px, 11vw, 96px); font-weight: 900; letter-spacing: 6px; line-height: 1;
  background: linear-gradient(180deg, #fff2cf 8%, #c9a961 46%, #6d4c17 78%, #3a2a0e 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 3px 0 #000) drop-shadow(0 0 22px rgba(201,169,97,.28));
  border-bottom: 2px solid rgba(201,169,97,.3); padding-bottom: 6px; }
.t-sub { color: var(--gold); letter-spacing: 4px; margin-top: 6px; }
.t-sub em { font-style: normal; opacity: .5; }
.t-desc { color: var(--dim); margin: 14px auto 22px; line-height: 1.6; max-width: 460px; }
.t-btns { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.t-features { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 22px; }
.t-features span { font-size: 11.5px; border: 1px solid var(--line); color: #bfb492; border-radius: 999px; padding: 5px 11px; background: #0f0e0caa; }
.t-foot { margin-top: 26px; color: #5c574a; font-size: 11px; }

/* ── 직업 선택 ── */
#class-select { position: fixed; inset: 0; z-index: 29; display: none; align-items: flex-start; justify-content: center; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  background: radial-gradient(90% 80% at 50% 20%, #1c1712, #0a0a0c 70%); }
.cs-inner { max-width: 1080px; padding: 24px; width: 100%; min-width: 0; flex-shrink: 0; margin-block: auto; padding-top: max(24px, env(safe-area-inset-top)); padding-bottom: max(24px, env(safe-area-inset-bottom)); }
.cs-inner h2 { text-align: center; font-size: clamp(16px, 2.6vw, 22px); color: #e6d9b8; font-weight: 700; }
.cs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 16px 0; }
.cs-card { position: relative; text-align: left; cursor: pointer; border: 1px solid var(--line); border-radius: 14px; padding: 14px; color: var(--ink);
  background: linear-gradient(180deg, #171410, #0e0d0b); overflow: hidden; min-height: 240px; display: flex; flex-direction: column; }
.cs-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(80% 60% at 80% -10%, var(--acc), transparent 60%); opacity: .14; }
.cs-card.on { border-color: var(--gold2); box-shadow: 0 0 0 1px var(--gold2), 0 0 26px #ffd23f22; }
.cs-card img { position: absolute; right: 6px; bottom: 8px; height: 170px; max-width: 60%; object-fit: contain; opacity: .9; pointer-events: none; filter: drop-shadow(0 6px 10px #000c); }
.cs-ico { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--acc); color: #14100a; font-size: 19px; box-shadow: 0 0 18px var(--acc); }
.cs-card h3 { margin: 10px 0 0; font-size: 17px; }
.cs-hj { color: var(--gold); letter-spacing: 3px; font-size: 12px; }
.cs-card p { color: var(--dim); font-size: 12px; line-height: 1.55; margin: 8px 0 0; max-width: 74%; z-index: 2; }
.cs-stats { margin-top: auto; display: flex; gap: 8px; flex-wrap: wrap; font-size: 11px; color: #bfb492; z-index: 2; }
.cs-name-row { display: flex; gap: 10px; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 10px; color: var(--dim); }
.cs-name { background: #12100d; border: 1px solid var(--line2); color: var(--ink); border-radius: 10px; padding: 11px 14px; font-size: 15px; width: 220px; }

/* ── 앱/캔버스 ── */
#app { position: fixed; inset: 0; }
#game { position: absolute; inset: 0; width: 100%; height: 100%; display: block; touch-action: none; cursor: crosshair;
  background: #05060a; }
#hud { position: absolute; inset: 0; pointer-events: none; z-index: 10; }
#hud * { pointer-events: auto; }
.hud-corner { position: absolute; display: flex; flex-direction: column; gap: 6px; }
.hud-corner.tl { top: max(8px, env(safe-area-inset-top)); left: 10px; max-width: 46vw; }
.hud-corner.tr { top: max(8px, env(safe-area-inset-top)); right: 10px; align-items: flex-end; gap: 8px; }
.hud-id { background: linear-gradient(180deg, #17131088, #0b0a0866); border: 1px solid var(--line); border-radius: 10px; padding: 6px 10px; backdrop-filter: blur(3px); }
#hud-info { font-size: 12px; display: flex; gap: 7px; align-items: center; margin-bottom: 4px; white-space: nowrap; }
#hud-info .lv { display: inline-flex; background: var(--gold); color: #14100a; font-weight: 900; border-radius: 6px; padding: 0 7px; font-size: 12px; }
#hud-info .title-tag { font-size: 10.5px; color: #ffd23f; border: 1px solid #4d3f17; padding: 0 6px; border-radius: 6px; }
.hpbar { display: flex; align-items: center; gap: 8px; font-size: 11px; min-width: 190px; }
.hpbar i { color: var(--hp); }
.hpbar .bar { flex: 1; height: 11px; }
.hpbar .bar.hud > div { box-shadow: 0 0 8px #ff3b4688; }
.hud-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.curr { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.curr > span { display: inline-flex; gap: 5px; align-items: center; background: #0b0a08bb; border: 1px solid var(--line); border-radius: 999px; padding: 4px 10px; font-size: 12px; }
.curr b { color: #f4ead0; font-variant-numeric: tabular-nums; }
#minimap { border: 1px solid var(--line2); border-radius: 10px; background: rgba(8,9,12,.7); box-shadow: 0 4px 18px #000a; }
.world-alert-feed { width:100%; max-width:290px; box-sizing:border-box; border:1px solid #76613a99; border-radius:11px; overflow:hidden; background:linear-gradient(150deg,#15130ef0,#09090be8); box-shadow:0 7px 20px #0009; backdrop-filter:blur(7px); }
.world-alert-head { display:flex; align-items:center; gap:8px; min-height:32px; padding:5px 8px; border-bottom:1px solid #c9a96133; color:#d9c798; }
.world-alert-head strong { display:flex; align-items:center; gap:6px; font-size:10px; letter-spacing:.04em; }
.world-alert-head strong i { color:#e7c76e; }
#world-alert-count { margin-left:auto; color:#b5a57c; font-size:9px; font-variant-numeric:tabular-nums; }
#world-alert-toggle { width:24px; height:23px; border:1px solid #82704466; border-radius:6px; background:#ffffff08; color:#c7b47d; cursor:pointer; }
#world-alert-toggle:hover { background:#c9a96122; color:#f3dfa4; }
.world-alert-list { max-height:205px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#6b5834 #100f0d; }
.world-alert-item { padding:6px 9px; border-bottom:1px solid #ffffff0b; }
.world-alert-item:last-child { border-bottom:0; }
.world-alert-meta { display:flex; align-items:center; gap:8px; margin-bottom:2px; color:#d2bc83; font-size:9px; }
.world-alert-meta b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.world-alert-meta time { margin-left:auto; flex:none; color:#928973; font-variant-numeric:tabular-nums; }
.world-alert-text { color:#ddd4c2; font-size:10px; line-height:1.4; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; }
.world-alert-link { appearance:none; border:0; border-radius:2px; padding:0; background:transparent; font:inherit; text-decoration:underline dotted; text-underline-offset:2px; cursor:pointer; }
.world-alert-player { color:#a8ddec; }
.world-alert-gear { color:#f2d381; }
.world-alert-link:hover,.world-alert-link:focus-visible { color:#fff0bd; }
.world-alert-link:focus-visible { outline:1px solid #f2d381; outline-offset:2px; }
.world-alert-empty { padding:12px 9px; color:#898271; font-size:10px; text-align:center; }
.world-alert-feed.collapsed .world-alert-head { border-bottom:0; }
.world-alert-feed.collapsed .world-alert-list { display:none; }
@media(min-width:901px){body.panel-open:has(#panel.tavern-panel) #world-alert-feed{display:none!important}}
.hud-currency { position: absolute; left: 50%; transform: translateX(-50%); bottom: calc(6px + env(safe-area-inset-bottom)); z-index: 14; }
.hud-currency .curr { justify-content: center; }
#logo-img { height: 46px; width: auto; display: block; filter: drop-shadow(0 10px 26px rgba(0,0,0,.55)); }
/* ── 타이틀(런처) — 로고 단독 헤더 + 글래스 게이트 카드 ── */
#title { flex-direction: column; align-items: stretch; justify-content: flex-start; text-align: left; }
.t-bg { position: absolute; inset: -3%; z-index: 0; background: url('../assets/bg_login.webp') center/cover no-repeat, #0a0a0c;
  filter: saturate(1.05) contrast(1.04) brightness(.92); animation: kenburns 52s ease-in-out infinite alternate; }
@keyframes kenburns { from { transform: scale(1) translate(0, 0); } to { transform: scale(1.07) translate(-1.4%, -1.8%); } }
.t-veil { position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(130% 100% at 50% 36%, transparent 30%, rgba(4,4,6,.48) 68%, rgba(3,3,5,.88) 100%),
    linear-gradient(180deg, rgba(4,4,6,.66), rgba(4,4,6,0) 24%, rgba(4,4,6,0) 62%, rgba(4,4,6,.88)); }
.t-embers { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
.t-embers i { position: absolute; left: var(--x, 10%); bottom: -16px; width: 3px; height: 3px; border-radius: 50%;
  background: #ffca6a; box-shadow: 0 0 10px 2px rgba(255,140,58,.34); opacity: 0; transform: scale(var(--s, 1));
  animation: emberRise var(--t, 10s) linear var(--d, 0s) infinite; }
@keyframes emberRise {
  0% { transform: translate(0, 0) scale(.5); opacity: 0; }
  9% { opacity: .95; }
  55% { opacity: .7; transform: translate(22px, -54vh) scale(1); }
  100% { opacity: 0; transform: translate(-12px, -108vh) scale(.4); } }
/* 헤더 */
.t-top { position: absolute; top: calc(16px + env(safe-area-inset-top)); left: 0; right: 0; z-index: 3;
  display: flex; justify-content: space-between; align-items: center; padding: 0 26px; pointer-events: none; }
.t-badges { display: flex; gap: 8px; align-items: center; }
.tb { font-size: 10.5px; letter-spacing: 1px; color: #8d8271; border: 1px solid rgba(255,255,255,.08); background: rgba(8,8,10,.55);
  padding: 6px 12px; border-radius: 999px; display: inline-flex; gap: 7px; align-items: center; backdrop-filter: blur(4px); }
.tb .dot { width: 7px; height: 7px; border-radius: 50%; background: #7a7263; }
.tb.up .dot { background: #71d99b; box-shadow: 0 0 8px #71d99b; }
.tb.down .dot { background: #e8a13c; box-shadow: 0 0 8px rgba(232,161,60,.7); }
/* 본문 */
.t-body { position: relative; z-index: 2; flex: 1; width: min(1160px, 94vw); margin: 0 auto; display: grid; place-items: center;
  padding: 82px 12px 64px; }
#title[data-state="gate"] .t-ticker { display: none; }
#title[data-state="gate"] .t-body { padding-bottom: 42px; }
/* 게이트 — 단일 글래스 카드 */
.gate-card { position: relative; width: min(410px, 94vw); padding: 28px 30px 20px; border-radius: 22px;
  background: linear-gradient(180deg, rgba(23,20,16,.82), rgba(9,8,7,.92) 58%); border: 1px solid rgba(217,171,63,.16);
  box-shadow: 0 42px 130px rgba(0,0,0,.72), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(18px) saturate(1.1); animation: gateIn .7s cubic-bezier(.2,.7,.2,1) both; }
.gate-card::before { content: ''; position: absolute; top: 0; left: 28px; right: 28px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,215,110,.5), transparent); }
@keyframes gateIn { from { opacity: 0; transform: translateY(22px); filter: blur(5px); } }
/* 폼 */
.ap-tabs { display: flex; padding: 4px; border-radius: 13px; background: rgba(4,4,6,.6); border: 1px solid rgba(255,255,255,.05); box-shadow: inset 0 2px 8px rgba(0,0,0,.6); }
.ap-tabs button { flex: 1; padding: 11px 10px; font-size: 12.5px; letter-spacing: 1.5px; color: #8d8271; background: transparent;
  border: 0; border-radius: 10px; cursor: pointer; transition: all .28s; font-family: inherit; }
.ap-tabs button:hover { color: #d8c793; }
.ap-tabs button.on { color: #221703; background: linear-gradient(180deg, #ffd876, #c08c25); font-weight: 800; box-shadow: 0 4px 16px rgba(201,162,39,.3), inset 0 1px 0 rgba(255,255,255,.55); }
.ap-tabs button i { margin-right: 7px; }
.ap-form { display: flex; flex-direction: column; gap: 13px; margin-top: 15px; }
.ap-field { display: flex; flex-direction: column; gap: 7px; }
.ap-field .lbl { display: flex; gap: 7px; align-items: center; font-size: 10.5px; letter-spacing: 2.4px; color: #8d8271; }
.ap-field .lbl i { color: rgba(217,171,63,.72); font-size: 11px; }
.ap-field .lbl em { font-style: normal; letter-spacing: .4px; opacity: .55; }
.ap-form input { background: linear-gradient(180deg, #0a0908, #110f0c); border: 1px solid #2c281f; border-radius: 12px; color: #efe6cb;
  padding: 13px 14px; font-size: 14.5px; letter-spacing: .4px; outline: none; width: 100%; box-sizing: border-box;
  box-shadow: inset 0 2px 8px rgba(0,0,0,.55); transition: border-color .2s, box-shadow .2s; font-family: inherit; }
.ap-form input::placeholder { color: #57503f; }
.ap-form input:hover:not(:focus) { border-color: #4a4334; }
.ap-form input:focus { border-color: rgba(201,162,39,.85); box-shadow: inset 0 2px 8px rgba(0,0,0,.55), 0 0 0 3px rgba(201,162,39,.13), 0 0 22px rgba(201,162,39,.1); }
.a-namewrap { display: flex; gap: 8px; } .a-namewrap input { flex: 1; }
.ico-btn { padding: 0 15px !important; min-height: 46px; flex: none; }
.ap-err { display: flex; gap: 9px; align-items: center; font-size: 12px; color: #ffb1b1; background: rgba(120,28,28,.14);
  border: 1px solid rgba(160,50,50,.35); border-radius: 11px; padding: 9px 12px; animation: errIn .32s both; }
.ap-err::before { content: '!'; flex: none; display: grid; place-items: center; width: 16px; height: 16px; border-radius: 50%;
  background: #7d2f2f; color: #ffd9d9; font-size: 10.5px; font-weight: 800; }
.ap-err:empty { display: none; }
@keyframes errIn { from { opacity: 0; transform: translateY(-4px); } }
#gate-form-cta { display: none; }
.gate-card form .btn.gold { margin-top: 3px; height: 50px; letter-spacing: 1.8px; font-size: 13.5px; position: relative; overflow: hidden; width: 100%;
  box-shadow: 0 8px 26px rgba(201,162,39,.25), inset 0 1px 0 rgba(255,255,255,.6); }
.gate-card form .btn.gold::after { content: ''; position: absolute; top: -2px; bottom: -2px; left: -70%; width: 40%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.5), transparent); transform: skewX(-18deg); animation: shine 3.4s 1.2s ease-in-out infinite; pointer-events: none; }
@keyframes shine { 0%, 52% { left: -70%; } 84%, 100% { left: 135%; } }
.gate-test { display: flex; width: 100%; align-items: center; gap: 9px; margin-top: 10px; padding: 11px 14px; border-radius: 13px; cursor: pointer;
  border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.025); color: #9d9278; font-family: inherit; font-size: 12px; letter-spacing: 1.2px; transition: all .22s; }
.gate-test:hover { border-color: rgba(217,171,63,.5); color: #ffd76e; background: rgba(217,171,63,.06); box-shadow: 0 0 24px rgba(217,171,63,.08); }
.gate-test i { color: rgba(217,171,63,.75); }
.gate-test b { margin-left: auto; font-weight: 700; color: #c8b783; letter-spacing: 1.5px; font-size: 10.5px;
  border: 1px solid rgba(217,171,63,.28); border-radius: 7px; padding: 3px 8px; background: rgba(217,171,63,.07); }
.gate-note { margin-top: 13px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.06); font-size: 10.5px; color: #66604f; letter-spacing: .4px; text-align: center; }
.gate-note i { margin-right: 6px; color: rgba(217,171,63,.55); }
/* 메뉴 상태 */
.t-body.menu { place-items: end stretch; grid-template-columns: minmax(0,auto) minmax(280px,330px); gap: 30px; align-content: end; }
.t-menu { display: flex; flex-direction: column; gap: 12px; padding-bottom: 6px; }
.mm-cap { font-size: 10.5px; letter-spacing: 4.5px; color: #857a5f; display: flex; align-items: center; gap: 10px; margin-bottom: 2px; }
.mm-cap s { height: 1px; width: 46px; background: linear-gradient(90deg, rgba(201,162,39,.45), transparent); }
.mm-btn { display: flex; align-items: center; gap: 14px; width: min(390px, 86vw); text-align: left; padding: 13px 16px 13px 13px;
  background: linear-gradient(180deg, #1c1812f0, #100e0bf5); border: 1px solid rgba(201,162,39,.24); border-radius: 14px;
  color: #e8dcc0; cursor: pointer; position: relative; overflow: hidden; transition: all .22s; box-shadow: 0 10px 30px rgba(0,0,0,.45);
  animation: riseIn .7s both; font-family: inherit; }
.mm-btn:nth-child(3) { animation-delay: .07s; } .mm-btn:nth-child(4) { animation-delay: .14s; }
@keyframes riseIn { from { opacity: 0; transform: translateX(-22px); } }
.mm-btn:hover { transform: translateX(5px); border-color: rgba(201,162,39,.6); box-shadow: 0 12px 36px rgba(0,0,0,.6), 0 0 26px rgba(201,162,39,.1); }
.mm-btn:active { transform: translateX(5px) scale(.985); }
.mm-btn .dia { flex: none; width: 46px; height: 46px; display: grid; place-items: center; transform: rotate(45deg);
  border: 1px solid rgba(201,162,39,.38); border-radius: 11px; background: radial-gradient(120% 120% at 30% 20%, #2a2213, #12100b); }
.mm-btn .dia i { transform: rotate(-45deg); color: #ffd76e; font-size: 17px; }
.mm-btn .txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mm-btn .txt b { font-size: 15px; letter-spacing: 2.5px; }
.mm-btn .txt small { font-size: 10.5px; color: #8d8271; letter-spacing: .5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mm-btn .chev { margin-left: auto; color: #6d6552; transition: all .2s; flex: none; }
.mm-btn:hover .chev { color: #ffd76e; transform: translateX(3px); }
.mm-btn.primary { border-color: rgba(201,162,39,.6); background: linear-gradient(180deg, #26200ff5, #141006f8); }
.mm-btn.primary .dia { border-color: #ffd76e; box-shadow: 0 0 14px rgba(201,162,39,.25); }
.mm-btn.primary::after { content: ''; position: absolute; top: -2px; bottom: -2px; left: -70%; width: 40%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.4), transparent); transform: skewX(-18deg);
  animation: shine 3.4s 1.2s ease-in-out infinite; pointer-events: none; }
.t-side { display: flex; flex-direction: column; gap: 12px; align-self: end; animation: riseSide .8s .12s both; padding-bottom: 6px; }
@keyframes riseSide { from { opacity: 0; transform: translateX(24px); } }
.acc-card { position: relative; background: linear-gradient(170deg, #171310f2, #0d0b09f6); border: 1px solid rgba(201,162,39,.26);
  border-radius: 16px; padding: 16px; box-shadow: 0 18px 50px rgba(0,0,0,.6); backdrop-filter: blur(8px); }
.acc-row { display: flex; gap: 12px; align-items: center; }
.acc-av { position: relative; flex: none; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; font-size: 20px; color: #ffe1a1;
  background: radial-gradient(90% 90% at 30% 20%, #33291a, #171310); border: 1px solid rgba(201,162,39,.45); box-shadow: 0 0 18px rgba(201,162,39,.15); }
.acc-av em { position: absolute; right: -5px; bottom: -5px; font-style: normal; font-size: 8.5px; font-weight: 800; color: #ffe1a1;
  background: #241a0c; border: 1px solid rgba(201,162,39,.5); border-radius: 6px; padding: 1px 5px; }
.acc-name { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.acc-name b { font-size: 14.5px; letter-spacing: 1px; color: #f0e6cc; }
.acc-name .sub { font-size: 10.5px; color: #8d8271; letter-spacing: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.acc-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; padding-top: 11px; border-top: 1px dashed rgba(255,255,255,.08); }
.ast { text-align: center; }
.ast b { display: block; font-size: 13px; color: #ffd76e; letter-spacing: .5px; }
.ast span { font-size: 9.5px; letter-spacing: 1.5px; color: #7c715b; }
.notice { border: 1px solid rgba(255,255,255,.07); background: rgba(8,8,10,.55); border-radius: 16px; padding: 13px 16px 8px; backdrop-filter: blur(6px); }
.notice h4 { font-size: 11px; letter-spacing: 3.5px; color: #9d8f6e; margin: 0 0 6px; }
.notice h4 i { color: #d9ab3f; margin-right: 7px; }
.notice ul { margin: 0; padding: 0; list-style: none; }
.notice li { display: flex; gap: 9px; font-size: 11px; color: #a99e88; padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,.04); line-height: 1.45; }
.notice li:last-child { border-bottom: 0; }
.notice li i { flex: none; color: rgba(217,171,63,.75); margin-top: 2px; font-size: 10px; }
.notice li b { color: #ffd76e; font-weight: 600; }
.t-quit { align-self: flex-start; font-family: inherit; font-size: 11.5px; letter-spacing: 1.5px; color: #8d8271; background: none; border: 0;
  cursor: pointer; padding: 6px 4px; display: inline-flex; gap: 8px; align-items: center; transition: all .2s; }
.t-quit:hover { color: #ffb1b1; text-shadow: 0 0 12px rgba(255,90,90,.25); }
/* 티커(메뉴 전용) */
.t-ticker { position: absolute; left: 0; right: 0; bottom: calc(8px + env(safe-area-inset-bottom)); z-index: 3; overflow: hidden; height: 28px;
  display: flex; align-items: center; background: linear-gradient(180deg, transparent, rgba(4,4,6,.6));
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.tk-track { display: flex; gap: 60px; white-space: nowrap; animation: tick 34s linear infinite; will-change: transform; padding-left: 40px; }
.t-ticker:hover .tk-track { animation-play-state: paused; }
.tk-track span { font-size: 10.5px; letter-spacing: 1.2px; color: #8d8271; }
.tk-track b { color: #ffd76e; font-weight: 600; }
.tk-track i { color: rgba(217,171,63,.65); margin-right: 7px; }
@keyframes tick { to { transform: translateX(calc(-50% - 30px)); } }
.dim { color: var(--dim); }
@media (max-width: 900px) {
  .t-top { padding: 0 14px; top: calc(10px + env(safe-area-inset-top)); }
  #logo-img { height: 38px; }
  .tb.ver { display: none; }
  .t-body { padding: 66px 10px 46px; }
  .t-body.menu { grid-template-columns: 1fr; gap: 14px; }
  .t-side { align-self: stretch; }
  .mm-btn { width: 100%; max-width: 420px; }
  .gate-card { padding: 24px 20px 16px; }
  .t-embers i:nth-child(n+9) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .t-bg, .t-embers i, .tk-track, .gate-card form .btn.gold::after, .mm-btn.primary::after { animation: none; }
  .gate-card, .mm-btn, .t-side { animation-duration: .01s; }
}
/* 결제 준비중 버튼 */
.btn.lock { border-color: rgba(255,210,63,.35); color: #ffd76e; background: linear-gradient(180deg,#211d14,#14110a); font-weight: 700; }
.btn.lock i { margin-right: 7px; }
/* AI 아이콘 이미지 — PNG가 뜨면 폴백 FA 아이콘을 감춘다 (미달 시 img가 스스로 제거되어 FA 유지) */
img.ico { width: 22px; height: 22px; object-fit: contain; display: inline-block; vertical-align: -5px; filter: drop-shadow(0 1px 2px #000d); pointer-events: none; }
img.ico.sm { width: 16px; height: 16px; vertical-align: -3px; }
.skill-btn img.ico { width: 30px; height: 30px; vertical-align: 0; }
.skrow .sk-ic { display: flex; align-items: center; justify-content: center; width: 30px; flex: none; }
.skrow .sk-ic img.ico { width: 26px; height: 26px; }
.item-row img.ico { width: 24px; height: 24px; margin-right: 4px; }
.ah-ic img.ico { width: 34px; height: 34px; }
.p-dia img.ico { width: 16px; height: 16px; vertical-align: -3px; }
.slot img.ico { width: 26px; height: 26px; }
.skill-btn img.ico + i, .sk-ic img.ico + i, .item-row img.ico + i, .ah-ic img.ico + i,
.p-dia img.ico + i, .slot img.ico + i { display: none; }
/* 재화 칩 라벨(모바일 상단우측/PC 중앙하단 공통) */
.curr > span { position: relative; }
.curr > span::after { content: attr(data-lb); font-size: 9px; color: var(--dim); margin-left: 4px; letter-spacing: .5px; vertical-align: 1px; }

/* 하단 도크 */
.hud-bottom { position: absolute; left: 50%; bottom: calc(64px + env(safe-area-inset-bottom)); transform: translateX(-50%);
  display: flex; align-items: flex-end; gap: 8px; }
#skill-dock { display: flex; gap: 8px; padding: 8px; background: #0c0b09cc; border: 1px solid var(--line); border-radius: 16px; backdrop-filter: blur(6px); }
.skill-btn { position: relative; width: 54px; height: 54px; border-radius: 12px; border: 1px solid var(--line2); cursor: pointer; color: #efe6cb; font-size: 20px; overflow: hidden;
  background: linear-gradient(180deg, #241f17, #12100c); }
.skill-btn::after { content: ''; position: absolute; inset: 0; background: conic-gradient(#000c 0, #000c var(--cd, 0%), transparent var(--cd, 0%)); pointer-events: none; }
.skill-btn .knum { position: absolute; top: 2px; left: 5px; font-size: 9px; color: #8d8571; }
.skill-btn .cdnum { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #ffd23f; text-shadow: 0 1px 3px #000; z-index: 2; }
.skill-btn .name { position: absolute; bottom: 2px; width: 100%; text-align: center; font-size: 8.5px; color: #bfb492; }
.skill-btn.ult { border-color: #b98d1d; box-shadow: 0 0 14px #ffd23f33 inset; }
.skill-btn.off { opacity: .45; }
.skill-btn.passive{cursor:default;border-style:dashed;border-color:#bda66b88;background:linear-gradient(145deg,#343022,#1e1b15);box-shadow:inset 0 0 12px #d5b97918}
.skill-btn.passive::after{display:none}
.skill-btn.passive .cdnum{color:#e0ca8f;font-size:10px}
.skill-btn:hover { filter: brightness(1.2); }
.skill-btn.passive:hover{filter:none}
.side-btn { width: 54px; height: 54px; border-radius: 14px; border: 1px solid var(--line2); background: #0c0b09dd; color: var(--ink); font-size: 19px; cursor: pointer; display: flex; flex-direction: column; gap: 1px; align-items: center; justify-content: center; }
.side-btn span { font-size: 8.5px; color: var(--dim); }
.side-btn:active { transform: scale(.94); }
.side-btn.pot { border-color: #2f7d4f; color: #b6f5c1; }
#hunt-chip.on i { color: var(--ok); }
#chat-mini { position: absolute; left: 128px; bottom: calc(150px + env(safe-area-inset-bottom)); width: min(340px, 36vw); pointer-events: none; display: flex; flex-direction: column; gap: 3px; }
#chat-mini .chat-mini-head { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:24px; padding:2px 7px; border:1px solid #c9a96144; border-radius:7px; background:#100e0bd9; color:#cdbb91; font-size:10px; pointer-events:none; }
#chat-mini .chat-mini-head>span { display:flex; align-items:center; gap:6px; pointer-events:none; }
#chat-mini .chat-mini-head>span i { color:#dfc06c; }
#chat-mini .chat-mini-count { margin-left:auto; color:#978b70; font-size:9px; font-variant-numeric:tabular-nums; white-space:nowrap; }
#chat-mini .chat-mini-head button { pointer-events:auto; border:1px solid #8b744344; border-radius:5px; padding:3px 7px; background:#c9a96118; color:#e6cf9d; font:inherit; font-size:9px; cursor:pointer; }
#chat-mini .chat-mini-head button:hover,#chat-mini .chat-mini-head button:focus-visible { background:#c9a96135; color:#fff0c4; outline:1px solid #c9a961; outline-offset:1px; }
#chat-mini .chat-mini-lines { display:flex; flex-direction:column; gap:2px; pointer-events:none; }
#chat-mini .chat-mini-lines * { pointer-events:none; }
#chat-mini .chat-mini-empty { padding:5px 8px; border-radius:0 7px 7px 0; background:#0b0a0888; color:#918873; font-size:10px; }
#chat-mini .line { font-size:11.5px; background:#0b0a08a0; border-left:2px solid var(--line2); padding:3px 8px; border-radius:0 8px 8px 0; color:#cfc6b4; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }
#chat-mini .line.me { border-left-color:var(--ok); }
#chat-mini .line.sys { color:#ffb0b0; border-left-color:var(--bad); }
#chat-mini .line b { color:#ffd76e; margin-right:6px; font-weight:600; }
#chat-mini .chat-mini-compose { display:flex; align-items:center; gap:5px; min-width:0; padding:4px; border:1px solid #c9a96144; border-radius:8px; background:linear-gradient(135deg,#15130fd9,#090a0bed); pointer-events:auto; box-shadow:0 5px 16px #0005; }
#chat-mini .chat-mini-compose input { flex:1; width:0; min-width:0; height:30px; box-sizing:border-box; border:1px solid #4a4435; border-radius:5px; padding:4px 8px; background:#090b0cdd; color:#eee6d6; font:inherit; font-size:11px; pointer-events:auto; }
#chat-mini .chat-mini-compose input::placeholder { color:#89816f; }
#chat-mini .chat-mini-compose input:focus-visible { outline:1px solid #d2b06e; border-color:#d2b06e; }
#chat-mini .chat-mini-compose button { display:grid; place-items:center; flex:none; width:31px; height:30px; border:1px solid #92784688; border-radius:5px; background:#b4904b33; color:#f1d59a; cursor:pointer; pointer-events:auto; }
#chat-mini .chat-mini-compose button:hover:not(:disabled) { background:#b4904b66; }
#chat-mini .chat-mini-compose button:disabled { opacity:.4; cursor:default; }
#chat-mini.expanded { width:min(420px,42vw); }
#chat-mini.expanded .chat-mini-lines { max-height:min(34vh,260px); overflow:auto; padding:5px; border:1px solid #c9a96133; border-radius:8px; background:#090a0be8; pointer-events:auto; scrollbar-width:thin; scrollbar-color:#806a40 #15120e; }
#chat-mini.expanded .line { white-space:normal; overflow-wrap:anywhere; }

/* 레일(데스크톱) & 탭바(모바일) */
.rail { position: absolute; top: 50%; left: 10px; transform: translateY(-50%); display: flex; flex-direction: column; gap: 6px;
  background: #0c0b09c8; border: 1px solid var(--line); border-radius: 18px; padding: 8px 10px; backdrop-filter: blur(6px); z-index: 17; }
.panel-open .rail { pointer-events: auto; }
.rail .nav-btn { }
.rail .nav-btn { display: flex; align-items: center; gap: 8px; border: 0; background: transparent; color: #a89e86; font-size: 12px; cursor: pointer; padding: 6px 10px; border-radius: 10px; min-width: 96px; }
.rail .nav-btn i { width: 20px; text-align: center; font-size: 15px; }
.rail .nav-btn:hover { color: var(--ink); background: #ffffff0d; }
.rail .nav-btn.active { color: #14100a; background: linear-gradient(180deg, #ffd876, #c9942c); font-weight: 700; }
.rail .nav-btn.hot { color: var(--gold2); } .rail .nav-btn.hot.active { color: #14100a; }
#tabbar { display: none; }
#mail-dot { color: var(--bad); font-size: 7px; margin-left: 3px; vertical-align: 6px; }

#panel { position: absolute; top: 0; right: 0; height: 100%; width: min(680px, 92vw); z-index: 18;
  background: var(--panel); border-left: 1px solid var(--line2); box-shadow: -18px 0 40px #000b;
  transform: translateX(105%); transition: transform .26s cubic-bezier(.2,.9,.25,1); display: flex; flex-direction: column; }
.panel-open #panel { transform: none; }
.panel-open #hud { pointer-events: none; }
.panel-open .hud-bottom, .panel-open .hud-currency { opacity: .2; }
.panel-open .rail { opacity: .9; }
#panel header { display: flex; align-items: center; justify-content: space-between; padding: calc(10px + env(safe-area-inset-top)) 14px 10px; border-bottom: 1px solid var(--line); }
#panel-title { font-weight: 800; font-size: 15.5px; letter-spacing: 1px; color: #f0e6c8; }
#panel-title i { color: var(--gold); margin-right: 6px; }
#btn-panel-close { border: 1px solid var(--line); background: #17151200; color: var(--dim); width: 38px; height: 38px; border-radius: 10px; font-size: 16px; cursor: pointer; }
#btn-panel-close:hover { color: var(--bad); }
#panel-body { flex: 1; min-height: 0; width: 100%; box-sizing: border-box; overflow-y: auto; padding: 12px 14px calc(20px + env(safe-area-inset-bottom)); -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
h4 { margin: 4px 0 8px; font-size: 13.5px; color: #e9dcb8; }
h4 .dim { font-size: 11px; font-weight: 400; }

/* 카드/탭 */
.card { border: 1px solid var(--line); border-radius: 14px; padding: 12px; margin: 0 0 12px; background: #100f0d; }
.tabs { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 8px; margin-bottom: 10px; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tab { flex: 0 0 auto; border: 1px solid var(--line); background: #14120f; color: var(--dim); font-size: 12px; padding: 8px 12px; border-radius: 9px; cursor: pointer; min-height: 36px; }
.tab.on { color: #14100a; background: linear-gradient(180deg, #ffd876, #c9942c); border-color: #b98d1d; font-weight: 800; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* 캐릭터 */
.char-top { display: flex; gap: 14px; align-items: center; border: 1px solid var(--line); border-radius: 14px; padding: 12px; background: radial-gradient(80% 140% at 0% 0%, #211b12, #100f0d); margin-bottom: 12px; }
.avatar { width: 74px; height: 74px; border-radius: 16px; background: #0c0b09; border: 1px solid var(--acc); display: flex; align-items: center; justify-content: center; font-size: 30px; color: var(--acc); position: relative; box-shadow: 0 0 18px var(--acc); flex: 0 0 auto; }
.avatar span { position: absolute; right: -7px; bottom: -7px; background: var(--gold); color: #14100a; font-weight: 900; font-size: 12px; padding: 2px 7px; border-radius: 8px; border: 2px solid #100f0d; }
.who { flex: 1; min-width: 0; } .who h3 { margin: 0 0 2px; font-size: 17px; }
.who .dim { font-size: 11.5px; }
.res-box { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: #d6cba9; }
.gear-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
.slot { border: 1px dashed var(--line2); border-radius: 10px; padding: 8px 10px; font-size: 11.5px; display: flex; align-items: center; gap: 8px; position: relative; min-height: 52px; cursor: pointer; background: #0d0c0a; }
.slot.filled { border-style: solid; background: linear-gradient(180deg, #191612, #0e0d0b); }
.slot i { color: var(--gold); } .slot:hover { filter: brightness(1.18); }
.slot .mini { position: absolute; right: 6px; top: 6px; }
.srow { display: flex; align-items: center; gap: 8px; padding: 5px 4px; border-bottom: 1px dashed #ffffff0a; font-size: 12.5px; }
.srow b { margin-left: auto; font-variant-numeric: tabular-nums; }
.srow span { color: #cfc6b4; }
.srow.vital b { margin-left: 10px; color: var(--gold2); }
.skrow { display: flex; gap: 10px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 10px; margin-bottom: 7px; background: #0e0d0b; }
.skrow > i { font-size: 18px; width: 26px; text-align: center; }
.sk-mid { flex: 1; min-width: 0; font-size: 12.5px; } .sk-mid .dim { font-size: 11px; display: block; margin: 2px 0 4px; }
.sk-r { text-align: right; font-size: 12px; } .sk-r .up { font-weight: 800; }
.ult { color: #14100a; background: var(--gold2); border-radius: 4px; font-size: 9.5px; padding: 1px 4px; }

/* 아이템 행 */
.item-row { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; margin-bottom: 6px; background: #0e0d0b; }
.item-row > i { margin-top: 3px; }
.ir-main { flex: 1; min-width: 0; }
.ir-name { font-size: 12.5px; } .ir-stats { font-size: 11px; color: #a89e86; margin-top: 2px; line-height: 1.4; }
.ir-actions { display: flex; flex-direction: column; gap: 4px; align-items: flex-end; }
.cmp { font-size: 11px; } .cmp.up { color: var(--ok); } .cmp.down { color: var(--dim); }

/* 강화 */
.eslots { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 8px; }
.eslot { border: 1px solid var(--line); background: #14120f; border-radius: 12px; padding: 10px 6px; color: var(--ink); cursor: pointer; display: flex; flex-direction: column; gap: 6px; align-items: center; }
.eslot i { font-size: 20px; color: var(--dim); }
.eslot.on { border-color: var(--gold2); box-shadow: 0 0 14px #ffd23f33 inset; } .eslot.on i { color: var(--gold2); }
.eslot:disabled { opacity: .35; }
.enh-main { border: 1px solid var(--line); border-radius: 14px; padding: 12px; background: radial-gradient(70% 120% at 100% 0%, #1d150b, #100f0d); margin: 12px 0; }
.enh-sub-tabs{margin:12px 0 8px;display:flex;gap:6px}
.enh-sub-tabs .tab{padding:8px 14px;font-size:12px}
.enh-top-actions{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#1e1810ee,#100f0dee);border:1px solid #c9a96155;border-radius:12px;padding:12px;margin:10px 0 12px;backdrop-filter:blur(6px);box-shadow:0 4px 16px #0006}
.enh-top-actions .enh-btns{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.enh-top-actions .enh-btns .btn.big{flex:1 1 140px;min-height:44px;font-size:13px}
.enh-top-actions .chk{flex:1 1 180px;background:#00000033;padding:8px 10px;border-radius:8px;border:1px solid #ffffff0a}
.top-pend{margin-top:10px;padding:10px 12px;background:#00000055;border:1px solid #ffd23f33;border-radius:10px;flex-wrap:wrap}
.top-pend .bar{height:12px;border-radius:6px;background:#211d16;overflow:hidden}
.top-pend #enh-bar{transition:width .3s}
.destroy-warn{margin-top:10px;padding:10px 12px;border:1px solid #ff4d5e88;background:linear-gradient(90deg,#2a1515,#1a0e0e);border-radius:10px;color:#ff9d9d;font-size:11px;line-height:1.6}
.destroy-warn b{color:#ff6b6b}
.enh-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; font-size: 12.5px; margin: 8px 0; }
.enh-btns { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.chk { font-size: 12px; display: inline-flex; gap: 6px; align-items: center; color: #cfc6b4; }
.pend { margin-top: 10px; display: flex; gap: 10px; align-items: center; font-size: 12px; }
.pend .bar { flex: 1; height: 10px; }

/* 동료 */
.comp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 10px; }
.comp { position: relative; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: linear-gradient(180deg, #16120d, #0d0c0a); cursor: pointer; padding-bottom: 8px; }
.comp:not(.own) { filter: saturate(.25) brightness(.6); }
.comp-img { height: 148px; position: relative; background: radial-gradient(70% 90% at 50% 100%, var(--acc), transparent 70%), #0a0908; display: flex; align-items: flex-end; justify-content: center; }
.comp-img img { max-height: 142px; filter: drop-shadow(0 6px 8px #000b); }
.comp-mist { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 44px; color: var(--acc); opacity: .16; }
.comp-name { text-align: center; font-size: 12.5px; margin-top: 6px; }
.stars { text-align: center; color: var(--gold2); font-size: 11px; letter-spacing: 1px; }
.comp .dim { display: block; text-align: center; font-size: 10.5px; }
.party-tag { position: absolute; top: 8px; right: 8px; background: var(--ok); color: #06140a; font-size: 10px; font-weight: 800; padding: 2px 7px; border-radius: 8px; }
.detail { display: flex; gap: 14px; align-items: flex-start; }
.dt-img { width: 150px; flex: 0 0 auto; border: 1px solid var(--line2); border-radius: 14px; background: radial-gradient(70% 90% at 50% 100%, #3a2f1c, #0d0c0a); display: flex; align-items: flex-end; justify-content: center; position: relative; min-height: 190px; overflow: hidden; }
.dt-img img { max-height: 184px; }
.dt-stars { position: absolute; top: 6px; left: 6px; color: var(--gold2); font-size: 11px; }
.dt-body { flex: 1; min-width: 0; } .dt-body h3 { margin: 0 0 4px; }
.kv { display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 4px 8px; font-size: 12px; margin: 8px 0; }
.kv span { color: var(--dim); } .kv b { font-variant-numeric: tabular-nums; }

/* 소환 */
.gacha .g-banner { text-align: center; border: 1px solid var(--line2); border-radius: 16px; padding: 26px 22px 22px; margin-bottom: 12px;
  background: linear-gradient(180deg, rgba(8,7,12,.42), rgba(8,7,12,.8)), url('../assets/ui/banner_summon.jpg') center 72%/cover no-repeat; box-shadow: inset 0 0 40px #05040a99;
  background: radial-gradient(120% 160% at 50% -30%, #3c2b12 0%, #14100a 55%, #0c0b09 100%); }
.g-title { font-size: 20px; font-weight: 900; letter-spacing: 3px; color: #ffd876; } .g-title i { color: var(--bad); }
.odds { display: flex; gap: 14px; justify-content: center; margin-top: 10px; font-size: 11px; color: var(--dim); }
.g-result { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; justify-content: center; }
.g-card { width: 120px; border: 1px solid var(--line); border-radius: 10px; background: #131009; padding: 10px; text-align: center; font-size: 12px; animation: pop .4s both; }
.g-card i { font-size: 22px; color: var(--gold2); display: block; margin-bottom: 6px; }
.g-card em { font-style: normal; color: var(--dim); font-size: 10px; }
.g-card.five { border-color: #ff4d5e; box-shadow: 0 0 20px #ff4d5e33 inset; color: #ffd9dc; }
.g-card.four { border-color: #b56bff; box-shadow: 0 0 16px #b56bff22 inset; }
.g-card.five i { color: #ff8f9a; }
@keyframes pop { from { opacity: 0; transform: scale(.7);} to { opacity: 1; transform: scale(1);} }

/* 지도/사냥 */
.maprow { display: flex; gap: 10px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 12px; margin-bottom: 8px; background: #0e0d0b; }
.maprow.lock { opacity: .55; } .maprow.on { border-color: var(--gold2); box-shadow: 0 0 0 1px var(--gold2) inset; }
.mr-ico { font-size: 22px; color: var(--gold); width: 44px; height: 44px; border-radius: 12px; background: #191512; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.mr-main { flex: 1; min-width: 0; font-size: 12.5px; } .mr-main .dim { font-size: 11px; }
.mr-tags { display: flex; gap: 10px; font-size: 11px; color: #bfb492; margin-top: 3px; flex-wrap: wrap; }
.mr-tags .boss { color: #ff8f9a; }
.here { font-size: 11px; color: var(--gold2); }
.opt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; font-size: 12.5px; }
input[type=range] { width: 110px; accent-color: var(--gold2); }
select, input[type=number], input[type=text] { background: #14120f; color: var(--ink); border: 1px solid var(--line2); border-radius: 8px; padding: 8px; font-size: 12.5px; min-height: 36px; }
.idle-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; font-size: 12.5px; margin-bottom: 8px; }
.idle-grid b { font-size: 15px; }

/* 던전 */
.dunrow { display: flex; gap: 10px; justify-content: space-between; align-items: center; border: 1px solid var(--line); border-radius: 12px; padding: 10px; margin-bottom: 8px; flex-wrap: wrap; background: #0e0d0b; }
.dunrow.lock { opacity: .55; } .dunrow i { color: var(--gold); margin-right: 6px; }
.dun-btns { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }

/* 상점 */
.packs, .packs2 { display: grid; grid-template-columns: repeat(auto-fill, minmax(158px, 1fr)); gap: 10px; }
.packs2 { grid-template-columns: repeat(auto-fill, minmax(228px, 1fr)); }
.pack, .pack2 { position: relative; border: 1px solid var(--line); border-radius: 14px; padding: 14px; text-align: center; background: linear-gradient(180deg, #191410, #0e0d0b); font-size: 12.5px; }
.pack .p-dia { font-size: 17px; font-weight: 900; }
.p-badge { position: absolute; top: -8px; right: 10px; background: var(--bad); color: #fff; font-size: 10px; font-weight: 800; padding: 2px 8px; border-radius: 999px; }
.p-price { margin: 8px 0; color: #d6cba9; }
.pack2 { text-align: left; }
.pack2 h4 { display: flex; gap: 8px; align-items: center; }
.pack2 .p-tag { position: absolute; top: 10px; right: -20px; transform: rotate(24deg); background: var(--gold); color: #14100a; font-size: 10px; font-weight: 900; padding: 2px 22px; }
.pack2 ul { margin: 8px 0; padding-left: 18px; color: #cfc6b4; font-size: 12px; line-height: 1.65; }
.pack2.first { border-color: var(--gold2); }
.pack2.owned { opacity: .8; }

/* 경매장 */
.ah-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.ah-card { display: flex; gap: 10px; border: 1px solid var(--line); border-left: 3px solid var(--rar); border-radius: 12px; padding: 10px; background: #0e0d0b; }
.ah-ic { width: 40px; height: 40px; border-radius: 10px; background: #191512; display: flex; align-items: center; justify-content: center; color: var(--rar); font-size: 18px; flex: 0 0 auto; }
.ah-main { flex: 1; min-width: 0; font-size: 12px; } .ah-main b { font-size: 12.5px; }
.ah-meta { display: flex; gap: 8px; color: var(--dim); font-size: 10.5px; margin-top: 2px; }
.ah-meta .hot { color: var(--bad); font-weight: 700; }
.ah-price { margin-top: 4px; font-size: 13px; font-weight: 800; color: #f4ead0; } .ah-price .dim { font-weight: 400; }
.listbox { border-style: dashed; }
.mail-subtabs { display:flex; gap:8px; align-items:center; border-bottom:1px solid var(--line); padding-bottom:9px; margin:0 0 14px; }
.mail-subtab { display:inline-flex; gap:7px; align-items:center; border:1px solid var(--line); border-radius:9px; padding:8px 13px; background:#0e0d0b; color:var(--dim); font-size:12px; font-weight:700; }
.mail-subtab:hover,.mail-subtab.active { border-color:var(--gold2); color:#ffe9a8; background:#241a08; }
.mail-head { display: flex; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 10px; flex-wrap: wrap; }
.mail-summary { font-size: 12px; }
.coupon-player-card { display:flex; align-items:center; gap:14px; border:1px solid var(--line2); border-radius:13px; padding:17px; background:radial-gradient(120% 180% at 0% 0%,#2a1e0c,#11100d 72%); margin-bottom:14px; }
.coupon-player-icon { display:grid; place-items:center; width:46px; height:46px; flex:0 0 auto; border-radius:12px; background:#33250e; color:#ffd76e; font-size:20px; }
.coupon-player-copy { min-width:0; }
.coupon-eyebrow { color:#c7a44d; font-size:9px; font-weight:800; letter-spacing:1.7px; }
.coupon-player-copy h3 { margin:2px 0 3px; font-size:17px; }
.coupon-player-copy p,.coupon-player-hint { margin:0; color:var(--dim); font-size:11px; line-height:1.55; }
.coupon-player-form { border:1px solid var(--line); border-radius:12px; padding:16px; background:#100f0c; }
.coupon-player-form>label { display:block; color:#f1e5c7; font-size:12px; font-weight:700; margin-bottom:7px; }
.coupon-player-inputrow { display:flex; gap:8px; align-items:stretch; }
.coupon-player-inputrow input { flex:1; min-width:0; text-transform:uppercase; letter-spacing:1px; font-weight:700; }
.coupon-player-inputrow button { flex:0 0 auto; white-space:nowrap; }
.coupon-player-hint { margin-top:8px; }
.coupon-player-status { min-height:18px; margin-top:11px; font-size:12px; font-weight:650; }
.coupon-player-status.pending { color:#ffd76e; }
.coupon-player-status.success { color:var(--ok); }
.coupon-player-status.error { color:#ff9292; }
.coupon-player-safety { display:flex; gap:9px; align-items:flex-start; margin-top:12px; color:var(--dim); font-size:10px; line-height:1.6; }
.coupon-player-safety i { color:#83bf9a; margin-top:2px; }
@media(max-width:560px){.coupon-player-inputrow{flex-direction:column}.coupon-player-inputrow button{width:100%}.coupon-player-card{align-items:flex-start;padding:13px}.coupon-player-icon{width:38px;height:38px;font-size:17px}}

.mail-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; margin-left: auto; }
.mail-actions .btn { white-space: nowrap; }
@media(max-width:700px){.mail-actions{width:100%;margin-left:0;justify-content:flex-start}.mail-actions .btn{flex:1 1 auto}}
.mail-list { max-height: 38vh; overflow-y: auto; margin-bottom: 10px; }
.mail-row { display: flex; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: 9px; margin-bottom: 6px; cursor: pointer; background: #0e0d0b; }
.mail-row.on { border-color: var(--gold2); }
.mail-row.unread > i { animation: glow 2s infinite; } @keyframes glow { 0%,100% { text-shadow: none;} 50% { text-shadow: 0 0 12px #ffd23f;} }
.ml-main { flex: 1; min-width: 0; font-size: 12.5px; }
.gift { color: var(--ok); font-size: 16px; }
.mail-detail { border: 1px solid var(--line2); border-radius: 12px; padding: 12px; background: #131009; font-size: 13px; line-height: 1.6; }
.att-box { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0; }
.att-box span { border: 1px solid var(--gold2); color: #ffe9a8; border-radius: 8px; padding: 4px 10px; font-size: 12px; background: #241a08; }

/* 채팅 */
.chat-box { height: min(46vh, 380px); overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; padding: 10px; background: #0c0b09; display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; }
.chat-box .line { display: flex; gap: 8px; align-items: baseline; padding: 4px 8px; border-radius: 8px; }
.chat-box .line:hover { background: #ffffff08; }
.chat-box .line.me { background: #12241a; }
.chat-box .line.sys { color: #ffb0b0; }
.chat-box .who { color: #ffd76e; font-weight: 700; cursor: pointer; white-space: nowrap; }
.chat-box .msg { flex: 1; word-break: break-word; }
.chat-box .t { color: #5c574a; font-size: 10px; }
.chat-quick { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0; }
.chat-in { display: flex; gap: 6px; position: sticky; bottom: 0; background: var(--panel); padding: 6px 0 8px; }
.chat-in input { flex: 1; }

/* 아레나 */
.arena-top { display: flex; gap: 12px; align-items: center; border: 1px solid var(--line2); border-radius: 14px; padding: 12px; background: radial-gradient(120% 200% at 0% 0%, #241509, #0e0d0b); margin-bottom: 12px; flex-wrap: wrap; }
.arena-top h2 { margin: 2px 0; font-variant-numeric: tabular-nums; }
.opp { display: flex; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 12px; padding: 10px; background: #0e0d0b; }
.opp-av { width: 42px; height: 42px; border-radius: 10px; background: #171512; display: flex; align-items: center; justify-content: center; font-size: 18px; }
.opp-mid { flex: 1; min-width: 0; font-size: 12.5px; }
.opp-bot { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; font-size: 11px; }
.log-list { display: flex; flex-direction: column; gap: 4px; font-size: 12px; margin: 6px 0; }
.logrow { display: flex; gap: 10px; align-items: center; padding: 6px 10px; border-radius: 8px; background: #0e0d0b; }
.logrow.w { border-left: 3px solid var(--ok); } .logrow.l { border-left: 3px solid var(--bad); }

/* 랭킹 */
.rank-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rank-table th { text-align: left; color: var(--dim); font-weight: 600; border-bottom: 1px solid var(--line2); padding: 6px 8px; font-size: 11px; }
.rank-table td { padding: 6px 8px; border-bottom: 1px dashed #ffffff0a; }
.rank-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.rank-table tr.me td { background: linear-gradient(90deg, #241a08, transparent); color: #ffe9a8; font-weight: 700; }
.rank-table tr td:first-child { width: 42px; text-align: center; }

/* 시즌/업적 */
.season-head { display: flex; gap: 16px; align-items: center; border: 1px solid var(--line2); border-radius: 14px; padding: 12px; margin-bottom: 10px; background: linear-gradient(120deg, #1c1408, #0e0d0b); flex-wrap: wrap; }
.pass-xp { flex: 1; min-width: 200px; font-size: 12.5px; } .pass-xp b { font-size: 15px; color: var(--gold2); }
.pass-row { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px; }
.pass-cell { min-width: 92px; text-align: center; font-size: 11px; border: 1px solid var(--line); border-radius: 10px; padding: 6px; opacity: .5; background: #0e0d0b; }
.pass-cell.on { opacity: 1; border-color: var(--gold2); }
.pass-cell.claimed { opacity: .55; }
.pc-p { margin-top: 4px; color: #b56bff; font-size: 10px; }
.drow { display: flex; gap: 10px; align-items: center; padding: 8px 6px; border-bottom: 1px dashed #ffffff0a; font-size: 12.5px; }
.drow .m { flex: 1; min-width: 0; font-size: 12.5px; }
.drow.done > i { text-shadow: 0 0 10px #5fbf6e; }

/* 세계보스 */
.wb-wrap { display: flex; flex-direction: column; gap: 12px; }
.wb-stage { text-align: center; border: 1px solid #7d2f2f; border-radius: 16px; padding: 24px; background: radial-gradient(100% 130% at 50% 0%, #340d10 0%, #120b0b 55%, #0c0b09 100%); }
.wb-stage.on { animation: stagepulse 2.4s infinite; } @keyframes stagepulse { 0%,100% { box-shadow: 0 0 0 0 #ff4d5e55; } 50% { box-shadow: 0 0 26px 4px #ff4d5e22; } }
.wb-emb { font-size: 44px; filter: drop-shadow(0 0 16px #ff4d5e88); }
.wb-stat { font-size: 12px; color: #d9c7a8; margin-top: 8px; }

/* 가이드/설정 */
.gl { margin: 0; padding-left: 18px; font-size: 12.5px; line-height: 1.8; color: #cfc6b4; }
.story p { font-size: 12.5px; line-height: 1.85; color: #d6cba9; }
#panel-body .card ul li::marker { color: var(--gold); }

/* 토스트 */
#toasts { position: fixed; left: 50%; transform: translateX(-50%); top: 62px; z-index: 50; display: flex; flex-direction: column; gap: 6px; align-items: center; pointer-events: none; width: min(540px, 94vw); }
.toast { border: 1px solid var(--line2); border-left-width: 3px; background: #14120ef2; border-radius: 12px; padding: 9px 13px; font-size: 12.5px; color: var(--ink); box-shadow: 0 10px 26px #000c; animation: toastin .3s both; backdrop-filter: blur(4px); width: fit-content; max-width: 100%; text-align: left; }
.toast.out { opacity: 0; transform: translateY(-8px); transition: .4s; }
@keyframes toastin { from { opacity: 0; transform: translateY(-8px);} to { opacity: 1; } }

/* 모달 */
.modal-wrap { position: fixed; inset: 0; z-index: 40; background: #000000a8; display: flex; align-items: center; justify-content: center; padding: 18px; animation: fadein .18s both; backdrop-filter: blur(3px); }
@keyframes fadein { from { opacity: 0; } }
.modal { width: min(440px, 94vw); max-height: 86vh; overflow: auto; background: linear-gradient(180deg, #1c1813, #0e0d0b); border: 1px solid var(--line2); border-radius: 18px; box-shadow: 0 30px 80px #000, 0 0 0 1px #c9a9614; }
.modal-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--line); font-weight: 800; }
.modal-head .x { border: 0; background: transparent; color: var(--dim); font-size: 17px; cursor: pointer; width: 34px; height: 34px; border-radius: 8px; }
.modal-head .x:hover { color: var(--bad); background: #ffffff0a; }
.modal-body { padding: 16px; font-size: 13px; line-height: 1.7; }
.pay { text-align: center; } .pay-amt { font-size: 17px; font-weight: 900; color: #ffe9a8; } .pay-price { color: var(--gold2); margin: 4px 0 8px; }
.arena-res { text-align: center; } .arena-res h3 { letter-spacing: 2px; }
.arena-res.win h3 { color: var(--ok); } .arena-res.lose h3 { color: var(--bad); }
.rounds { display: flex; gap: 6px; justify-content: center; margin: 10px 0; }
.rounds span { width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 12px; }
.rounds .w { background: #1d5c3a; color: #c7ffd9; } .rounds .l { background: #5c1d1d; color: #ffd0d0; }
.off-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; font-size: 13px; }
.off-grid b { font-size: 16px; color: #ffe9a8; }

/* 모바일 탭바 */
#btn-more { }
#more-menu { display: none; }

/* 반응형 */
@media (max-width: 900px) {
  :root { --tap: 46px; --fs: 13.5px; }
  .rail { display: none; }
  #tabbar { display: flex; position: fixed; left: 6px; right: 6px; bottom: calc(6px + env(safe-area-inset-bottom)); z-index: 19;
    background: #0c0b09f0; border: 1px solid var(--line2); border-radius: 16px; padding: 4px; backdrop-filter: blur(8px); box-shadow: 0 8px 26px #000b; }
  .tab-btn { flex: 1; border: 0; background: transparent; color: #8d8571; font-size: 10px; display: flex; flex-direction: column; gap: 3px; align-items: center; padding: 7px 2px; border-radius: 12px; }
  .tab-btn i { font-size: 17px; }
  .tab-btn.hot { color: var(--gold2); }
  .tab-btn.active { background: linear-gradient(180deg, #ffd876, #c9942c); color: #14100a; }
  #panel { width: 100%; height: 82dvh; top: auto; bottom: 0; border-left: 0; border-top: 1px solid var(--line2); border-radius: 20px 20px 0 0; transform: translateY(105%); box-shadow: 0 -18px 50px #000c; }
  .panel-open #panel { transform: none; }
  .panel-open .rail, .panel-open .hud-bottom { opacity: .12; }
  .hud-corner.tr { align-items: flex-end; }
  .hud-currency { left: auto; right: 10px; transform: none; bottom: auto; top: calc(8px + env(safe-area-inset-top)); }
  .hud-currency .curr { justify-content: flex-end; }
  .panel-open .hud-currency { opacity: .12; }
  #minimap { display: none; }
  #chat-mini { display: none; }
  #world-alert-feed { display:none!important; }
  .hud-bottom { bottom: calc(72px + env(safe-area-inset-bottom)); }
  #skill-dock { padding: 5px; gap: 5px; }
  .skill-btn { width: 46px; height: 46px; font-size: 17px; border-radius: 10px; }
  .side-btn { width: 46px; height: 46px; }
  .grid2 { grid-template-columns: 1fr; }
  .detail { flex-direction: column; } .dt-img { width: 130px; margin: 0 auto; }
  #toasts { top: 52px; width: min(94vw, 540px); }
  .toast { font-size: 12px; }
  .t-logo span { letter-spacing: 3px; }
}
@media (max-width: 900px) and (orientation: landscape) and (max-height: 520px) {
  .hud-bottom { bottom: 54px; }
  #tabbar { bottom: 4px; }
}
/* 모바일 전체 메뉴 */
#more-menu.open { display: grid; position: fixed; left: 6px; right: 6px; bottom: calc(62px + env(safe-area-inset-bottom)); z-index: 21;
  grid-template-columns: repeat(4, 1fr); gap: 6px; background: #0c0b09f8; border: 1px solid var(--line2); border-radius: 18px; padding: 12px; animation: fadein .15s both; max-height: 52dvh; overflow: auto; }
#more-menu.open button { border: 1px solid var(--line); background: #161310; color: var(--ink); border-radius: 12px; padding: 12px 4px; font-size: 11px; display: flex; flex-direction: column; gap: 6px; align-items: center; }
#more-menu.open button i { font-size: 18px; color: var(--gold); }
/* 저사양 */
body.lowfx #bg-fx { display: none; }

/* ══ R11 — 스킬 호버 툴팁 (PC) ══ */
#sk-tip { position: fixed; z-index: 260; width: min(330px, 92vw); pointer-events: none; opacity: 0; transform: translateY(6px);
  transition: opacity .16s, transform .16s; text-align: left;
  background: linear-gradient(180deg, rgba(24,20,15,.97), rgba(10,9,7,.98)); border: 1px solid rgba(217,171,63,.3); border-radius: 14px; padding: 13px 15px 11px;
  box-shadow: 0 24px 70px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.06); }
#sk-tip.show { opacity: 1; transform: none; }
#sk-tip::before { content: ''; position: absolute; top: 0; left: 18px; right: 18px; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,215,110,.55), transparent); }
.skt-head { display: flex; align-items: center; gap: 9px; }
.skt-ic { position: relative; flex: none; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center;
  background: radial-gradient(120% 120% at 30% 20%, #33291a, #171310); border: 1px solid rgba(201,162,39,.45); }
.skt-ic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.skt-ic i { color: #ffd76e; font-size: 13px; }
.skt-head b { font-size: 14.5px; letter-spacing: 1.2px; color: #f2e8cc; }
.skt-hanja { font-size: 10px; color: #7c715b; letter-spacing: 2px; }
.skt-ult { font-style: normal; font-size: 9.5px; font-weight: 800; color: #221703; background: linear-gradient(180deg, #ffd876, #c08c25); border-radius: 6px; padding: 2px 7px; margin-left: 2px; }
.skt-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 8px; font-size: 10.5px; color: #9d9278; letter-spacing: .6px; }
.skt-meta i { color: rgba(217,171,63,.7); margin-right: 5px; }
.skt-desc { margin: 9px 0 0; font-size: 12px; line-height: 1.6; color: #d9cfae; }
.skt-foot { margin-top: 9px; padding-top: 8px; border-top: 1px dashed rgba(255,255,255,.08); font-size: 10.5px; color: #8d8271; display: flex; gap: 7px; align-items: center; }
.skt-foot kbd { font-family: inherit; font-size: 10px; background: #1c1812; border: 1px solid #4a4334; border-bottom-width: 2px; border-radius: 6px; padding: 2px 7px; color: #ffd76e; }
.skt-st b.ready { color: #7dff9a; } .skt-st b.cool { color: #ff9d2e; }.skt-passive{color:#d7c58e}
.skt-lock { margin-top: 7px; font-size: 10.5px; color: #c98d4f; }
.skt-lock i { margin-right: 6px; }
@media (hover: none) { #sk-tip { display: none; } }
/* ══ R11 — MMORPG 가방 ══ */
.bag-frame { position: relative; border: 1px solid rgba(201,162,39,.22); border-radius: 16px; padding: 13px;
  background: radial-gradient(140% 90% at 50% 0%, rgba(46,38,24,.35), transparent 60%), linear-gradient(180deg, #14110d, #0c0a08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), inset 0 0 60px rgba(0,0,0,.55); }
.bag-frame::before, .bag-frame::after { content: ''; position: absolute; width: 26px; height: 26px; border: 2px solid rgba(201,162,39,.5); pointer-events: none; }
.bag-frame::before { top: 6px; left: 6px; border-right: 0; border-bottom: 0; border-radius: 8px 0 0 0; }
.bag-frame::after { bottom: 6px; right: 6px; border-left: 0; border-top: 0; border-radius: 0 0 8px 0; }
.bag-top { display: flex; flex-direction: column; gap: 8px; margin-bottom: 11px; }
.bag-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.bag-cap { font-size: 11px; color: #8d8271; letter-spacing: .6px; margin-right: auto; }
.bag-cap i { color: rgba(217,171,63,.7); margin-right: 6px; }
.bag-cap b { color: #ffd76e; }
.bag-drop-filter { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.bag-drop-filter select { max-width: min(56vw, 220px); border: 1px solid var(--line2); border-radius: 4px; background: #11100d; color: var(--ink); font-size: 11px; padding: 3px 5px; }
.bag-filter-note { flex: 1 0 100%; font-size: 10px; line-height: 1.55; }
.inv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(52px, 1fr)); gap: 6px; }
.islot { position: relative; aspect-ratio: 1; border-radius: 10px; display: grid; place-items: center; padding: 0; cursor: pointer; color: var(--rc, #6b6252);
  background: radial-gradient(130% 130% at 30% 20%, #221d15, #0f0d0a); border: 1px solid #2c281f; transition: transform .16s, border-color .16s, box-shadow .16s; }
.islot.empty { cursor: default; background: #0a0908; border-style: dashed; border-color: #1d1a15; }
.islot i.fa-solid { font-size: 18px; opacity: .85; color: inherit; }
.islot img.ico { position: absolute; inset: 8%; width: 84%; height: 84%; object-fit: contain; filter: drop-shadow(0 3px 5px rgba(0,0,0,.6)); }
.islot img.ico + i { display: none; }
/* 등급 외곽선: 항상 등급색 — 높을수록 진하게/발광 */
.islot.filled { border-color: color-mix(in srgb, var(--rc) 55%, #2c281f); box-shadow: inset 0 0 14px rgba(0,0,0,.4); }
.islot.filled.rar3 { border-color: color-mix(in srgb, var(--rc) 80%, #2c281f); }
.islot.filled.rar4 { border-color: var(--rc); box-shadow: inset 0 0 12px rgba(0,0,0,.35), 0 0 9px -2px var(--rc); }
.islot.filled.rar5 { border-color: var(--rc); box-shadow: inset 0 0 12px rgba(0,0,0,.3), 0 0 11px -1px var(--rc); animation: rarPulse 2.6s ease-in-out infinite; }
@keyframes rarPulse { 50% { box-shadow: inset 0 0 12px rgba(0,0,0,.3), 0 0 16px 1px var(--rc); } }
#sk-tip.itip { width: min(290px, 92vw); padding: 11px 13px 9px; }
#sk-tip .itp-stats { margin: 8px 0 2px; }
#sk-tip .itp-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 11px; color: #cbbf9e; border-top: 1px solid rgba(201,162,39,.16); padding-top: 7px; margin-top: 5px; }
#sk-tip .itp-foot kbd { opacity: .8; }
@media (prefers-reduced-motion: reduce) { .islot.filled.rar5 { animation: none; } }
.islot.filled:hover { transform: translateY(-2px); border-color: var(--rc); box-shadow: 0 6px 18px rgba(0,0,0,.55), 0 0 16px var(--rc); }
.islot .ib { position: absolute; font-size: 8.5px; font-weight: 800; line-height: 1; padding: 2px 4px; border-radius: 5px; letter-spacing: .3px; z-index: 1; }
.islot .ib.enh { top: 3px; left: 3px; color: #ffe9a8; background: #241a0cdd; border: 1px solid rgba(201,162,39,.5); }
.islot .ib.lk { top: 3px; right: 3px; color: #c9b98a; background: #000000aa; }
.islot .ib.up { bottom: 3px; right: 3px; color: #08130a; background: #7dff9a; display: grid; place-items: center; width: 13px; height: 13px; padding: 0; border-radius: 50%; font-size: 7px; }
/* ══ R11 — 아이템 상세 모달 ══ */
.modal.m-item { width: min(440px, 94vw); }
.im-head { display: flex; gap: 13px; align-items: center; }
.im-ic { position: relative; flex: none; width: 58px; height: 58px; display: grid; place-items: center; border-radius: 13px; color: var(--rc, #ffd76e);
  border: 1px solid var(--rc, rgba(201,162,39,.5)); background: radial-gradient(120% 120% at 30% 20%, #262013, #100e0b); box-shadow: 0 0 18px rgba(0,0,0,.4); }
.im-ic img { position: absolute; inset: 7px; width: calc(100% - 14px); height: calc(100% - 14px); object-fit: contain; }
.im-ic img + i { display: none; }
.im-tt h3 { margin: 0; font-size: 15.5px; letter-spacing: .6px; }
.im-enh { color: #ffe9a8; }
.im-stats { margin-top: 12px; display: flex; flex-direction: column; gap: 5px; background: #0a090899; border: 1px solid #241f18; border-radius: 11px; padding: 10px 12px; }
.im-st { display: flex; align-items: baseline; gap: 8px; font-size: 12px; color: #a99e88; }
.im-st span { flex: 1; letter-spacing: .4px; }
.im-st b { color: #efe6cb; font-size: 12.5px; }
.im-st em { font-style: normal; font-size: 10.5px; font-weight: 700; }
.world-alert-option-preview { margin-top: 12px; padding-top: 8px; border-top: 1px solid #c9a96133; }
.world-alert-option-preview h4 { margin: 0 0 7px; color: #e8d39c; font-size: 12px; }
.world-alert-option-preview .im-stats { margin-top: 0; }
.world-alert-option-preview>small { display: block; margin-top: 7px; line-height: 1.5; }
.im-st em.up, .im-score em.up { color: #7dff9a; } .im-st em.dn, .im-score em.dn { color: #ff6b6b; } .im-st em.sm { color: #6b6252; }
.im-score { display: flex; align-items: center; gap: 8px; margin-top: 9px; font-size: 11.5px; color: #8d8271; }
.im-score b { color: #ffd76e; font-size: 13px; }
.im-score em { margin-left: auto; font-style: normal; font-size: 10.5px; font-weight: 700; }
.im-score em.sm { color: #6b6252; }
.im-lore { margin: 10px 0 0; font-size: 11px; color: #7c715b; font-style: italic; line-height: 1.6; border-left: 2px solid rgba(201,162,39,.4); padding-left: 10px; }
.im-btns { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.im-btns .btn { flex: 1 1 46%; justify-content: center; }
.im-btns .btn.gold { flex-basis: 100%; }
.im-red { color: #ff9d9d; border-color: rgba(160,60,60,.5) !important; }
.im-red:hover:not(:disabled) { border-color: #ff6b6b; color: #ff6b6b; box-shadow: 0 0 14px rgba(255,80,80,.15); }
@media (max-width: 640px) { .inv-grid { grid-template-columns: repeat(auto-fill, minmax(46px, 1fr)); } }

/* ══ R12 — 패널 디테일 ══ */
.p-sub { display: block; font-size: 10.5px; letter-spacing: .5px; color: #9d9278; font-weight: 400; margin-top: 3px; }
.p-sub b { color: #ffd76e; }
.p-sub .ok { color: #7dff9a; }
/* 협객 — 전력 공헌 */
.contrib { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 7px; margin-top: 4px; }
.ct { display: flex; align-items: center; gap: 8px; padding: 9px 11px; border-radius: 11px; background: #100e0b; border: 1px solid #262119; }
.ct i { color: rgba(217,171,63,.7); font-size: 13px; }
.ct span { font-size: 10px; letter-spacing: 1.4px; color: #7c715b; }
.ct b { margin-left: auto; font-size: 12px; color: #efe6cb; }
.ct.next { border-color: rgba(95,191,110,.4); background: linear-gradient(180deg, #0e130d, #0b0d09); }
.ct.next b { color: #7dff9a; }
/* 강화 대조표 */
.enh-table { margin-top: 10px; }
.enh-table h4 i { color: #d9ab3f; margin-right: 7px; }
.et-row { display: grid; grid-template-columns: 74px 54px 46px 1fr 44px; gap: 8px; align-items: center; padding: 7px 9px; font-size: 11px; color: #a99e88; border-radius: 8px; }
.et-row + .et-row { margin-top: 3px; }
.et-row.now { background: rgba(201,162,39,.07); border: 1px solid rgba(201,162,39,.25); }
.et-row b { color: #efe6cb; font-size: 11.5px; }
.et-head { color: #7c715b; letter-spacing: 1px; padding-top: 2px; padding-bottom: 2px; }
.rate { position: relative; height: 5px; border-radius: 3px; background: #211d16; overflow: hidden; }
.rate i { position: absolute; inset: 0 auto 0 0; background: linear-gradient(90deg, #5fbf6e, #ffd23f); border-radius: 3px; }
.rp { color: #7dff9a; font-weight: 700; }
/* 수집 — 완성 스트립 · 조각 게이지 */
.coll-head { display: flex; align-items: center; gap: 12px; padding: 10px 13px; margin-bottom: 9px; border: 1px solid rgba(201,162,39,.2); border-radius: 13px; background: #120f0c; }
.coll-head .ch-n b { font-size: 20px; color: #ffd76e; } .coll-head .ch-n span { font-size: 11.5px; color: #8d8271; }
.coll-head .bar { flex: 1; }
.frag-b { height: 3px; border-radius: 2px; background: #211d16; overflow: hidden; margin-top: 5px; }
.frag-b i { display: block; height: 100%; background: linear-gradient(90deg, #b56bff, #ffd23f); }
/* 동료 — 술기 행 */
.comp-skills { margin: 8px 0 2px; display: flex; flex-direction: column; gap: 5px; }
.comp-skills > div { display: flex; gap: 8px; align-items: baseline; font-size: 11.5px; background: #100e0b; border: 1px solid #262119; border-radius: 9px; padding: 7px 10px; }
.comp-skills b { color: #efe6cb; letter-spacing: .6px; }
.comp-skills .dim { font-size: 10.5px; }
/* 소환 — 도원 로스터 */
.g-pool { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.gp { display: inline-flex; align-items: center; gap: 6px; font-size: 10.5px; color: #8d8271; border: 1px solid #262119; border-radius: 999px; padding: 4px 9px; background: #0d0b09; }
.gp i { color: var(--acc, #d9ab3f); font-size: 9.5px; }
.gp b { color: #ffd76e; font-size: 9.5px; }
.gp.own { border-color: rgba(201,162,39,.4); color: #c9bc97; }
.gp .gd { font-style: normal; font-size: 8.5px; color: #b56bff; border: 1px solid rgba(181,107,255,.4); border-radius: 5px; padding: 1px 4px; }
/* 지도 — 위험 메터 */
.dng { display: inline-flex; align-items: center; gap: 6px; vertical-align: middle; }
.dng i { display: block; width: 46px; height: 5px; border-radius: 3px; background: #211d16; overflow: hidden; position: relative; }
.dng i::after { content: ''; display: block; height: 100%; width: 100%; transform-origin: left; }
.dng em { font-style: normal; font-size: 9px; letter-spacing: 1px; }
.dng.safe i { background: linear-gradient(90deg, #3f7d4e, #7dff9a); } .dng.safe em { color: #7dff9a; }
.dng.mid i { background: linear-gradient(90deg, #8a6c2a, #ffd23f); } .dng.mid em { color: #ffd23f; }
.dng.high i { background: linear-gradient(90deg, #a05a1f, #ff9d2e); } .dng.high em { color: #ff9d2e; }
.dng.dead i { background: linear-gradient(90deg, #7d2f2f, #ff4d5e); } .dng.dead em { color: #ff4d5e; }
/* 마경 — 태그 */
.dun-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.dun-tags span { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; color: #9d9278; border: 1px solid #262119; background: #0d0b09; border-radius: 8px; padding: 3px 8px; }
.dun-tags span i { color: rgba(217,171,63,.75); font-size: 9.5px; }
.dun-tags .cap { color: #b56bff; border-color: rgba(181,107,255,.35); }
.dt-wave { display: inline-flex !important; gap: 3px !important; padding: 5px 8px !important; }
.dt-wave i { width: 6px; height: 6px; border-radius: 2px; background: #4a4334; transform: rotate(45deg); }
.dt-wave i.boss { background: #ff4d5e; width: 8px; height: 8px; box-shadow: 0 0 8px rgba(255,77,94,.6); }
/* 상점 — 단가/뱃지 */
.p-unit { font-size: 10px; color: #7c715b; letter-spacing: .5px; margin-top: 3px; }
.p-best { display: inline-block; margin-left: 7px; font-size: 9px; font-weight: 800; color: #08130a; background: linear-gradient(180deg, #a8f0b8, #5fbf6e); border-radius: 6px; padding: 2px 6px; vertical-align: 2px; letter-spacing: .5px; }
/* 경매장 */
.ah-ic.look { position: relative; overflow: hidden; cursor: pointer; }
.lk-mag { pointer-events: none; position: absolute; inset: 0; display: grid; place-items: center; background: rgba(5,5,8,.66); opacity: 0; transition: opacity .18s; font-size: 13px; color: #ffd76e; }
.ah-ic.look:hover .lk-mag { opacity: 1; }
.ah-stat { display: flex; flex-wrap: wrap; gap: 5px 6px; margin: 2px 0 9px; }
.ah-stat span { font-size: 10px; color: #8d8271; display: inline-flex; gap: 6px; align-items: center; background: #0d0b09; border: 1px solid #241f18; border-radius: 999px; padding: 4px 10px; }
.ah-stat span i { color: rgba(217,171,63,.7); }
.ah-stat b { color: #efe6cb; }
.ah-stat .zero { opacity: .55; }
.ah-feeline { font-size: 10.5px; color: #8d8271; margin-top: 6px; }
.ah-feeline i { color: #d9ab3f; margin-right: 6px; }
.ah-feeline b { color: #7dff9a; }
/* 전서각 */
.att-ics { color: #7dff9a; letter-spacing: 3px; }
.att-ics i { font-size: 9.5px; }
.md-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 10.5px; color: #8d8271; margin: -2px 0 8px; }
.md-meta i { color: rgba(217,171,63,.7); margin-right: 6px; }
.md-meta .pendc { color: #ffd76e; } .md-meta .pendc i { color: #ffd76e; }
.md-meta .ok { color: #7dff9a; }
/* 주전 */
.chat-n { flex: none; font-size: 9.5px; color: #57503f; font-variant-numeric: tabular-nums; }
.chat-n.warn { color: #ff9d2e; }
.chat-idle { display: flex; gap: 10px; align-items: center; justify-content: center; height: 100%; min-height: 90px; font-size: 11.5px; color: #6b6252; letter-spacing: .8px; }
.chat-idle i { color: rgba(217,171,63,.5); font-size: 15px; }
/* 투기장 급 */
.arena-tier { display: flex; align-items: center; gap: 12px; padding: 10px 14px; margin: 2px 0 10px; border: 1px solid rgba(201,162,39,.25); border-radius: 13px; background: linear-gradient(180deg, #16130f, #0d0b09); }
.arena-tier .at-name { flex: none; font-size: 13.5px; letter-spacing: 1.5px; }
.arena-tier .at-bar { flex: 1; }
.arena-tier .at-next { flex: none; font-size: 10px; }
/* New Arena UI */
.arena-page{display:grid;gap:16px}
.arena-hero{position:relative;border:1px solid #6b5430;border-radius:16px;overflow:hidden;background:linear-gradient(130deg,#1e1810,#0f0e0c);padding:0}
.arena-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 20%,#ff9d2e22,transparent 60%),radial-gradient(ellipse at 80% 80%,#ffd23f18,transparent 60%),url('../assets/ui/banner_arena.jpg');background-size:cover;background-position:center 70%;opacity:.35}
.arena-hero-content{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:16px;padding:22px}
.arena-kicker{font-size:10px;letter-spacing:.16em;color:#d6b87a;display:flex;gap:6px;align-items:center}
.arena-hero h2{font-size:22px;font-weight:400;margin:10px 0 8px;letter-spacing:-.02em}
.arena-hero h2 b{color:#ffe9a8;font-weight:700}
.arena-hero p{font-size:12px;line-height:1.7;color:#b9ab8e;margin:0 0 14px;word-break:keep-all}
.arena-hero-stats{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0}
.arena-hero-stats>div{flex:1;min-width:90px;padding:10px 12px;border:1px solid #ffffff12;border-radius:10px;background:#00000033}
.arena-hero-stats small{display:block;font-size:10px;color:#9a8d76}
.arena-hero-stats b{display:block;font-size:15px;margin:3px 0;color:#ffe9a8}
.arena-hero-stats span{font-size:10px;color:#a99a7f}
.streak-bonus{color:#7dff9a!important;font-weight:700}
.arena-tier-progress{margin-top:12px}
.arena-tier-steps{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}
.arena-tier-step{flex:1;min-width:54px;text-align:center;padding:6px 4px;border:1px solid #ffffff12;border-radius:8px;background:#0e0d0b;opacity:.5;transition:.2s}
.arena-tier-step.passed{opacity:.8;border-color:var(--tier-col);background:linear-gradient(180deg,#1a150f,#0e0d0b)}
.arena-tier-step.active{opacity:1;border-color:var(--tier-col);background:radial-gradient(100% 100% at 50% 0%,var(--tier-col),#0e0d0b);color:#fff;box-shadow:0 0 12px var(--tier-col)}
.arena-tier-step i{display:block;font-size:14px;margin-bottom:2px;color:var(--tier-col)}
.arena-tier-step b{display:block;font-size:11px}
.arena-tier-step small{font-size:9px;color:#a99a7f}
.arena-tier-bar{height:6px;border-radius:6px;background:#00000088;overflow:hidden;margin:8px 0}
.arena-tier-bar>div{height:100%;border-radius:6px;transition:width .6s}
.arena-tier-next{font-size:10px;color:#c2b08a}
.arena-hero-right{display:grid;gap:12px;align-content:start}
.arena-entry-card{padding:14px;border:1px solid #c8a23f55;border-radius:12px;background:linear-gradient(120deg,#2a2012,#15120c)}
.arena-entry-card.is-empty{border-color:#ff5a5a88;background:linear-gradient(120deg,#2a1512,#15120c)}
.arena-entry-card h4{margin:0 0 8px;font-size:13px;color:#f3d491;display:flex;gap:6px;align-items:center}
.arena-entry-num{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.arena-entry-num b{font-size:28px;color:#ffe9a8}
.arena-entry-num small{font-size:11px;color:#a99a7f}
.arena-entry-meta{display:flex;flex-direction:column;gap:4px;font-size:10px;color:#a99a7f;margin-bottom:10px}
.arena-entry-actions{display:flex;gap:8px}
.arena-last{padding:12px;border-radius:10px;border:1px solid #ffffff12;background:#0e0d0b}
.arena-last.win{border-color:#7dff9a55;background:linear-gradient(120deg,#1a2a1a,#0e0d0b)}
.arena-last.loss{border-color:#ff5a5a55;background:linear-gradient(120deg,#2a1a1a,#0e0d0b)}
.arena-last-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.arena-last-head span.win{color:#7dff9a;font-weight:700}
.arena-last-head span.loss{color:#ff7a7a;font-weight:700}
.arena-last-head b{font-size:13px}
.arena-last-head small{font-size:10px;color:#a99a7f}
.arena-last-reward{display:flex;gap:12px;margin-top:6px;font-size:11px}
.arena-last-reward .up{color:#7dff9a}
.arena-last-reward .down{color:#ff7a7a}
.arena-controls{display:grid;gap:10px}
.arena-filter-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.arena-filters{display:flex;gap:6px;flex-wrap:wrap}
.arena-filters button{padding:6px 10px;border:1px solid var(--line);border-radius:20px;background:#0e0d0b;color:#b9ab8e;font-size:11px;cursor:pointer}
.arena-filters button.on{border-color:#ffd23f;background:#2a2012;color:#ffe9a8}
.arena-hint{font-size:10px;color:#9a8d76;line-height:1.6;padding:8px 10px;border:1px dashed #ffffff12;border-radius:8px;background:#00000022}
.arena-opponents .arena-opps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.arena-opp-card{position:relative;padding:12px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#14120f,#0e0d0b);display:flex;flex-direction:column;gap:10px;transition:.2s}
.arena-opp-card:hover{border-color:#c8a23f88;transform:translateY(-1px);box-shadow:0 6px 20px #0008}
.arena-opp-card.good{border-left:3px solid #7dff9a}
.arena-opp-card.even{border-left:3px solid #ffd23f}
.arena-opp-card.bad{border-left:3px solid #ff7a7a}
.arena-opp-top{display:flex;gap:10px;align-items:center}
.arena-opp-avatar{position:relative;width:56px;height:56px;border-radius:12px;background:radial-gradient(100% 100% at 50% 0%,var(--cls),#171512);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.arena-opp-avatar img{position:absolute;width:100%;height:100%;object-fit:contain;opacity:.9}
.arena-opp-avatar i{position:relative;font-size:20px;color:#fff;z-index:1;text-shadow:0 2px 6px #000}
.arena-opp-lv{position:absolute;bottom:2px;right:2px;font-size:8px;background:#000c;color:#fff;padding:2px 4px;border-radius:4px;z-index:2}
.arena-opp-info{flex:1;min-width:0}
.arena-opp-name{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.arena-opp-name b{font-size:13px;color:#ffe9a8}
.arena-diff{font-size:9px;padding:2px 6px;border-radius:10px;border:1px solid}
.arena-diff.good{color:#7dff9a;border-color:#7dff9a55;background:#7dff9a15}
.arena-diff.even{color:#ffd23f;border-color:#ffd23f55;background:#ffd23f15}
.arena-diff.bad{color:#ff7a7a;border-color:#ff7a7a55;background:#ff7a7a15}
.arena-opp-info small{display:block;font-size:10px;color:#9a8d76;margin:2px 0}
.arena-opp-stats{display:flex;gap:8px;flex-wrap:wrap;font-size:10px;color:#b9ab8e;margin-top:4px}
.arena-opp-reward{display:flex;justify-content:space-between;font-size:10px;padding:6px 8px;border-radius:8px;background:#00000044;border:1px solid #ffffff0a}
.reward-pts{color:#ffe9a8}
.reward-pts.bonus{color:#7dff9a;font-weight:700}
.reward-gold{color:#d6b87a}
.arena-opp-actions{display:flex;gap:8px;justify-content:flex-end}
.arena-rules details{border:1px solid var(--line);border-radius:12px;background:#0e0d0b;padding:10px 14px}
.arena-rules summary{cursor:pointer;font-size:12px;color:#d6c09a;display:flex;gap:6px;align-items:center}
.arena-rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:10px}
.arena-rules-grid b{display:block;font-size:11px;color:#ffe9a8;margin-bottom:2px}
.arena-rules-grid p{font-size:10px;color:#9a8d76;margin:0;line-height:1.5}
.arena-log-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.arena-log-head h4{margin:0;font-size:13px;display:flex;gap:6px;align-items:center}
.arena-detail{display:grid;gap:12px}
.arena-detail-avatar{width:80px;height:80px;border-radius:14px;background:radial-gradient(100% 100% at 50% 0%,var(--cls),#171512);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.arena-detail-avatar img{position:absolute;width:100%;height:100%;object-fit:contain}
.arena-detail-avatar i{position:relative;font-size:26px;color:#fff;z-index:1}
.arena-detail h3{margin:0;font-size:18px}
.arena-detail h3 small{font-size:12px;color:#a99a7f;margin-left:8px}
.arena-detail-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.arena-detail-stats>div{padding:8px;border:1px solid #ffffff12;border-radius:8px;background:#0e0d0b}
.arena-detail-stats span{font-size:10px;color:#9a8d76;display:block}
.arena-detail-stats b{font-size:13px;color:#ffe9a8;display:block;margin-top:2px}
.arena-detail-stats small{font-size:9px;color:#9a8d76}
.arena-buffs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.arena-buff{font-size:10px;padding:4px 8px;border-radius:20px;border:1px solid #ffffff12;background:#00000033;color:#9a8d76;display:flex;gap:4px;align-items:center}
.arena-buff.on{border-color:#7dff9a55;background:#7dff9a15;color:#7dff9a}
.arena-tier-rewards{padding:10px;border:1px solid #ffffff12;border-radius:10px;background:#0e0d0b}
.arena-tier-rewards h5{margin:0 0 8px;font-size:11px;color:#d6c09a;display:flex;gap:6px;align-items:center}
.arena-reward-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px;margin-bottom:6px}
.arena-reward-item{padding:6px;border:1px solid #ffffff0a;border-radius:8px;background:#00000022;text-align:center}
.arena-reward-item.cur{border-color:#ffd23f88;background:#ffd23f15}
.arena-reward-item.done{opacity:.6}
.arena-reward-item b{font-size:11px;display:block}
.arena-reward-item small{font-size:9px;color:#9a8d76;display:block;margin-top:2px}
.arena-style{font-size:8px;padding:2px 6px;border-radius:10px;background:#ffffff10;color:#b9ab8e;border:1px solid #ffffff12}
.arena-opp-stats em.up{color:#7dff9a;font-style:normal}
.arena-opp-stats em.down{color:#ff7a7a;font-style:normal}
.log-cls{font-size:9px;color:#9a8d76}
.arena-confirm{padding:4px}
.arena-confirm h4{margin:0 0 6px;font-size:15px}
.arena-last.draw{border-color:#ffd23f55;background:linear-gradient(120deg,#2a2212,#0e0d0b)}
.arena-last-head span.draw{color:#ffd23f;font-weight:700}
.arena-result{padding:8px;display:grid;gap:12px;text-align:center}
.arena-result-icon{font-size:42px;line-height:1}
.arena-result h3{margin:0;font-size:22px}
.arena-result h3.win{color:#7dff9a}
.arena-result h3.loss{color:#ff7a7a}
.arena-result h3.draw{color:#ffd23f}
.arena-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.arena-result-stats>div{padding:8px;border:1px solid #ffffff12;border-radius:8px;background:#0e0d0b}
.arena-result-stats b{display:block;font-size:16px;color:#ffe9a8}
.arena-result-stats small{font-size:10px;color:#9a8d76}
.arena-result-buff{font-size:11px;padding:8px;border-radius:8px;background:#7dff9a15;border:1px solid #7dff9a33;color:#7dff9a}
#arena-hud{position:absolute;left:50%;top:68px;transform:translateX(-50%);z-index:15;display:none;gap:10px;align-items:center;padding:8px 14px;border-radius:12px;background:rgba(10,10,14,.85);border:1px solid #c9a96155;backdrop-filter:blur(6px);font-size:11px;color:#e8e2d0;min-width:280px;justify-content:space-between}
#arena-hud.on{display:flex}
#arena-hud .ah-time{font-weight:700;font-size:14px;color:#ffe9a8}
#arena-hud .ah-bar{flex:1;height:6px;border-radius:6px;background:#0008;overflow:hidden;position:relative}
#arena-hud .ah-bar i{display:block;height:100%;border-radius:6px;transition:width .2s}
#arena-hud .ah-vs{font-size:10px;color:#9a8d76}
@media(max-width:800px){.arena-hero-content{grid-template-columns:1fr}.arena-opponents .arena-opps-grid{grid-template-columns:1fr}#arena-hud{top:54px;min-width:90vw}}

.ov { font-size: 9.5px; font-weight: 700; border-radius: 6px; padding: 2px 7px; letter-spacing: 1px; }
.ov.good { color: #08130a; background: #7dff9a; } .ov.even { color: #d9cfae; border: 1px solid #4a4334; } .ov.bad { color: #ffd0d0; background: #572024; }
/* 천하방 — 시상대/바 */
.podium { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 2px 0 12px; }
.pd { text-align: center; border: 1px solid rgba(201,162,39,.25); border-radius: 13px; padding: 12px 8px 10px; background: linear-gradient(180deg, #17130f, #0d0b09); position: relative; overflow: hidden; }
.pd i { font-size: 19px; display: block; margin-bottom: 5px; filter: drop-shadow(0 3px 8px rgba(0,0,0,.6)); }
.pd b { display: block; font-size: 12.5px; color: #f0e6cc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd .dim { font-size: 9.5px; }
.pd em { display: block; font-style: normal; font-size: 12px; font-weight: 800; color: #ffd76e; margin-top: 5px; }
.pd.p1 { border-color: rgba(255,210,63,.55); transform: translateY(-4px); box-shadow: 0 14px 34px rgba(0,0,0,.5), 0 0 22px rgba(255,210,63,.08); }
.pd.p1::after { content: ''; position: absolute; top: -60%; left: -20%; width: 60%; height: 220%; background: linear-gradient(105deg, transparent, rgba(255,255,255,.06), transparent); transform: skewX(-18deg); }
.rk-bar { display: inline-block; width: 54px; height: 4px; border-radius: 2px; background: #211d16; overflow: hidden; vertical-align: 1px; margin-right: 8px; }
.rk-bar i { display: block; height: 100%; background: linear-gradient(90deg, #c8892c, #ffd23f); }
/* 연대기 */
.pc-badge { color: #08130a; background: #7dff9a; border-radius: 7px; padding: 2px 8px; font-size: 10px; letter-spacing: .5px; margin-left: 4px; }
.pass-cell { cursor: pointer; transition: transform .14s, border-color .14s; }
.pass-cell:hover { transform: translateY(-3px); border-color: rgba(201,162,39,.55); }
.sr-row { display: flex; align-items: center; gap: 10px; padding: 8px 2px; border-bottom: 1px dashed rgba(255,255,255,.07); font-size: 12.5px; }
.sr-row span:first-child { flex: none; width: 66px; }
.sr-row b { color: #efe6cb; } .sr-row b i { margin-right: 6px; }
.sr-note { margin-top: 9px; font-size: 11px; }
/* 혈전 */
.wbr { align-items: center; }
.wbar { flex: 1; height: 5px; border-radius: 3px; background: #211d16; overflow: hidden; margin: 0 8px; }
.wbar i { display: block; height: 100%; border-radius: 3px; }
.wbr.me { border: 1px solid rgba(127,217,255,.35); background: rgba(127,217,255,.05); border-radius: 8px; padding: 6px 8px; margin-top: 4px; }
.wbr.me b:last-child { color: #7fd9ff; }
/* 입문록 — 키 표 */
.keys { width: 100%; border-collapse: collapse; }
.keys td { padding: 6px 4px; border-bottom: 1px solid rgba(255,255,255,.05); font-size: 11.5px; color: #a99e88; }
.keys td:first-child { width: 96px; white-space: nowrap; }
.keys kbd { font-family: inherit; font-size: 10px; background: #1c1812; border: 1px solid #4a4334; border-bottom-width: 2px; border-radius: 6px; padding: 2px 8px; color: #ffd76e; margin-right: 3px; }
/* 설정 — 수행 기록 */
#panel .kv { display: grid; grid-template-columns: auto 1fr; gap: 5px 12px; font-size: 12px; }
#panel .kv span { color: #8d8271; }
#panel .kv b { color: #efe6cb; text-align: right; }
@media (max-width: 640px) {
  .arena-tier { flex-wrap: wrap; } .arena-tier .at-next { width: 100%; }
  .contrib { grid-template-columns: 1fr 1fr; }
  .pd b { font-size: 11px; }
}

/* ── R15 의뢰록 ── */
.qch { margin: 14px 4px 4px; font-size: 12px; color: #c8a23f; letter-spacing: 0.12em; }
.qch i { margin-right: 6px; }
.drow.q-now { background: #ffd23f0a; border: 1px solid #ffd23f26; border-radius: 8px; }
.drow.q-lock { opacity: 0.48; }
.drow.q-done > i { text-shadow: 0 0 10px #5fbf6e; }
.nav-btn.qhot.active, .nav-btn.qhot:hover { color: #ffd23f; }

/* ── R23 보물각 히어로 배너 ── */
.shop-hero { height: clamp(74px, 14vh, 118px); border-radius: 14px; margin-bottom: 10px; position: relative; overflow: hidden;
  background: url('../assets/ui/banner_shop.jpg') center 68%/cover no-repeat; border: 1px solid var(--line2); }
.shop-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #05040a55, #05040ae0); }

/* ── R24 연대기·투기장 히어로 배너 ── */
.art-hero { height: clamp(74px, 14vh, 118px); border-radius: 14px; margin-bottom: 10px; position: relative; overflow: hidden; border: 1px solid var(--line2); background-size: cover; background-repeat: no-repeat; }
.art-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #05040a55, #05040ad9); }
.art-hero--season { background-image: url('../assets/ui/banner_season.jpg'); background-position: center 60%; }
.art-hero--arena { background-image: url('../assets/ui/banner_arena.jpg'); background-position: center 70%; }

/* ── R25 주간 의뢰 보드 · 지역 세트 · 보스 컷신 ── */
.wkwrap { border: 1px solid var(--line2); border-radius: 12px; padding: 10px 12px 8px; margin-bottom: 12px; background: linear-gradient(180deg, #17131e, #100d14); }
.wk-head { font-weight: 700; letter-spacing: .04em; margin-bottom: 8px; color: #e8d9a8; }
.wk-head i { color: #c8a23f; margin-right: 6px; }
.wkrow .m b { font-size: 13px; }
.wkspec { border: 1px dashed #6b5620; border-radius: 10px; padding: 4px 6px; margin: 4px -6px 0; background: #1c160a55; }
.im-set { margin: 6px 0 2px; padding: 7px 10px; border: 1px solid #4a3b17; border-radius: 9px; background: #1d150a66; font-size: 12.5px; }
.im-set i { color: #c8a23f; margin-right: 4px; }
/* ── R25-1 세트 보너스 상세 ── */
.set-detail { margin: 8px 0; padding: 10px 12px; border: 1px solid #4a3b17; border-radius: 10px; background: linear-gradient(180deg,#1d160a66,#16100a88); }
.set-detail.global-set { border-color: #5a4a1f; background: linear-gradient(180deg,#221a0a88,#1a140a99); }
.set-head { display:flex; align-items:center; gap:8px; font-size:12.5px; color:#e8d9a8; margin-bottom:6px; }
.set-head b { color:#ffd76e; }
.set-head small { margin-left:auto; color:#a99a78; font-size:11px; border:1px solid #ffffff12; border-radius:999px; padding:2px 7px; background:#00000033; }
.set-current { margin:5px 0 8px; padding:7px 9px; border-left:2px solid #c8a23f; background:#c8a23f0c; color:#c8b990; font-size:11px; line-height:1.6; }
.set-current b { color:#e8d9a8; font-weight:700; }
.set-tiers { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:4px; }
.set-tiers li { display:flex; align-items:center; gap:8px; padding:5px 8px; border-radius:7px; background:#0f0c08aa; border:1px solid #ffffff08; font-size:12px; color:#8a7e68; transition: all .18s; }
.set-tiers li.is-active { background:#2a2110cc; border-color:#c8a23f55; color:#efd9a0; box-shadow:0 0 12px #c8a23f18 inset; }
.set-need { min-width:62px; font-weight:700; color:#b8a47a; font-size:11px; letter-spacing:.02em; }
.set-tiers li.is-active .set-need { color:#ffd76e; }
.set-bonus { flex:1; line-height:1.4; }
.set-bonus .set-effect-text { display:block; margin-top:2px; font-size:11px; line-height:1.45; opacity:.88; }
.set-tiers li i.fa-check { color:#7dff9a; font-size:11px; }
.set-bonus-list { display:flex; flex-direction:column; gap:10px; }
.ch-sets .ch-section-title { margin-bottom:8px; }
.ch-sets .set-detail { margin:0; }
.boss-cut { position: fixed; inset: 0; z-index: 260; display: flex; align-items: center; justify-content: center; gap: 34px;
  background: radial-gradient(ellipse at center, #14090bcc 0%, #05030af2 78%); cursor: pointer; animation: bcIn .5s ease; }
.boss-cut.out { opacity: 0; transition: opacity .45s ease; }
.boss-cut .bc-art { width: min(30vw, 260px); filter: drop-shadow(0 14px 40px #000) drop-shadow(0 0 26px #ff2e4a33); animation: bcFloat 3.2s ease-in-out infinite alternate; }
.boss-cut .bc-art img { width: 100%; display: block; }
.boss-cut .bc-txt { max-width: min(46vw, 460px); }
.boss-cut .bc-name { font-size: clamp(24px, 4.4vw, 40px); font-weight: 900; color: #ff5a68; letter-spacing: .12em; text-shadow: 0 0 26px #ff2e4a66; }
.boss-cut .bc-name span { font-size: .48em; color: #a8938a; margin-left: 10px; letter-spacing: .2em; }
.boss-cut .bc-txt p { margin: 12px 0 18px; color: #d8cfc4; line-height: 1.75; font-size: 14.5px; }
.boss-cut .bc-skip { color: #6f6a60; font-size: 12px; letter-spacing: .08em; }
@keyframes bcIn { from { opacity: 0; transform: scale(1.045); } to { opacity: 1; } }
@keyframes bcFloat { from { transform: translateY(-6px) } to { transform: translateY(7px) } }
@media (max-width: 760px) { .boss-cut { flex-direction: column; gap: 8px; padding: 24px; } .boss-cut .bc-art { width: min(52vw, 200px); } .boss-cut .bc-txt { max-width: 92vw; text-align: center; } }

/* ── R26 아이콘 겹침 차단 — 실이미지 로드 시 폴백 FA 아이콘 숨김(실패 시 img 제거되어 재노출) ── */
img.ico + i { display: none; }

/* ── R39 인스턴스 HUD (마경·혈전 별도 공간) ── */
#instance-hud { position: absolute; left: 50%; top: max(10px, env(safe-area-inset-top)); transform: translateX(-50%); z-index: 20; pointer-events: auto; }
.inst-card { min-width: min(88vw, 380px); background: linear-gradient(180deg, #1a140eef, #0f0c0aee); border: 1px solid #c8a23f55; border-radius: 14px; padding: 10px 14px 9px; box-shadow: 0 8px 30px #000a, 0 0 18px #c8a23f22; backdrop-filter: blur(6px); }
.inst-title { font-size: 13px; font-weight: 800; color: #ffd76e; letter-spacing: 1px; display: flex; gap: 8px; align-items: center; }
.inst-title i { color: #ffae5e; }
.inst-row { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; font-size: 12px; color: #d8cfc4; }
#inst-timer { font-variant-numeric: tabular-nums; color: #ffd23f; font-weight: 700; }
.inst-bar { margin-top: 7px; height: 6px; border-radius: 999px; background: #1a1816; border: 1px solid #ffffff12; overflow: hidden; }
#inst-bar-fill { height: 100%; background: linear-gradient(90deg, #c8a23f, #ffd76e); transition: width .4s ease; }
.inst-actions { margin-top: 8px; display: flex; justify-content: flex-end; }
#btn-inst-exit { font-size: 11px; padding: 5px 10px; }
#instance-hud.dungeon .inst-title i { color: #b56bff; }
#instance-hud.worldboss .inst-title i { color: #ff4d5e; }
#instance-hud.worldboss .inst-card { border-color: #ff4d5e55; box-shadow: 0 8px 30px #000a, 0 0 18px #ff4d5e22; }
@media (max-width: 700px) { #instance-hud { top: calc(60px + env(safe-area-inset-top)); } .inst-card { min-width: 92vw; } }

/* 캐릭터 생성: 작은 화면에서도 첫 카드부터 마지막 버튼까지 스크롤 가능 */
.cs-namewrap { display: flex; align-items: center; gap: 6px; min-width: 0; max-width: 100%; }
.cs-namewrap .cs-name { min-width: 0; flex: 1; }
.cs-namewrap .btn { flex-shrink: 0; min-width: 44px; min-height: 44px; }
@media (max-width: 600px) {
  #class-select .cs-inner { padding: max(16px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
  .cs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .cs-card { min-width: 0; min-height: 0; padding: 12px; align-items: center; text-align: center; }
  .cs-card img { position: static; order: -1; width: 100%; max-width: 100%; height: 160px; object-fit: contain; margin-bottom: 8px; flex-shrink: 0; }
  .cs-card .cs-ico { width: 32px; height: 32px; font-size: 16px; }
  .cs-card h3 { margin-top: 8px; }
  .cs-card p { max-width: 100%; margin-bottom: 12px; }
  .cs-stats { justify-content: center; gap: 5px; }
  .cs-namewrap { width: 100%; }
  .cs-name { font-size: 16px; width: 100%; }
  .cs-name-row > [data-start] { width: 100%; }
}
@media (max-width: 340px) {
  .cs-grid { grid-template-columns: minmax(0, 1fr); }
}

/* 운명 — 다섯 갈래 노드 보드 */
#panel.destiny-panel{width:min(1140px,96vw);background:#10121b}
.fate-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border:1px solid #bca47738;border-radius:14px;background:radial-gradient(ellipse at 80% 0%,#667c6030,transparent 65%),linear-gradient(125deg,#22212a,#111520);margin-bottom:12px}
.fate-eyebrow{font:10px/1.6 system-ui;letter-spacing:3px;color:#bcaa80}.fate-banner h2{font-size:21px;color:#efe2c8;margin:8px 0;letter-spacing:-.4px}.fate-banner p{font-size:12px;color:#999bad;line-height:1.7;margin:0}.fate-points{text-align:center;flex-shrink:0;min-width:100px;border-left:1px solid #ffffff16;padding-left:20px}.fate-points strong{display:block;font-size:40px;line-height:1.2;font-weight:500;color:#ecce88}.fate-points span,.fate-points small{display:block;color:#b7a780;font-size:11px}.fate-points small{margin-top:4px;color:#858899}.fate-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#9295a9;font-size:11px;margin:12px 0}.fate-toolbar .btn{font-size:11px}.fate-paths{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.fate-paths button{background:#171b27;color:#858a9c;border:1px solid #292f3d;border-radius:8px;padding:12px;cursor:pointer;display:flex;align-items:center;gap:8px;min-width:0}.fate-paths b{font-size:18px;color:var(--fate)}.fate-paths span{font-size:12px}.fate-paths small{margin-left:auto;font-size:10px}.fate-paths button.on{border-color:var(--fate);background:#242a36;color:#e4e7ef}.fate-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:start}.fate-board{border:1px solid #323344;border-radius:12px;overflow:hidden;background:#10131e;min-width:0}.fate-board-head{padding:10px 14px;display:flex;align-items:center;justify-content:space-between;background:#181c28;border-bottom:1px solid #2a3040;font-size:12px;color:#bab8c5}.fate-board-head .btn{font-size:10px;padding:5px 9px}.fate-map{height:min(55vh,570px);min-height:330px;overflow:auto;overscroll-behavior:contain;scrollbar-color:#4b4c62 #10131e;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.fate-canvas{position:relative;width:960px;height:730px;background-image:radial-gradient(#76839920 1px,transparent 1px),radial-gradient(ellipse at 50% 0%,#c5ab7820,transparent 50%);background-size:24px 24px,100% 100%}.fate-wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.fate-origin{position:absolute;left:480px;top:54px;transform:translate(-50%,-50%);text-align:center;color:#ead8a9}.fate-origin i{display:grid;place-items:center;width:54px;height:54px;margin:auto;border-radius:50%;border:1px solid #bb9d65;background:#25212a;box-shadow:0 0 30px #d5b36625;font-size:25px}.fate-origin span{display:block;font-size:10px;margin-top:5px}.fate-path-label{position:absolute;top:113px;transform:translateX(-50%);font-size:18px;letter-spacing:3px}.fate-path-label small{font-size:10px;letter-spacing:1px;color:#9299ad}.fate-node{position:absolute;transform:translate(-50%,-24px);width:86px;min-height:78px;background:none;border:0;padding:0;color:#81889a;cursor:pointer;text-align:center;font-family:inherit;z-index:2;outline-offset:2px}.fate-node-disc{width:44px;height:44px;display:grid;place-items:center;margin:2px auto 6px;border:1px solid #434b60;border-radius:50%;background:#171c29;color:#626c82;font-size:16px;transition:box-shadow .15s,background .15s}.fate-node.key .fate-node-disc{border-radius:11px;width:46px;height:46px}.fate-node.apex .fate-node-disc{border-radius:13px;border-width:2px;width:50px;height:50px}.fate-node.available .fate-node-disc{border-color:var(--fate);color:var(--fate);box-shadow:0 0 12px #ffffff06}.fate-node.learned .fate-node-disc{background:var(--fate);border-color:var(--fate);color:#111725;box-shadow:0 0 16px color-mix(in srgb,var(--fate) 30%,transparent)}.fate-node.selected .fate-node-disc{outline:2px solid #f6e6bf;outline-offset:4px}.fate-node-name{display:block;font-size:11px;white-space:nowrap;line-height:1.5}.fate-node.available,.fate-node.learned{color:#e4e4ef}.fate-cost{display:block;font-size:9px;color:#7d879d;line-height:1.5}.fate-node.learned .fate-cost{color:var(--fate)}.fate-node:hover .fate-node-disc{box-shadow:0 0 20px #ffffff25}.fate-legend{display:flex;gap:12px;padding:10px 12px;flex-wrap:wrap;font-size:9px;color:#8e96a9;border-top:1px solid #252d3e}.fate-legend span:first-child{color:#a8d9be}.fate-detail{padding:20px 18px;border:1px solid #343b4e;border-top:2px solid var(--fate);border-radius:12px;background:linear-gradient(160deg,#202533,#161a26);position:sticky;top:0}.fate-detail-tag{color:var(--fate);font-size:12px;display:flex;align-items:center;justify-content:space-between}.fate-detail-tag span{font-size:9px;color:#9b9eaf;border:1px solid #4a4e5d;border-radius:4px;padding:2px 6px}.fate-detail h3{color:#ede9e0;font-size:22px;margin:16px 0 8px;letter-spacing:-.8px}.fate-lore{color:#9599ac;font-size:11px;line-height:1.8}.fate-effects{list-style:none;padding:14px 0;margin:14px 0;border-block:1px solid #ffffff0c}.fate-effects li{color:#afddc9;font-size:12px;line-height:2}.fate-effects li.penalty{color:#ef9b9f}.fate-requires{font-size:10px;color:#929caf;line-height:1.8}.fate-requires>span{display:flex;justify-content:space-between;gap:8px;margin:8px 0}.fate-requires b{color:#d7d8df;font-weight:400;text-align:right}.fate-requires small{display:block;color:#c3a684;margin:10px 0}.fate-detail .btn{width:100%;margin-top:8px;font-size:11px}.fate-detail .fate-learn{border-color:var(--fate);color:var(--fate);background:#ffffff08}.fate-learn:disabled{opacity:.4;cursor:not-allowed}.fate-status{min-height:30px;color:#a3a7b8;font-size:10px;line-height:1.7;margin-bottom:0}.fate-summary{padding:18px 20px;margin-top:16px;background:#191e2a;border:1px solid #30364a;border-radius:10px}.fate-summary h3{font-size:13px;margin:0 0 12px;color:#d8d4c9}.fate-summary small{font-weight:400;color:#9299ac;font-size:10px;margin-left:8px}.fate-summary>div{display:flex;gap:8px;flex-wrap:wrap}.fate-summary>div span{border:1px solid #35423f;border-radius:5px;background:#243331;color:#b3cfc0;padding:5px 9px;font-size:10px}.fate-summary p,.fate-help p{font-size:11px;line-height:1.8;color:#9299aa}.fate-help{padding:15px 3px;color:#ada48e;font-size:12px}.fate-help summary{cursor:pointer}.fate-node:focus-visible,.fate-paths button:focus-visible{outline:2px solid #e9ce92;border-radius:5px}
@media(max-width:760px){#panel.destiny-panel{width:100%;height:94dvh}.fate-banner{padding:16px;gap:8px}.fate-banner h2{font-size:16px}.fate-banner p{font-size:10px}.fate-eyebrow{font-size:8px;letter-spacing:2px}.fate-points{min-width:76px;padding-left:10px}.fate-points strong{font-size:32px}.fate-points span{font-size:9px}.fate-paths{gap:5px}.fate-paths button{padding:8px 3px;flex-direction:column;gap:0}.fate-paths small{margin-left:0}.fate-paths span{font-size:10px}.fate-layout{grid-template-columns:minmax(0,1fr)}.fate-map{height:380px;min-height:0}.fate-detail{position:static;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:15px}.fate-detail-tag,.fate-detail h3,.fate-lore{grid-column:1/-1;margin:0}.fate-detail h3{font-size:20px}.fate-effects{margin:6px 0;padding:8px 0}.fate-requires{padding-top:8px}.fate-status{grid-column:1/-1;min-height:0}.fate-detail .btn{min-height:44px}.fate-summary{padding:14px}.fate-toolbar .btn{font-size:9px}.fate-toolbar{font-size:10px}.fate-legend{gap:6px;font-size:8px}}
/* 서버 연결·저장 상태: 한눈에 읽히는 상태 캡슐과 보호 안내 */
#cloud-state{position:fixed;top:max(9px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;box-sizing:border-box;width:max-content;max-width:min(520px,calc(100vw - 24px));min-height:34px;padding:6px 13px;border:1px solid #718b7180;border-radius:999px;background:linear-gradient(120deg,#111c18f2,#10151aee);box-shadow:0 7px 24px #0007,inset 0 1px #ffffff0b;backdrop-filter:blur(12px);color:#c8e0cc;font-size:11px;font-weight:600;line-height:1.4;z-index:95;pointer-events:none}
@media (min-width:901px){#cloud-state{top:auto;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));transform:none;max-width:min(240px,calc(100vw - 24px));z-index:16}body.panel-open #cloud-state{max-width:min(240px,calc(100vw - 704px))}}
.cloud-state-icon{position:relative;display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;color:#91c5a1}.cloud-state-icon>i{font-size:13px}.cloud-state-spinner{position:absolute;inset:-2px;border:1.5px solid #d5c18b55;border-top-color:#efd99b;border-radius:50%;animation:cloudStateSpin .85s linear infinite}.cloud-state-copy{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cloud-state[data-phase=loading],#cloud-state[data-phase=transaction],#cloud-state[data-phase=saving]{border-color:#b59a5d88;color:#f0dba6}.cloud-state-icon .cloud-state-spinner[hidden]{display:none}
#cloud-state[data-phase=ready],#cloud-state[data-phase=saved]{border-color:#628c7080;color:#c6e5c8}
#cloud-state[data-phase=error],#cloud-state[data-phase=conflict]{color:#ffd0b7;border-color:#b77d6688;background:linear-gradient(120deg,#291c19f5,#17171af2)}#cloud-state[data-phase=error] .cloud-state-icon,#cloud-state[data-phase=conflict] .cloud-state-icon{color:#ffad8f}
@keyframes cloudStateSpin{to{transform:rotate(360deg)}}
#cloud-guard{position:fixed;inset:0;z-index:10050;background:radial-gradient(ellipse at 50% 43%,#18231fd9,#050809eb 72%);display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px)}
#cloud-guard[hidden]{display:none}
#cloud-guard>div{position:relative;overflow:hidden;max-width:480px;width:100%;box-sizing:border-box;background:radial-gradient(ellipse at 100% 0,#c9a95b13,transparent 48%),linear-gradient(145deg,#1a211e,#101514);border:1px solid #927b4f99;border-radius:18px;padding:28px;color:#e7e1d3;box-shadow:0 25px 90px #000b,inset 0 1px #ffffff10}
#cloud-guard>div:before{content:'';position:absolute;top:0;left:18px;right:18px;height:2px;background:linear-gradient(90deg,transparent,#dbc486,transparent);opacity:.75}
#cloud-guard h2{display:flex;align-items:center;gap:10px;font:22px/1.4 Georgia,serif;color:#f0dfba;margin:0 0 15px}#cloud-guard h2:before{content:'!';display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:1px solid #c49d6277;border-radius:50%;color:#e1bd7e;font:600 14px system-ui;background:#c49d6214}#cloud-guard[data-phase=transaction] h2:before,#cloud-guard[data-phase=saving] h2:before{content:'↻';color:#c9d9b4;border-color:#82966b77;background:#82966b17;animation:cloudStateSpin .9s linear infinite}
#cloud-guard p{font-size:12px;line-height:1.8;color:#b6bfaf}#cloud-guard .btn{width:100%;margin-top:14px;min-height:46px;border-radius:9px}
/* Connection lease guard: calm, explicit, and visually distinct from an error toast. */
#play-access-guard{max-width:none;width:min(492px,calc(100vw - 28px));max-height:calc(100dvh - 28px);margin:auto;padding:0;border:0;border-radius:21px;background:transparent;color:#eee8d9;overflow:visible;font:14px/1.7 system-ui,-apple-system,'Segoe UI',sans-serif}
#play-access-guard::backdrop{background:radial-gradient(ellipse at 50% 42%,#18221ed9,#030708ed 72%);backdrop-filter:blur(9px)}
.play-access-card{position:relative;isolation:isolate;box-sizing:border-box;max-height:calc(100dvh - 28px);overflow:auto;padding:clamp(21px,4vw,34px);border:1px solid #94815caa;border-radius:21px;background:radial-gradient(ellipse at 92% 0,#c5a65a18,transparent 45%),linear-gradient(145deg,#1b2420 0%,#121819 54%,#141619 100%);box-shadow:0 28px 100px #000c,inset 0 1px #ffffff12}
.play-access-card:before{content:'';position:absolute;z-index:-1;left:24px;right:24px;top:0;height:2px;background:linear-gradient(90deg,transparent,#e2c982,#8eb6a1,transparent);opacity:.75}
.play-access-header{display:flex;align-items:center;gap:17px;margin-bottom:18px}.play-access-seal{position:relative;display:grid;place-items:center;flex:0 0 62px;width:62px;height:62px;border:1px solid #b79e6c99;border-radius:50%;background:radial-gradient(circle,#d6bd7824,#111a17 72%);color:#e2c983;box-shadow:0 0 28px #ceb36b15,inset 0 0 14px #e4d18b0b}.play-access-seal>i{font-size:23px}.play-access-spinner{position:absolute;inset:-5px;border:1.5px solid #c6ad7540;border-top-color:#eed791;border-right-color:#98c4ad;border-radius:50%;opacity:0}.play-access-heading{min-width:0}.play-access-eyebrow{display:block;margin-bottom:4px;color:#b6a879;font-size:9px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.play-access-header h2{margin:0;color:#f1e5c8;font:600 clamp(19px,4vw,24px)/1.35 Georgia,'Noto Serif KR',serif;letter-spacing:-.02em}.play-access-message{margin:0 0 16px;color:#d1d4c7;font-size:13px;line-height:1.85;overflow-wrap:anywhere}.play-access-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;padding:11px 12px;border:1px solid #71856c45;border-radius:10px;background:#111b18a8;color:#aebba9;font-size:11px;line-height:1.75}.play-access-note>i{flex:0 0 15px;margin-top:2px;color:#c8b274}.play-access-progress{display:flex;align-items:center;gap:9px;margin:0;color:#e7d59e;font-size:11px;font-weight:600;line-height:1.6}.play-access-progress-mark{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#8ba98d;box-shadow:0 0 0 4px #8ba98d18}.play-access-progress-text{min-width:0}.play-access-meter{position:relative;height:3px;margin:10px 0 8px;overflow:hidden;border-radius:999px;background:#344139}.play-access-meter>span{display:block;width:34%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#879b6c,#e2cc8d,#9ac1a7);transform:translateX(-120%)}.play-access-detail{margin:0 0 11px;color:#909c8e;font-size:10px;line-height:1.65;overflow-wrap:anywhere}.play-access-help{margin:0 0 12px;padding:10px 12px;border-left:2px solid #d5ad71;border-radius:0 7px 7px 0;background:#4b33241f;color:#e0bd92;font-size:11px;line-height:1.7}.play-access-help[hidden]{display:none!important}.play-access-button{width:100%;min-height:47px;margin-top:8px;padding:11px 17px;border:1px solid #e4cc8b;border-radius:9px;background:linear-gradient(110deg,#d3b873,#b49a62);color:#171912;font-size:12px;font-weight:800;letter-spacing:.02em;box-shadow:0 7px 20px #0003}.play-access-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.play-access-button:disabled{opacity:.68;cursor:wait;filter:saturate(.8)}.play-access-button:focus-visible{outline:2px solid #f3dfa9;outline-offset:3px}
#play-access-guard[data-state=checking] .play-access-spinner{opacity:1;animation:playAccessSpin .95s linear infinite}#play-access-guard[data-state=checking] .play-access-progress-mark{background:#e1cb8d;box-shadow:0 0 0 4px #e1cb8d18;animation:playAccessPulse 1.6s ease-in-out infinite}#play-access-guard[data-state=checking] .play-access-meter>span{animation:playAccessSweep 1.55s ease-in-out infinite}
#play-access-guard[data-kind=competing] .play-access-seal{border-color:#d5a977;color:#ecc58f;background:radial-gradient(circle,#d6a86d24,#171713 72%)}#play-access-guard[data-kind=terminal] .play-access-seal{border-color:#b27c6788;color:#e3a58d;background:radial-gradient(circle,#b56f531f,#171514 72%)}#play-access-guard[data-kind=terminal] .play-access-progress-mark{background:#d49478;box-shadow:0 0 0 4px #d4947818}
@keyframes playAccessSpin{to{transform:rotate(360deg)}}@keyframes playAccessPulse{50%{opacity:.5;box-shadow:0 0 0 7px #e1cb8d08}}@keyframes playAccessSweep{0%{transform:translateX(-120%)}50%{transform:translateX(190%)}100%{transform:translateX(390%)}}
@media(max-width:480px){#play-access-guard{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.play-access-card{max-height:calc(100dvh - 24px);padding:22px 18px;border-radius:17px}.play-access-header{gap:13px}.play-access-seal{flex-basis:52px;width:52px;height:52px}.play-access-seal>i{font-size:20px}.play-access-message{font-size:12px}.play-access-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.cloud-state-spinner,#play-access-guard[data-state=checking] .play-access-spinner,#play-access-guard[data-state=checking] .play-access-progress-mark,#play-access-guard[data-state=checking] .play-access-meter>span{animation:none!important}.play-access-meter>span{transform:translateX(0)!important}}
/* 남은 스킬 효과 및 보호막 — 영구 능력치와 전투 중 버프를 구분합니다. */
#hud-skill-status{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px;max-width:230px;font-size:9px;line-height:1.5;pointer-events:none}
#hud-skill-status[hidden]{display:none}#hud-skill-status span{padding:1px 5px;border-radius:4px;background:#202a39d9;color:#d8e2ef;border:1px solid #627a9a55}#hud-skill-status .shield{color:#8fdbff;border-color:#4ea3b780}#hud-skill-status .reload{color:#f0d58e;border-color:#b48b47aa;background:#382c19e8;box-shadow:0 0 7px #b8863b33}
.fate-presets{padding:18px;border:1px solid var(--line);border-radius:12px;margin:14px 0;background:#141820}.fate-presets h3{margin:0 0 12px;font-size:15px}.fate-presets h3 small{display:block;color:#9ba7b5;font-size:11px;font-weight:400;margin-top:5px}.fate-presets>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fate-presets article{display:flex;flex-wrap:wrap;gap:6px;padding:12px;background:#1c2230;border-radius:8px;min-width:0}.fate-presets label,.fate-presets article small{width:100%;font-size:11px;color:#b1becc}.fate-presets input{width:100%;box-sizing:border-box;margin:5px 0;background:#10151d;color:#e6e9ee;border:1px solid #4b596b;border-radius:5px;padding:8px}.fate-presets .btn{font-size:11px;flex:1}.fate-behavior{padding:12px;background:#20332b66;border-left:2px solid var(--fate);font-size:12px;line-height:1.8}.fate-toolbar{flex-wrap:wrap;gap:8px}
@media(max-width:600px){.fate-presets>div{grid-template-columns:1fr}.fate-presets article{padding:10px}.fate-presets .btn{min-height:40px}}

/* 경매 카드의 상세/거래 영역은 겹치지 않습니다. */
.ah-card { flex-wrap: wrap; }
.ah-card .row-btns { flex-wrap: wrap; }
.listbox input { max-width: 100%; min-width: 0; }

/* 개인 필드 사건 — 전투 입력을 가리지 않는 소형 상태 카드 */
#field-event-hud{position:absolute;top:142px;left:12px;width:min(290px,calc(100% - 24px));z-index:18;padding:10px 12px;border:1px solid #b08c4e66;border-radius:10px;background:#14110ee8;color:#e7dcc4;font-size:11px;pointer-events:auto}
#field-event-hud[hidden]{display:none}.fe-title{display:flex;align-items:center;gap:6px;color:#efcc87;margin-bottom:5px}#fe-time{margin-left:auto}.fe-bar{height:4px;background:#383023;border-radius:3px;margin:7px 0}.fe-bar>div{height:100%;background:#d4b264;max-width:100%}.fe-actions{display:flex;gap:6px;margin:5px 0}#fe-note{display:block;font-size:10px;color:#ac9d84;line-height:1.4}
@media(max-width:700px){#field-event-hud{top:134px;width:250px;font-size:10px;padding:8px 10px}#field-event-hud .btn{font-size:10px}}

#instance-hud.bounty{width:min(440px,92vw)}#instance-hud.bounty .inst-card{min-width:0;width:100%;box-sizing:border-box}#instance-hud.bounty .inst-row{gap:12px;align-items:flex-start}#instance-hud.bounty #inst-wave{min-width:0;flex:1;overflow-wrap:anywhere}#instance-hud.bounty #inst-timer{flex-shrink:0}

.tower-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.tower-grid .card{margin:0;min-width:0}.tower-grid p{line-height:1.6}

/* 보물각 — 먹빛과 금박, 분류/가격/구매 상태를 구분 */
.treasure-shop{--shop-gold:#d9b77b;color:#ded8c9}
.treasure-hero{position:relative;isolation:isolate;overflow:hidden;padding:26px 24px 20px;border:1px solid #8e724c66;border-radius:16px;background:linear-gradient(90deg,#141410f5 0%,#191812dc 55%,#16120e55),url('../assets/ui/banner_shop.jpg') center/cover}
.treasure-eyebrow{font-size:10px;font-weight:800;letter-spacing:3px;color:var(--shop-gold)}
.treasure-hero h2{font-size:26px;letter-spacing:-1px;margin:12px 0 8px;color:#fff0cf;position:relative}
.treasure-hero p{font-size:12px;color:#bcbaa9;margin:0 0 24px;position:relative}
.treasure-seal{position:absolute;right:22px;top:17px;font-family:serif;font-size:65px;border:1px solid #d9b77b55;color:#d9b77b45;width:88px;height:98px;display:grid;place-items:center;transform:rotate(8deg);z-index:-1;border-radius:3px}
.treasure-wallet{display:flex;flex-wrap:wrap;gap:10px 22px;border-top:1px solid #d9b77b33;padding-top:14px;font-size:11px;color:#aaa99d}.treasure-wallet b{color:#f8e9c7;margin-left:7px;font-size:14px}.treasure-wallet i{color:#d9b77b;margin-right:5px}
.treasure-shop #shop-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:16px 0 12px;padding:5px;background:#0a0d11;border:1px solid #ffffff12;border-radius:12px;overflow:visible}
.treasure-shop .tab{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px 3px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:11px;color:#a39e93;white-space:nowrap}.treasure-shop .tab i{font-size:16px}.treasure-shop .tab.on{background:linear-gradient(145deg,#3b3021,#211d17);border-color:#a0835055;color:#f0cf96}
.treasure-notice{display:flex;gap:10px;align-items:center;padding:12px 14px;background:#b6955010;border:1px solid #b6955025;border-radius:10px;color:#a6a295;font-size:11px;line-height:1.7}.treasure-notice i{color:#c2a575}.treasure-notice b{color:#dfc497;font-weight:600}
.treasure-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 2px 14px}.treasure-heading h3{font-size:17px;margin:0;color:#f0e7d5}.treasure-heading span{font-size:10px;letter-spacing:1px;color:#a99c83}
.treasure-shop .packs{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.treasure-shop .packs2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.treasure-shop .pack,.treasure-shop .pack2{display:flex;flex-direction:column;gap:10px;padding:20px 17px;border:1px solid #75644344;border-radius:12px;background:radial-gradient(ellipse at top right,#62523320,transparent 65%),linear-gradient(145deg,#1b1b19,#111315);overflow:hidden;transition:border-color .2s}
.treasure-shop .pack:hover,.treasure-shop .pack2:hover{border-color:#c7a16488}.treasure-shop .pack2.first{border-color:#b99a5b99;background:radial-gradient(ellipse at top right,#ab81342b,transparent 80%),#181816}
.treasure-shop .pack2>.fa-solid{color:#e3bc78;font-size:28px;margin:4px 0}.treasure-shop .pack2 h4{font-size:16px;color:#eadfc8;line-height:1.5;margin:0}.treasure-shop .pack2 h4 i{color:#d5b77c}.treasure-shop .dim{font-size:11px;color:#aaa79d;line-height:1.7;margin:0}.treasure-shop .pack2 ul{padding-left:16px;margin:0 0 8px;font-size:12px;line-height:1.9;color:#c8c3b7}
.treasure-shop .p-tag,.treasure-shop .p-badge{position:static;transform:none;align-self:flex-start;padding:4px 9px;font-size:9px;letter-spacing:.6px;border:1px solid #c6a26144;border-radius:4px;background:#b8974920;color:#e0c38f}.treasure-shop .p-badge{align-self:center}
.treasure-shop .p-price{font-size:21px;font-weight:800;color:#f0e4cc;margin: auto 0 0;padding-top:14px}.treasure-shop .p-dia{color:#e7e4da;font-size:19px;padding:10px 0}.treasure-shop .p-unit{font-size:10px;color:#8d918f}.treasure-shop .p-best{display:block;font-size:10px;font-weight:400;color:#c3ad7b;margin-top:6px}
.treasure-shop .btn.lock{background:#202220;border:1px solid #73746955;color:#aaa99e;font-size:12px;box-shadow:none;width:100%;padding:11px}.treasure-shop .btn.lock:hover{background:#2d2d27;color:#eadfc8}.treasure-shop .row-btns{margin:0;gap:6px}.treasure-shop .row-btns .btn{flex:1;min-height:36px}.treasure-footnote{text-align:center;font-size:10px;color:#86867c;margin:24px 0 8px;line-height:1.7}
@media(max-width:480px){.treasure-hero{padding:22px 16px 16px}.treasure-hero h2{font-size:23px}.treasure-hero p{font-size:10px}.treasure-seal{right:10px;opacity:.7}.treasure-wallet{gap:8px 14px}.treasure-shop .packs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.treasure-shop .packs2{grid-template-columns:minmax(0,1fr)}.treasure-shop .pack{padding:16px 10px}.treasure-shop .pack .p-price{font-size:18px}.treasure-shop .pack .p-dia{font-size:15px}.treasure-shop .tab{font-size:9px}.treasure-notice{padding:10px;font-size:10px}}

/* 돌발사건 안내는 내비게이션보다 아래, PC에서는 미니맵 아래에 배치합니다. */
#field-event-hud{left:auto;right:12px;top:158px;z-index:12;max-height:max(80px,calc(100dvh - 340px));overflow-y:auto;overscroll-behavior:contain;pointer-events:auto}
.panel-open #field-event-hud,.panel-open #field-event-hud *{visibility:hidden;pointer-events:none}
@media(max-width:900px){#field-event-hud{left:12px;right:auto;top:134px;width:min(250px,calc(100% - 24px));max-height:max(70px,calc(100dvh - 320px))}}

/* PC 메뉴는 플레이어/지역/서버보스 안내의 실제 높이 아래에 배치합니다. */
@media(min-width:901px){
  #hud{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:max-content minmax(0,1fr);row-gap:12px;padding:max(8px,env(safe-area-inset-top)) 10px calc(140px + env(safe-area-inset-bottom));box-sizing:border-box}
  #hud>.hud-corner.tl{position:relative;top:auto;left:auto;grid-row:1;justify-self:start;width:fit-content;min-width:0}
  #hud>.rail{position:relative;top:auto;left:auto;transform:none;grid-row:2;align-self:start;justify-self:start;max-height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#806a40 #15120e}
  #hud>.rail .nav-btn{flex-shrink:0}
}

/* 직업별 아바타 의상실 */
.avatar-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 18px}.avatar-kicker{font-size:10px;color:#c7ac76;letter-spacing:3px}.avatar-intro h3{margin:7px 0;font-size:23px;color:#eee0c4}.avatar-intro p{font-size:11px;color:#a9a397;margin:0}.avatar-class-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}.avatar-class-tabs .btn{flex:1;white-space:nowrap;font-size:11px}.avatar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.avatar-card{overflow:hidden;border:1px solid #75644366;border-radius:12px;background:#151617}.avatar-card.equipped{border-color:#d0af67;box-shadow:0 0 0 1px #d0af6725}.avatar-art{height:240px;position:relative;background:radial-gradient(ellipse at 50% 70%,#745b3844,transparent 70%),linear-gradient(#25221b,#111516)}.avatar-art.summer{background:radial-gradient(ellipse at 50% 70%,#347c7744,transparent 70%),linear-gradient(#142c31,#111516)}.avatar-art.battle{background:radial-gradient(ellipse at 50% 70%,#475b8044,transparent 70%),linear-gradient(#202431,#111516)}.avatar-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 8px #0008);padding-top:18px}.avatar-art>span{position:absolute;top:10px;left:10px;font-size:9px;color:#d9c495;z-index:1;letter-spacing:1px}.avatar-copy{padding:14px}.avatar-copy h4{font-size:15px;margin:0 0 6px;color:#efe1c6}.avatar-copy p{font-size:10px;color:#99978e;margin:0 0 14px}.avatar-copy strong{display:block;font-size:15px;color:#e5cfa7;margin-bottom:12px}.avatar-copy .btn{width:100%;font-size:11px;padding:10px 4px}.avatar-copy .btn:disabled{opacity:.5;cursor:default}
@media(max-width:600px){.avatar-grid{grid-template-columns:1fr}.avatar-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.avatar-art{height:245px}.avatar-copy{display:flex;flex-direction:column;justify-content:center;padding:12px}.avatar-intro h3{font-size:20px}.avatar-class-tabs .btn{flex:1 0 29%;}.avatar-copy h4{font-size:16px}}
/* 보석 상점 추가: 분류 버튼을 같은 너비로 유지 */
.treasure-shop #shop-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:480px){.treasure-shop #shop-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.treasure-shop #shop-tabs .tab{flex-direction:row;padding:10px 4px}}
/* 좌측 메뉴와 대화 미리보기 사이 안전 여백 */
@media(min-width:901px){#chat-mini{left:var(--chat-left,176px);max-width:calc(100vw - var(--chat-left,176px) - 24px)}}
.bestiary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bestiary-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #514838;border-radius:12px;background:#171715}.bestiary-card.done{border-color:#c9a45e}.bestiary-card img{width:90px;height:110px;object-fit:contain;filter:grayscale(.8);opacity:.7}.bestiary-card.done img{filter:none;opacity:1}.bestiary-card>div{min-width:0;flex:1}.bestiary-card h4{margin:0 0 8px}.bestiary-card progress{display:block;width:100%;margin-top:10px;accent-color:#cfb574}.bestiary-card p{font-size:11px;color:#aca28c}@media(max-width:600px){.bestiary-grid{grid-template-columns:1fr}}

/* 무공 숙련: 일반 능력치 srow와 분리한 전용 카드 */
.martial-school{margin:18px 0 16px;border:1px solid #675336;border-radius:16px;background:linear-gradient(145deg,#211c16,#11100f 55%);padding:18px;color:#e9dfce;min-width:0}
.martial-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid #574731}
.martial-eyebrow{font-size:11px;letter-spacing:.12em;color:#cead72}.martial-heading h3{margin:5px 0 0;font-size:22px;color:#f5e5c4}
.martial-rank{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.martial-rank strong{font-size:36px;line-height:1;color:#f0c879}.martial-rank span{font-size:12px;color:#c1b5a0}
.martial-progress{padding:16px 0}.martial-progress-label{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:9px}.martial-progress-label span{color:#d9bd86;font-variant-numeric:tabular-nums}
.martial-school progress{display:block;width:100%;height:9px;appearance:none;border:0;border-radius:10px;overflow:hidden;background:#34302a;accent-color:#ddba71}.martial-school progress::-webkit-progress-bar{background:#34302a;border-radius:10px}.martial-school progress::-webkit-progress-value{background:linear-gradient(90deg,#957141,#efcb81);border-radius:10px}.martial-school progress::-moz-progress-bar{background:#ddba71;border-radius:10px}
.martial-school p{font-size:13px;line-height:1.75;color:#d0c7ba;margin:10px 0}.martial-school small{font-size:11px;line-height:1.6;color:#b7ac9a}
.martial-section-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:4px 0 10px}.martial-section-head h4{margin:0;font-size:15px;color:#f0e4cd}.martial-section-head>span{font-size:12px;color:#cfb47e}
.martial-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.martial-form{border:1px solid #4c453a;background:#191714;border-radius:11px;padding:13px;display:flex;flex-direction:column;min-width:0}.martial-form.is-selected{border-color:#c99f57;background:linear-gradient(135deg,#352a1b,#211c15);box-shadow:inset 3px 0 #d2ab65}.martial-form.is-locked{border-style:dashed;background:#151514}.martial-form-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}.martial-form-title>b{font-size:14px;color:#f2e5cd}.martial-form p{flex:1;margin:9px 0 14px;font-size:12px}.martial-form-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.martial-form-foot>span{font-size:11px;color:#c4b79f}
.martial-badge{display:inline-flex;border:1px solid #555044;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:600;line-height:1.3;color:#c7bdad;background:#24221e;white-space:nowrap}.martial-badge.is-done{color:#f6d998;border-color:#9b7b45;background:#40311b}
.martial-school .martial-note{padding:12px;border:1px solid #3c3831;border-radius:8px;background:#161513;font-size:11px;color:#bdb3a3;margin:12px 0 20px}.martial-note i{margin-right:5px;color:#cfb47e}
.martial-path{display:grid;gap:12px}.martial-step{border:1px solid #494034;border-radius:12px;padding:15px;background:#181613;min-width:0}.martial-step>header{display:flex;align-items:center;gap:9px;margin-bottom:12px;flex-wrap:wrap}.martial-step h4{margin:0;flex:1;font-size:15px;color:#eee2ca}.martial-step-num{display:grid;place-items:center;width:27px;height:27px;border:1px solid #645132;border-radius:7px;color:#d8b775;font-size:11px;font-weight:bold;background:#2c251b}.martial-counter{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0 9px;font-size:12px}.martial-counter strong{font-size:23px;color:#f0d297}.martial-counter small{font-size:12px;font-weight:normal}
.martial-school .btn{width:100%;min-height:42px;margin-top:14px;white-space:normal;line-height:1.5;border-color:#826339;background:#35291b;color:#ffe5b2}.martial-school .mini{min-height:34px;min-width:60px;border-color:#796442;color:#f1d6a4}.martial-school button:disabled{opacity:1;color:#a79c8a;background:#25221d;border-color:#494136;cursor:not-allowed}.martial-school button:focus-visible{outline:2px solid #f4ce86;outline-offset:3px}.martial-form.is-selected button:disabled{color:#e8c785;border-color:#81653a;background:#352a1b}
.martial-tags{display:flex;flex-wrap:wrap;gap:6px}.martial-tags span{font-size:11px;color:#cbbfa9;border:1px solid #484033;border-radius:5px;padding:4px 7px;background:#242019}.martial-school .martial-result{font-size:11px;border-top:1px solid #463d31;padding-top:10px;color:#c3b7a4}.martial-school .martial-success{color:#bcd3b0}
.martial-ougi{border-color:#60506b;background:linear-gradient(145deg,#241d2c,#19161c)}.martial-ougi h5{font-size:19px;color:#ddc3f0;margin:4px 0 8px}.martial-ougi .martial-step-num{border-color:#746081;color:#d5b8ea;background:#34273e}.martial-requirements{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.martial-requirements li{display:flex;align-items:center;gap:6px;font-size:11px;background:#201c24;border:1px solid #4a4052;border-radius:6px;padding:8px;color:#bbafc4}.martial-requirements li>span{margin-left:auto;font-size:10px}.martial-requirements li.is-done{color:#d6edc8;border-color:#526044}.martial-requirements i{font-size:10px}
@media(max-width:480px){.martial-school{padding:13px;border-radius:12px}.martial-heading h3{font-size:20px}.martial-rank strong{font-size:30px}.martial-forms{grid-template-columns:1fr}.martial-form{padding:12px}.martial-form p{margin-bottom:10px}.martial-step{padding:12px}.martial-requirements{grid-template-columns:1fr}.martial-section-head>span{font-size:11px}.martial-progress-label{flex-wrap:wrap}}
#panel .martial-heading{padding:0 0 16px;border-bottom:1px solid #574731;justify-content:space-between}
#panel .martial-step>header{padding:0;border:0;justify-content:flex-start}

/* 마경: 배경 원화 + 핵심 정보, 세부 수치는 접힌 안내로 분리 */
.dungeon-intro{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:7px 2px 16px}.dungeon-eyebrow{color:#bd9d65;font-size:11px;letter-spacing:.12em}.dungeon-intro h3{font-size:22px;color:#f1e0be;margin:5px 0 0}.dungeon-intro>p{width:100%;margin:0;color:#bdb19c;font-size:12px;line-height:1.6}.dungeon-ticket{font-size:12px;color:#e5c78c;border:1px solid #5b4930;padding:8px 10px;border-radius:8px;background:#251e15}.dungeon-ticket i{margin-right:5px}
.dungeon-gallery{display:grid;gap:18px}.dungeon-card{border:1px solid #574832;border-radius:14px;overflow:hidden;background:#171410;min-width:0}.dungeon-cover{position:relative;height:220px;background:#211b16;overflow:hidden}.dungeon-cover>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.dungeon-card:hover .dungeon-cover>img{transform:scale(1.025)}.dungeon-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,7,.35),transparent 28%,rgba(8,7,7,.4) 52%,#14110fed 100%)}.dungeon-cover-top{position:absolute;top:14px;left:15px;right:15px;display:flex;justify-content:space-between;gap:8px}.dungeon-kind,.dungeon-level{font-size:11px;border:1px solid #9a805467;border-radius:5px;padding:5px 9px;background:#100e0cce;color:#f1d9af;backdrop-filter:blur(4px)}.dungeon-level{color:#eee3d1}.dungeon-cover-title{position:absolute;left:18px;right:18px;bottom:17px}.dungeon-cover-title h3{font-size:23px;line-height:1.35;color:#fff0d6;margin:0 0 7px;text-shadow:0 2px 10px #000}.dungeon-cover-title p{font-size:12px;line-height:1.7;color:#e2d7c5;margin:0;text-shadow:0 1px 6px #000}.dungeon-card-body{padding:14px 16px}.dungeon-status{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;font-size:12px;color:#bdb19f}.dungeon-status b{color:#f4d79b;font-size:15px;font-variant-numeric:tabular-nums}.dungeon-status .is-empty,.dungeon-status .is-empty b{color:#dcab91}.dungeon-status .dungeon-cleared{color:#b6caa4;font-size:11px}.dungeon-card .dungeon-requirement{margin:11px 0 0;padding:9px 11px;background:#302219;border:1px solid #654831;border-radius:7px;color:#e4bd98;font-size:12px;line-height:1.7}.dungeon-requirement i{margin-right:5px}.dungeon-rule{font-size:11px;line-height:1.6;margin:10px 0 0;color:#c0ad90}.dungeon-actions{display:grid;grid-template-columns:1.25fr 1fr 1.15fr;gap:8px;margin-top:14px}.dungeon-actions>.btn{margin:0;min-height:42px;padding:8px 6px;font-size:12px;white-space:normal;line-height:1.5}.dungeon-actions>.btn:disabled{opacity:1;background:#24211c;border-color:#454036;color:#9f9687;cursor:not-allowed}.dungeon-actions>.btn:focus-visible,.dungeon-details>summary:focus-visible{outline:2px solid #e1bd78;outline-offset:3px}.dungeon-card.is-abyss{border-color:#796180;background:#1b161e}.is-abyss .dungeon-kind{background:#38223cda;border-color:#a27ea1;color:#f1c6ed}.is-abyss .dungeon-actions{grid-template-columns:1fr}.is-abyss .dungeon-rule{color:#cbaad7}.dungeon-details{margin-top:14px;border-top:1px solid #4c4030}.dungeon-details>summary{padding:12px 0 2px;color:#c9b898;font-size:12px;cursor:pointer;min-height:32px}.dungeon-details[open]>summary{color:#efd49e}.dungeon-detail-content{padding:8px 0 2px}.dungeon-detail-content dl{margin:0}.dungeon-detail-content dl>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ffffff0a;padding:7px 0;font-size:12px}.dungeon-detail-content dt{color:#af9f87;flex-shrink:0}.dungeon-detail-content dd{margin:0;text-align:right;color:#e2d3ba;overflow-wrap:anywhere}.dungeon-detail-content p{font-size:11px;line-height:1.8;color:#bdb09b;margin:10px 0 0}
@media(max-width:480px){.dungeon-gallery{gap:14px}.dungeon-cover{height:198px}.dungeon-cover-title{left:14px;right:14px;bottom:14px}.dungeon-cover-title h3{font-size:20px}.dungeon-cover-title p{font-size:11px}.dungeon-cover-top{left:12px;right:12px;top:12px}.dungeon-card-body{padding:12px}.dungeon-status{gap:7px 12px}.dungeon-actions{gap:6px}.dungeon-actions>.btn{font-size:11px}.dungeon-intro h3{font-size:20px}.dungeon-detail-content dl>div{font-size:11px}}
@media(prefers-reduced-motion:reduce){.dungeon-cover>img{transition:none}.dungeon-card:hover .dungeon-cover>img{transform:none}}

/* 전투 도크: 회복 영약 / 자동사냥 상태 토글 */
.side-btn.combat-action{position:relative;isolation:isolate;flex:0 0 70px;width:70px;height:88px;padding:9px 4px 7px;border-radius:16px;gap:3px;border:1px solid #6d5b3d;background:linear-gradient(160deg,#332b20,#15120e 72%);box-shadow:inset 0 1px #fff2,0 5px 18px #0007;color:#d0b585;touch-action:manipulation;transition:background .18s,border-color .18s,box-shadow .18s,transform .12s;overflow:hidden}
.combat-action::before{content:'';position:absolute;inset:3px;border:1px solid #ffffff0b;border-radius:12px;pointer-events:none;z-index:-1}.combat-action .combat-action-icon{position:relative;display:grid;place-items:center;width:30px;height:29px;font-size:24px;color:inherit;filter:drop-shadow(0 2px 3px #0008)}.combat-action .combat-action-label{font-size:11px;font-weight:800;color:#f1e1c3;line-height:1.25;white-space:nowrap}.combat-action .combat-action-state{font-size:9px;line-height:1.3;color:#baab92;white-space:nowrap;font-variant-numeric:tabular-nums}.combat-action .hunt-switch{display:block;position:relative;width:24px;height:10px;border-radius:20px;background:#100e0b;border:1px solid #65553b;margin-top:1px}.combat-action .hunt-switch>span{position:absolute;top:1px;left:2px;width:6px;height:6px;border-radius:50%;background:#968773;transition:transform .18s,background .18s}.hunt-action.is-on{background:linear-gradient(160deg,#70532b,#342412 75%);border-color:#c6a15d;box-shadow:inset 0 1px #ffe1a24d,0 0 18px #c9973c24,0 5px 16px #0006;color:#ffe0a1}.hunt-action.is-on .combat-action-state{color:#f3d494}.hunt-action.is-on .hunt-switch{border-color:#b8944f;background:#4c381c}.hunt-action.is-on .hunt-switch>span{transform:translateX(12px);background:#ffe2a2;box-shadow:0 0 4px #fbd18066}.hunt-action.is-paused .combat-action-state{color:#d2bddf}
.side-btn.combat-action.potion-action{background:linear-gradient(155deg,#55212c,#251019 80%);border-color:#9a4859;color:#f497ab;box-shadow:inset 0 1px #ffc5ce30,0 5px 18px #0007}.potion-action .combat-action-label{color:#ffe0e6}.potion-action .combat-action-state{color:#e0aeb8}.potion-action .potion-cross{position:absolute;right:-4px;top:-2px;font-size:15px;font-weight:900;color:#fff3f5;text-shadow:0 1px 5px #2e0910}.potion-action.is-urgent{border-color:#ffc0cd;box-shadow:0 0 0 2px #dc597240,0 0 22px #e9557840,inset 0 0 14px #cf45672b}.combat-action:hover:not(:disabled){filter:brightness(1.15)}.combat-action:active:not(:disabled){transform:translateY(2px) scale(.96)}.combat-action:focus-visible{outline:2px solid #ffe1a1;outline-offset:4px}.side-btn.combat-action:disabled{cursor:not-allowed;filter:saturate(.35);border-color:#5c4b47;background:linear-gradient(150deg,#302624,#1a1615);box-shadow:inset 0 1px #ffffff0b;color:#9f8884}.combat-action:disabled .combat-action-label{color:#beaaa5}.combat-action:disabled .combat-action-state{color:#b9a49e}
@media(max-width:700px){.hud-bottom{max-width:calc(100vw - 16px);gap:6px;align-items:center}.side-btn.combat-action{flex:0 0 52px;width:52px;height:78px;border-radius:12px;padding:7px 3px 6px}.combat-action .combat-action-label{font-size:9px}.combat-action .combat-action-state{font-size:8px}#skill-dock{display:grid;grid-template-columns:repeat(4,40px);gap:4px;padding:5px;flex-shrink:0}.skill-btn{width:40px;height:40px;min-width:0;border-radius:8px;font-size:15px}.skill-btn img.ico{width:26px;height:26px}.skill-btn .knum{top:1px;left:3px;font-size:8px}.skill-btn .cdnum{font-size:10px}.skill-btn .name{bottom:1px;font-size:7px}.combat-action .combat-action-icon{font-size:21px}}
@media(min-width:701px) and (max-width:900px){.hud-bottom{max-width:calc(100vw - 16px);gap:6px;align-items:center}.side-btn.combat-action{flex:0 0 58px;width:58px;height:82px;border-radius:13px}#skill-dock{display:grid;grid-template-columns:repeat(4,42px);gap:5px;padding:5px;flex-shrink:0}.skill-btn{width:42px;height:42px;min-width:0}.skill-btn img.ico{width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){.side-btn.combat-action,.combat-action .hunt-switch>span{transition:none}}

#growth-goal-chip{display:flex;align-items:center;gap:7px;max-width:280px;padding:7px 10px;border:1px solid #826a3d;border-radius:9px;background:linear-gradient(130deg,#33291bed,#16130fee);color:#efd7a5;font-size:11px;text-align:left;cursor:pointer;min-height:34px;box-shadow:0 3px 12px #0004}#growth-goal-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}#growth-goal-chip>i{flex-shrink:0}#growth-goal-chip[hidden]{display:none}.panel-open #growth-goal-chip{visibility:hidden}#growth-goal-chip:focus-visible{outline:2px solid #f5d48b;outline-offset:3px}
.growth-panel{border:1px solid #766039;border-radius:15px;padding:20px;background:linear-gradient(135deg,#2e2418,#15120f);color:#e7d7bb}.growth-eyebrow{font-size:11px;letter-spacing:.1em;color:#c4a775}.growth-panel h3{font-size:22px;line-height:1.45;margin:8px 0 12px;color:#ffe2ac}.growth-panel p{font-size:13px;line-height:1.85;color:#d2c4ad}.growth-progress-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin:18px 0 9px}.growth-progress-label span{font-variant-numeric:tabular-nums;color:#f0d59e}.growth-panel progress{width:100%;height:9px;display:block;appearance:none;border:0;border-radius:9px;overflow:hidden;accent-color:#dab572;background:#3b3328}.growth-panel progress::-webkit-progress-bar{background:#3b3328}.growth-panel progress::-webkit-progress-value{background:linear-gradient(90deg,#ae874b,#f1d394)}.growth-panel progress::-moz-progress-bar{background:#dab572}.growth-panel .growth-note{padding:11px;border-radius:8px;background:#15120e;border:1px solid #51422d;font-size:12px}.growth-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.growth-actions button{min-height:42px;flex:1;white-space:normal;font-size:12px}.growth-actions i{margin-left:6px}.growth-panel>small{display:block;margin-top:12px;font-size:11px;line-height:1.7;color:#b5a68e}.growth-road{margin-top:14px;padding:17px;border:1px solid #483d2e;background:#15130f;border-radius:12px}.growth-road h4{margin:0 0 10px;color:#dfc99e}.growth-road ol{list-style:none;margin:0;padding:0}.growth-road li{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #ffffff0a;font-size:12px;color:#b6aa97}.growth-road li>i{font-size:9px;color:#6b6153}.growth-road li>b{margin-left:auto;font-size:10px;font-weight:normal}.growth-road li.done,.growth-road li.done>i{color:#b8d6a4}.growth-road p{font-size:11px;color:#ad9e87;line-height:1.7;margin-bottom:0}.growth-highlight{outline:2px solid #e8c681!important;outline-offset:-2px;box-shadow:0 0 18px #c79c4433!important}
@media(max-width:700px){#growth-goal-chip{max-width:min(250px,calc(100vw - 24px));font-size:10px;min-height:34px}.growth-panel{padding:15px}.growth-panel h3{font-size:20px}.growth-actions{flex-direction:column}}
.abyss-map-art{display:block;width:92px;height:76px;object-fit:cover;border-radius:8px;border:1px solid #836185;margin-bottom:6px}.abyss-map-note{font-size:10px;color:#d6b0df;line-height:1.6;margin-top:6px}.maprow:has(.abyss-map-art){border-color:#6e5079;background:linear-gradient(125deg,#261a2e,#121515)}.maprow:has(.abyss-map-art) .mr-ico{width:94px;flex:0 0 94px}.maprow:has(.abyss-map-art) .mr-main{min-width:0}@media(max-width:480px){.abyss-map-art{width:66px;height:70px}.maprow:has(.abyss-map-art) .mr-ico{width:68px;flex-basis:68px}}
.maprow:has(.abyss-map-art) .mr-ico{height:auto;background:none;display:block}.maprow:has(.abyss-map-art) .mr-ico>i{display:none}

/* 경매 장비 식별·비교: 터치와 키보드에서 동일한 상세 화면 */
.ah-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:16px 0}.ah-toolbar label,.ah-register label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--dim);min-width:0}.ah-search{flex:1 1 180px}.ah-toolbar input,.ah-toolbar select,.ah-register input,.ah-register select{width:100%;min-width:0;background:#14120f;border:1px solid #51412e;border-radius:7px;color:#e9dfcf;padding:9px;font:inherit}.ah-toolbar select{min-height:35px}.ah-rich{display:flex;flex-direction:column;gap:10px;padding:13px;min-width:0;background:linear-gradient(140deg,#211b14,#100e0c);border-left-color:var(--rar)}.ah-inspect{display:block;text-align:left;width:100%;min-width:0;border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer}.ah-inspect:hover{background:#ffffff05}.ah-inspect:focus-visible{outline:2px solid #e9c57c;outline-offset:4px;border-radius:4px}.ah-inspect .skt-head{padding:0;display:flex;gap:10px;align-items:center}.ah-inspect .skt-head>div{min-width:0}.ah-inspect .skt-head b{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.ah-inspect .skt-ic{flex:0 0 45px;width:45px;height:45px;position:relative}.ah-inspect .skt-ic img{width:40px;height:40px;object-fit:contain}.ah-inspect .itp-stats{margin:10px 0;font-size:12px}.ah-inspect .itp-foot{font-size:11px;display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap}.ah-inspect .itp-foot em{margin-left:6px}.ah-set{font-size:11px;color:#cfb680;margin:7px 0 0}.ah-seller{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--dim);padding-top:10px;border-top:1px solid #ffffff0e;overflow-wrap:anywhere}.ah-cost{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#d7c9ae}.ah-cost strong{display:block;color:#9fdef1;font-size:21px;line-height:1.6;font-variant-numeric:tabular-nums}.ah-cost strong small{font-size:10px;font-weight:400}.ah-cost>.dim{text-align:right;line-height:1.7}.ah-actions{display:flex;gap:6px;margin-top:auto}.ah-actions .btn{flex:1;min-width:0;white-space:normal;min-height:37px}.ah-register{margin:14px 0}.ah-register>.ah-inspect{max-width:400px}.ah-register .row-btns{align-items:end;margin-top:14px}.legend-lore{font-size:11px!important;line-height:1.6;color:#baa47e}.bestiary-card:has(.legend-lore){border-color:#78613a}
@media(max-width:560px){.ah-grid{grid-template-columns:minmax(0,1fr)}.ah-toolbar label:not(.ah-search){flex:1 1 28%}.ah-search{flex-basis:100%}.ah-register .row-btns{flex-wrap:wrap}.ah-register label{flex:1 1 120px}.ah-rich{padding:12px}}
.ah-cost{flex-wrap:wrap}.ah-cost>span{min-width:0;overflow-wrap:anywhere}.ah-cost>.dim{margin-left:auto}.ah-cost strong{font-size:clamp(17px,2vw,21px)}
/* Successful casts only: respects cooldown mask and reduced-motion preference. */
.skill-btn.cast-fired{animation:skill-cast-feedback .45s ease-out;outline:1px solid var(--cast-color,#e4c082);outline-offset:1px}
@keyframes skill-cast-feedback{0%{transform:scale(.94);box-shadow:0 0 0 2px var(--cast-color),0 0 18px var(--cast-color)}35%{transform:scale(1.07)}100%{transform:scale(1);box-shadow:none}}
@media(prefers-reduced-motion:reduce){.skill-btn.cast-fired{animation:none;transform:none;outline:none}}

/* Back ornaments: static shop previews share the in-world vector renderer. */
.back-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 28px}.back-card{border:1px solid #403633;border-radius:14px;overflow:hidden;background:#151217;min-width:0}.back-card.equipped{border-color:var(--back-accent)}.back-preview{position:relative;background:radial-gradient(ellipse at 50% 45%,#30212e,#100f15 75%);border-bottom:1px solid #372c32}.back-preview canvas{width:100%;height:auto;display:block}.back-preview span{position:absolute;left:12px;top:12px;color:var(--back-accent);font-size:11px;letter-spacing:1px}.back-copy{padding:16px}.back-copy h4{color:var(--back-accent);font-size:18px;margin:0 0 9px}.back-copy p{color:#a79c92;font-size:12px;line-height:1.7;min-height:42px}.back-copy strong{display:block;color:#e6d3a8;margin:12px 0}.back-copy button{width:100%}@media(max-width:650px){.back-grid{grid-template-columns:1fr}.back-preview canvas{max-width:380px;margin:auto}.back-copy p{min-height:0}}

/* Tower ascent: climb route + selected trial, rather than thirty repeated cards. */
#panel.tower-panel{width:min(940px,96vw);background:#101116;border-color:#403831}
#panel.tower-panel #panel-body{padding:0 18px 0;flex:1;min-height:0;scrollbar-color:#64533b #14141b}
.tower-screen{color:#e7e1d2;padding-top:16px;isolation:isolate}
.tower-hero{position:relative;overflow:hidden;min-height:205px;padding:23px 25px;border:1px solid #4c3e32;border-radius:14px;background-image:linear-gradient(90deg,#101216f5 0%,#111319b8 41%,#14161b12 76%),var(--tower-art);background-size:cover;background-position:center,center 47%;box-shadow:inset 0 -35px 60px #0d101783}
.tower-hero-copy{position:relative;z-index:1}.tower-eyebrow{font-size:10px;letter-spacing:4px;color:#bca67d}.tower-hero h2{font-size:28px;letter-spacing:4px;margin:7px 0;color:#f2e6ca;font-family:serif}.tower-hero p{font-size:12px;color:#afa99b;margin:0}.tower-height{display:flex;gap:12px;align-items:center;margin-top:17px}.tower-height>strong{font:600 52px/.95 Georgia,serif;color:#e8c780;letter-spacing:-2px}.tower-height>span{font-size:12px;color:#e5d5b4}.tower-height small{display:block;color:#8e908f;font-size:10px;margin-top:4px}.tower-hero-seal{position:absolute;right:20px;top:22px;writing-mode:vertical-rl;letter-spacing:5px;font:12px/1.8 serif;color:#dccbaa;border:1px solid #9b805e66;padding:10px 5px;background:#13141a99}
.tower-progress-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:14px 2px 7px;color:#cbb891}.tower-progress-head b{color:#e9d39c;font-variant-numeric:tabular-nums}.tower-progress{display:block;width:100%;height:4px;border:0;accent-color:#cfa767;background:#24252b;border-radius:2px}.tower-progress::-webkit-progress-bar{background:#24252b}.tower-progress::-webkit-progress-value{background:linear-gradient(90deg,#83683f,#e6c582)}
.tower-milestones{display:flex;justify-content:space-around;position:relative;margin:8px 0 14px}.tower-milestones button{display:flex;gap:5px;align-items:center;border:0;background:none;padding:5px 8px;color:#70747e;font-size:10px;cursor:pointer}.tower-milestones button.next{color:#dcc089}.tower-milestones button.cleared{color:#85baa1}.tower-milestones button:hover{color:#f1d5a5}.tower-milestones i{font-size:12px}
.tower-map-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 12px}.tower-ranges{display:flex;padding:3px;border:1px solid #39363a;border-radius:8px;background:#191920;gap:4px}.tower-ranges button,.tower-current{border:0;color:#9999a0;background:transparent;cursor:pointer;font-size:11px;padding:8px 16px;border-radius:5px}.tower-ranges button.active{background:#4c3d2a;color:#f2d8a3}.tower-current{color:#b9a57c;padding:8px 0;white-space:nowrap}.tower-current i{margin-right:4px}
.tower-layout{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);gap:16px;align-items:stretch}.tower-route{height:389px;overflow-y:auto;overscroll-behavior:contain;position:relative;padding:8px 12px 12px 5px;border:1px solid #303038;border-radius:12px;background:linear-gradient(90deg,#181a23,#111218);scrollbar-width:thin;scrollbar-color:#63533c #15161e}.tower-route-guide{text-align:center;color:#666b77;font-size:10px;letter-spacing:2px;padding:7px 0 14px}.tower-floor{position:relative;display:flex;align-items:center;gap:11px;width:calc(100% - 29px);min-height:62px;margin:0 0 10px 29px;padding:11px 12px;border:1px solid #3b393c;background:linear-gradient(100deg,#202127,#16181e);color:#c7c5c1;cursor:pointer;border-radius:5px 10px 10px 5px;text-align:left}.tower-floor:before{content:'';position:absolute;left:-18px;top:-15px;height:calc(100% + 20px);width:1px;background:#45434b;z-index:-1}.tower-floor.gate{border-top:2px solid #7c514c}.tower-floor.locked{color:#7b7e88;background:#17181f;border-color:#2b2d35}.tower-floor.cleared{border-left-color:#659786}.tower-floor.current{background:linear-gradient(105deg,#4c3822,#242028);border-color:#ac8650;color:#f5dfb0}.tower-floor.selected{outline:1px solid #dac18d;outline-offset:2px;box-shadow:0 0 18px #d8ad5520}.tower-route-dot{position:absolute;left:-25px;top:24px;width:15px;height:15px;display:grid;place-items:center;background:#191b22;border:1px solid #555462;border-radius:50%;color:#777985;font-size:7px}.tower-floor.cleared .tower-route-dot{background:#315849;border-color:#76aa90;color:#b4d5c4}.tower-floor.current .tower-route-dot{background:#c09956;border-color:#e5c487;color:#1a191c;box-shadow:0 0 12px #b8954b66}.tower-floor-index{font:25px/1 Georgia,serif;white-space:nowrap}.tower-floor-index small{font:10px system-ui;margin-left:3px}.tower-floor-copy{display:flex;flex-direction:column;gap:5px}.tower-floor-copy b{font-size:11px;font-weight:600}.tower-floor-copy small{font-size:9px;opacity:.7}.tower-you{margin-left:auto;border:1px solid #b8985566;border-radius:4px;padding:3px 5px;font-size:9px;color:#efce8c}
.tower-detail{min-width:0;padding:18px 20px;border:1px solid #4e4030;border-radius:12px;background:radial-gradient(ellipse at 50% 20%,#30272b55,transparent 65%),#19181d;text-align:center}.tower-detail-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.tower-state{font-size:10px;padding:4px 8px;border:1px solid #746140;border-radius:4px;color:#d6ba78}.tower-state.locked{border-color:#444650;color:#9396a1}.tower-state.cleared{border-color:#426151;color:#91bfaa}.tower-level{font-size:10px;color:#97969d}.tower-trial-icon{display:grid;place-items:center;width:58px;height:58px;margin:15px auto 10px;border:1px solid #77613d;border-radius:50%;outline:1px solid #57453455;outline-offset:5px;background:radial-gradient(circle,#5a4135,#201d25);color:#dcc18b;font-size:23px}.tower-trial-icon.boss{border-color:#875153;color:#d88e83;background:radial-gradient(circle,#593039,#201d25)}.tower-detail-floor{font-size:10px;letter-spacing:3px;color:#a58f6c}.tower-detail h3{font-size:21px;font-family:serif;letter-spacing:1px;margin:5px 0 8px;color:#ebdebd}.tower-trial-tip{font-size:12px;line-height:1.65;min-height:40px;color:#b7afa4;margin:0 0 13px}.tower-stage-line{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:#bbae90}.tower-stage-line span{padding:5px;background:#25252b;border-radius:3px}.tower-stage-line i{color:#77674d}.tower-time{display:flex;gap:6px;align-items:center;justify-content:center;margin:11px 0 17px;font-size:10px;color:#8f8c91}.tower-time span{margin-left:8px;color:#a9c7b8}.tower-reward-head{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #3f3733}.tower-reward-head h4{font-size:11px;margin:0;color:#c9b995}.tower-reward-head>span{font-size:9px;color:#8c8578}.tower-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.tower-rewards>div{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid #494033;border-radius:7px;padding:10px 4px;background:#212026}.tower-rewards i{font-size:17px;color:#d4b871}.tower-rewards>div:nth-child(2) i{color:#86b3a4}.tower-rewards>div:nth-child(3) i{color:#a896c5}.tower-rewards b{font-size:12px;color:#e5d6b4}.tower-rewards span{font-size:9px;color:#938a7b}.tower-rewards.claimed{opacity:.55}.tower-crown{display:flex;align-items:center;gap:10px;padding-top:14px;color:#d8bc7e;text-align:left;font-size:11px}.tower-crown>b{font-size:18px}.tower-crown span{flex:1;font-size:9px;color:#a99472}.tower-crown b{display:block;color:#dcca9c;margin-top:4px;font-size:12px}
.tower-last{display:flex;align-items:center;gap:10px;padding:13px 3px;color:#bc9081}.tower-last.won{color:#94baa5}.tower-last b{font-size:11px}.tower-last p{font-size:10px;color:#938d85;margin:3px 0 0;line-height:1.5}.tower-rules{font-size:10px;color:#928b7e;padding:12px 2px;margin-bottom:4px}.tower-rules summary{cursor:pointer;color:#b1a28a}.tower-rules p{line-height:1.8;margin:8px 0}.tower-action{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0 16px;background:linear-gradient(0deg,#101116 85%,#101116e8);border-top:1px solid #4c4031;box-shadow:0 -8px 18px #10111670}.tower-action>div{min-width:0;display:flex;flex-direction:column;gap:5px}.tower-action b{font-size:14px;color:#e7d4a9}.tower-action span{font-size:10px;color:#a79c89;line-height:1.5}.tower-action>.btn{flex-shrink:0;min-width:155px;min-height:48px;font-size:14px;white-space:nowrap}.tower-action .btn i{margin-left:8px}.tower-screen button:focus-visible{outline:2px solid #f2d199;outline-offset:3px}
@media(max-width:650px){#panel.tower-panel{width:100%;height:94dvh}#panel.tower-panel #panel-body{padding:0 12px}.tower-screen{padding-top:10px}.tower-hero{min-height:160px;padding:17px 18px;background-position:center,62% 47%}.tower-eyebrow{font-size:8px;letter-spacing:3px}.tower-hero h2{font-size:24px}.tower-hero p{font-size:10px;max-width:205px}.tower-height{margin-top:13px}.tower-height>strong{font-size:40px}.tower-hero-seal{top:14px;right:13px;font-size:10px}.tower-milestones{margin-bottom:7px}.tower-milestones button{padding:5px 4px;font-size:9px;gap:4px}.tower-ranges button{padding:7px 10px;font-size:10px}.tower-current{font-size:10px}.tower-map-head{margin-bottom:10px}.tower-layout{grid-template-columns:122px minmax(0,1fr);gap:10px}.tower-route{height:363px;padding:6px 7px 10px 3px;border-radius:9px}.tower-route-guide{font-size:8px;letter-spacing:0}.tower-floor{width:calc(100% - 21px);margin-left:21px;min-height:60px;padding:9px 5px;gap:5px;border-radius:4px 6px 6px 4px}.tower-floor-index{font-size:21px}.tower-floor-index small{font-size:8px;margin-left:1px}.tower-floor-copy b{font-size:8px}.tower-floor-copy small{font-size:8px}.tower-route-dot{left:-18px;width:12px;height:12px;font-size:6px}.tower-floor:before{left:-12px}.tower-you{display:none}.tower-detail{padding:12px 10px;border-radius:9px}.tower-state{padding:3px 5px;font-size:9px}.tower-level{font-size:9px}.tower-trial-icon{width:46px;height:46px;font-size:20px;margin:14px auto 10px}.tower-detail-floor{font-size:9px}.tower-detail h3{font-size:17px;letter-spacing:0}.tower-trial-tip{font-size:10px;min-height:50px;line-height:1.65;margin-bottom:10px}.tower-stage-line{gap:3px;font-size:8px}.tower-stage-line span{padding:5px 3px}.tower-time{font-size:9px;margin:10px 0 12px;flex-wrap:wrap}.tower-time span{margin-left:0}.tower-reward-head h4{font-size:10px}.tower-reward-head>span{font-size:8px}.tower-rewards{gap:5px}.tower-rewards>div{padding:9px 2px}.tower-rewards b{font-size:11px}.tower-rewards i{font-size:14px}.tower-crown{gap:6px;flex-wrap:wrap}.tower-action{gap:9px;padding:12px 0 max(12px,env(safe-area-inset-bottom))}.tower-action b{font-size:12px}.tower-action span{font-size:9px}.tower-action>.btn{min-width:116px;min-height:46px;padding:10px;font-size:12px}.tower-action .btn i{margin-left:4px}}
@media(max-width:360px){.tower-layout{grid-template-columns:104px minmax(0,1fr);gap:7px}.tower-detail{padding:11px 7px}.tower-ranges button{padding:7px 7px}.tower-floor-copy b{display:none}.tower-rewards b{font-size:10px}}
@media(prefers-reduced-motion:reduce){#panel.tower-panel{transition:none}}
/* Tongcheon Tower: 120 floors; scrollable chapters and advisory combat power. */
.tower-map-head .tower-ranges{overflow-x:auto;min-width:0;position:relative;scrollbar-width:thin;scrollbar-color:#76603d transparent;flex:1;overscroll-behavior-x:contain}
.tower-ranges button{flex-shrink:0;white-space:nowrap}.tower-current{flex-shrink:0}
.tower-power-summary{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #3f372c;border-radius:7px;background:#211e1d;color:#9d9587;font-size:11px}.tower-power-summary b{color:#dfc58e;margin-left:6px;font-variant-numeric:tabular-nums}
.tower-power{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 8px;margin:8px 0 12px;padding:8px;border:1px solid #5b4537;background:#35261e55;border-radius:6px;color:#d9b286;font-size:10px}.tower-power b{font-size:14px;color:#ebcea0}.tower-power small{flex-basis:100%;font-size:9px;color:#b59d87}.tower-power.sufficient{border-color:#3e5949;background:#1c362355}.tower-power.sufficient small{color:#a1beac}
@media(max-width:650px){.tower-power-summary{font-size:10px;padding:9px}.tower-power-summary b{margin-left:3px}.tower-power{font-size:9px;padding:6px}.tower-power b{font-size:12px}.tower-route{height:427px}}
@media(max-width:650px){.tower-floor-index small{display:none}.tower-floor-copy small{white-space:nowrap}.tower-floor-index{font-size:21px}}
/* Codex: compact collection ledger with independent beast/equipment submenus. */
.codex-screen{--ink:#b9ae98;color:#e5dccb}.codex-tabs{display:flex;gap:5px;padding:5px;border:1px solid #514331;background:#14120f;border-radius:10px;margin-bottom:14px}.codex-tabs button{flex:1;background:transparent;color:#9e927e;border:0;border-radius:6px;padding:12px 8px;cursor:pointer;font-size:12px;font-weight:700}.codex-tabs button.active{background:linear-gradient(120deg,#66502d,#3b3022);color:#f0d59f;box-shadow:0 2px 8px #0005}.codex-tabs i{margin-right:7px}.codex-banner{display:flex;align-items:center;justify-content:space-between;padding:23px 24px;border:1px solid #54432a;border-radius:12px;background:radial-gradient(ellipse at 100% 0,#92704326,transparent 75%),repeating-linear-gradient(135deg,#ffffff02 0 1px,transparent 1px 15px),#181611;overflow:hidden}.codex-eyebrow{font-size:9px;letter-spacing:3px;color:#a38f69}.codex-banner h2{font-family:serif;font-size:26px;letter-spacing:3px;margin:8px 0 10px}.codex-banner p{font-size:11px;color:#a99e8b;margin:0;line-height:1.6}.codex-banner>i{font-size:66px;color:#bd9657;opacity:.3;transform:rotate(-12deg);margin-left:16px}.codex-summary{display:grid;grid-template-columns:1fr 1fr 1.2fr;margin-top:15px;padding:15px 0;background:#1e1a14;border:1px solid #413626;border-radius:9px}.codex-summary>div{padding:0 15px;border-right:1px solid #453927}.codex-summary>div:last-child{border:0}.codex-summary span{display:block;font-size:10px;color:#a8997d;margin-bottom:8px}.codex-summary b{font-size:22px;color:#e3c78b;white-space:nowrap;font-variant-numeric:tabular-nums}.codex-summary small{font-size:10px;color:#a2947b;font-weight:400}.codex-progress{display:block;width:100%;height:3px;border:0;margin:12px 0 20px;accent-color:#c5a15f}.codex-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.codex-filters label,.codex-choose{display:flex;flex-direction:column;gap:6px;min-width:0;color:#ab9c83;font-size:10px}.codex-search{flex:1 1 135px}.codex-filters input,.codex-filters select,.codex-choose select{font:inherit;background:#13110e;border:1px solid #514431;border-radius:6px;padding:10px;color:#dfd5c3;min-height:37px;max-width:100%}.codex-list-head{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#9e8d70;margin:19px 0 10px}.equipment-codex-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.equipment-codex-card{padding:13px;border:1px solid #373128;border-radius:10px;background:linear-gradient(135deg,#211e18,#15130f);min-width:0}.equipment-codex-card.ready{border-color:#817046;background:linear-gradient(135deg,#302719,#181611)}.equipment-codex-card.done{border-color:#365240;background:linear-gradient(135deg,#1d2b21,#141713)}.codex-item-head{display:flex;align-items:center;gap:10px}.codex-item-head>div:nth-child(2){flex:1;min-width:0}.codex-item-head h3{font-size:12px;line-height:1.6;margin:4px 0;color:#d7cbb4;overflow-wrap:anywhere}.codex-item-head small{font-size:9px;color:var(--rar)}.codex-item-head>i{font-size:12px;color:#69614f}.done .codex-item-head>i{color:#8cb69a}.ready .codex-item-head>i{color:#d8b56b}.codex-item-icon{width:40px;height:44px;flex-shrink:0;display:grid;place-items:center;background:#0004;border:1px solid color-mix(in srgb,var(--rar) 35%,transparent);border-radius:7px}.codex-item-icon img{width:34px;height:34px;object-fit:contain}.codex-item-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #bda16a15;margin-top:13px;padding-top:10px;font-size:10px;color:#92866d}.ready .codex-item-foot{color:#d9bd7f}.done .codex-item-foot{color:#91ad95}.codex-item-foot .btn{min-width:53px;min-height:32px}.codex-pagination{display:flex;justify-content:center;align-items:center;gap:22px;margin:20px 0 10px;font-size:11px;color:#b8a685}.codex-note{font-size:10px;line-height:1.8;color:#8d826f;margin:17px 0 5px}.codex-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:45px 10px;color:#9e9078;font-size:11px}.codex-empty i{font-size:30px;color:#78623d}.codex-beast-type{font-size:9px;color:#b9a06e}.codex-screen .bestiary-card{background:linear-gradient(145deg,#211d18,#13120f);border-color:#40382b;padding:12px;gap:8px}.codex-screen .bestiary-card.done{border-color:#7b6843}.codex-screen .bestiary-card img{width:75px;height:94px}.codex-screen .bestiary-card h4{font-size:13px;margin:5px 0 9px}.codex-screen .bestiary-card div>small:not(.codex-beast-type){font-size:10px;color:#a59a85}.codex-confirm-title{font-size:16px;color:#e6cf9d;margin-bottom:16px}.codex-selected-stats{font-size:11px;line-height:1.8;color:#cbb899;margin:12px 0}.codex-warning{padding:12px;background:#76372128;border:1px solid #91553666;border-radius:8px;font-size:12px;line-height:1.8;color:#e9aa8c}.codex-screen button:focus-visible{outline:2px solid #d5b26c;outline-offset:3px}
@media(max-width:600px){.codex-banner{padding:20px 16px}.codex-banner h2{font-size:23px}.codex-banner>i{font-size:42px}.codex-banner p{font-size:10px}.codex-summary>div{padding:0 10px}.codex-summary b{font-size:20px}.codex-summary span{font-size:9px}.codex-filters{gap:7px}.codex-search{flex-basis:100%}.codex-filters label:not(.codex-search){flex:1}.codex-filters select{width:100%}.equipment-codex-grid{grid-template-columns:1fr}.codex-item-head h3{font-size:13px}.codex-item-icon{width:44px;height:46px}.codex-list-head{font-size:9px}.codex-screen .bestiary-grid{grid-template-columns:1fr}.codex-item-foot .btn{min-width:72px;min-height:37px}}
/* Individually illustrated equipment; tier is a label, not an illustration recolor. */
.item-row img.equipment-art{width:46px;height:46px;flex-shrink:0;margin-right:0}
.slot img.equipment-art{width:46px;height:46px;flex-shrink:0}
.skt-ic:has(.equipment-art){width:48px;height:48px;flex:0 0 48px}
.skt-ic img.equipment-art{inset:0;width:100%;height:100%}
.im-ic:has(.equipment-art){width:86px;height:86px;flex:0 0 86px}
.im-ic img.equipment-art{inset:0;width:100%;height:100%}
.islot img.equipment-art{inset:3% 6% 11%;width:88%;height:86%;filter:drop-shadow(0 2px 2px #0008)}
.equipment-rarity{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);padding:1px 4px;border-radius:3px;background:#080908df;color:var(--rc);font-size:8px;line-height:1.3;white-space:nowrap;pointer-events:none;letter-spacing:.5px}
.eslot img.equipment-art{width:42px;height:42px;object-fit:contain}
.codex-item-icon:has(.equipment-art){width:58px;height:62px;background:radial-gradient(circle,#65523a22,transparent);flex-shrink:0}
.codex-item-icon img.equipment-art{width:56px;height:58px;object-fit:contain}
.codex-confirm-art{display:block;width:110px;height:110px;margin:0 auto 14px;object-fit:contain;background:radial-gradient(circle,#8b70442b,transparent 70%)}
.ah-inspect .skt-ic:has(.equipment-art){width:56px;height:56px;flex-basis:56px}.ah-inspect .skt-ic img.equipment-art{width:100%;height:100%}
@media(max-width:600px){.im-ic:has(.equipment-art){width:72px;height:72px;flex-basis:72px}.slot img.equipment-art{width:40px;height:40px}.codex-item-icon:has(.equipment-art){width:56px;height:58px}}

/* Weekly bounty board: three selectable warrants and one focused dossier. */
#panel.bounty-panel{width:min(880px,96vw);background:#14120f;border-color:#59432f}
#panel.bounty-panel #panel-body{padding:16px 18px 0;flex:1;min-height:0;scrollbar-color:#745638 #191510}
.bounty-screen{color:#e3d5bb}.bounty-banner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:23px 25px;overflow:hidden;border:1px solid #685037;border-radius:12px;background:radial-gradient(ellipse at 85% 30%,#9b63362a,transparent 60%),repeating-linear-gradient(100deg,#c79c5210 0 1px,transparent 1px 33px),linear-gradient(125deg,#30261c,#191510)}.bounty-eyebrow{font-size:9px;letter-spacing:4px;color:#b59a70}.bounty-banner h2{font-family:serif;font-size:25px;letter-spacing:1px;margin:10px 0 9px;color:#eedcb6}.bounty-banner p{font-size:11px;color:#b5a184;margin:0}.bounty-banner-seal{flex-shrink:0;font:23px/1.1 serif;text-align:center;color:#cc7b62;border:2px solid #a2513e;outline:1px solid #9a5a4466;outline-offset:4px;padding:8px 10px;transform:rotate(9deg);opacity:.75}
.bounty-week{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 2px 17px;border-bottom:1px solid #4d3b26}.bounty-week-count{display:grid;grid-template-columns:auto auto;align-items:center;gap:7px 20px;min-width:160px}.bounty-week-count>span{font-size:11px;color:#b29d7b}.bounty-week-count>b{font:25px/1 Georgia,serif;color:#efcc80;text-align:right}.bounty-week-count small{font:11px system-ui;color:#88775f}.bounty-week progress{grid-column:1/-1;width:100%;height:3px;accent-color:#c99c56;display:block;border:0}.bounty-week-reset{display:flex;flex-direction:column;gap:7px;text-align:right;font-size:11px;color:#b5a281}.bounty-week-reset b{color:#dfc898;margin-left:5px;font-variant-numeric:tabular-nums}.bounty-week-reset small{font-size:9px;color:#887962}.bounty-board-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:17px 2px 10px}.bounty-board-heading b{font-size:12px;letter-spacing:1px}.bounty-board-heading>span{font-size:10px;color:#a08e71}
.bounty-posters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.bounty-poster{min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:11px 13px 0;border:1px solid #6b553b;border-radius:4px 4px 9px 9px;background:radial-gradient(ellipse at 50% 35%,#b18b473b,transparent 73%),repeating-linear-gradient(0deg,#ac8a5210 0 1px,transparent 1px 5px),#282116;color:#dcc49d;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s}.bounty-poster:before{content:'';position:absolute;top:-3px;left:calc(50% - 3px);width:7px;height:7px;background:#c4a572;border:1px solid #211b12;border-radius:50%;box-shadow:0 2px 3px #000b}.bounty-poster:hover{border-color:#b68b50}.bounty-poster.selected{border-color:#e5bc76;outline:1px solid #d7ac6559;outline-offset:2px;box-shadow:0 0 24px #c19b4920}.bounty-poster-top{display:flex;justify-content:space-between;width:100%;align-items:center;color:#9c8766}.bounty-poster-top small{font-size:9px;letter-spacing:1px}.bounty-poster-top i{font-size:12px;color:var(--target-color)}.bounty-portrait{position:relative;display:grid;place-items:center;height:138px;width:100%;margin:5px 0 8px;isolation:isolate}.bounty-portrait:after{content:'';position:absolute;inset:auto 10% 0;height:35px;border-radius:50%;background:#07060566;filter:blur(9px);z-index:-1}.bounty-portrait-glyph{position:absolute;z-index:-1;font:92px serif;color:var(--target-color);opacity:.1;right:6px;top:4px}.bounty-portrait img{width:100%;height:100%;object-fit:contain;filter:sepia(.32) saturate(.7) drop-shadow(0 4px 6px #000b)}.bounty-poster.selected .bounty-portrait img{filter:sepia(.15) drop-shadow(0 4px 6px #000b)}.bounty-poster>strong{font-family:serif;font-size:20px;color:#f0d9b0;letter-spacing:1px}.bounty-poster-tag{font-size:10px;color:var(--target-color);margin:6px 0 11px}.bounty-poster-status{width:calc(100% + 26px);font-size:9px;letter-spacing:1px;padding:9px 2px;background:#0c090642;border-top:1px solid #87653544;border-radius:0 0 8px 8px;color:#98815f}.bounty-poster.selected .bounty-poster-status{color:#e5bc76;background:#4e381c66}.bounty-poster.cleared{background:#22231b;border-color:#485541}.bounty-poster.cleared .bounty-portrait img{filter:grayscale(.8);opacity:.45}.bounty-poster.cleared .bounty-poster-status{color:#92ac85}.bounty-captured{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-12deg);white-space:nowrap;padding:8px 10px;border:2px solid #90a986;color:#bdd0ad;background:#1b241bb3;font-size:14px;font-weight:800;letter-spacing:2px}
.bounty-dossier{margin-top:18px;border:1px solid #584633;border-radius:11px;background:linear-gradient(120deg,#241d16,#191612);padding:20px}.bounty-dossier-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid #51402d}.bounty-dossier-title>div>span{font-size:9px;color:#9c8362;letter-spacing:2px}.bounty-dossier-title h3{font:22px serif;letter-spacing:2px;margin:6px 0;color:#e9d2aa}.bounty-dossier-title p{font-size:11px;margin:0;color:#a7957c}.bounty-status{white-space:nowrap;font-size:10px;border:1px solid #987343;border-radius:5px;padding:7px 10px;color:#e3bf7d}.bounty-status.done{color:#a9c49a;border-color:#5c7050}.bounty-status i{margin-right:4px}.bounty-dossier-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:25px;margin-top:17px}.bounty-brief-title{display:flex;gap:8px;align-items:center;color:var(--target-color)}.bounty-brief h4,.bounty-reward h4{margin:0;font-size:12px;letter-spacing:.5px}.bounty-brief>p{font-size:11px;line-height:1.8;color:#b8ab97;margin:10px 0}.bounty-strategy{display:flex;align-items:start;gap:8px;color:#ddc9a3;font-size:11px;line-height:1.7;padding:10px;border-radius:5px;background:#8e6b3020;border-left:2px solid #ad8748}.bounty-strategy i{margin-top:3px;color:#c99f58}.bounty-mission{display:flex;flex-wrap:wrap;gap:8px 17px;font-size:10px;color:#8f8069;margin-top:13px}.bounty-reward{min-width:0;border-left:1px solid #51402d;padding-left:24px}.bounty-reward-heading{display:flex;justify-content:space-between;align-items:center;gap:4px}.bounty-reward-heading>span{font-size:9px;color:#a18a67}.bounty-reward-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px}.bounty-reward-items>div{display:flex;flex-direction:column;align-items:center;gap:8px;background:#12100d66;border:1px solid #57432b;border-radius:7px;padding:13px 3px}.bounty-reward-items i{font-size:21px;color:#cead61}.bounty-reward-items>div:nth-child(2) i{color:#93bbae}.bounty-reward-items>div:nth-child(3) i{color:#b29ac4}.bounty-reward-items b{font-size:13px;color:#efd4a3}.bounty-reward-items span{font-size:9px;color:#9b8868}.bounty-reward-items.claimed{opacity:.55}.bounty-reward-note,.bounty-clear-record{font-size:9px;line-height:1.7;color:#98876a;margin:10px 0 0}.bounty-clear-record{color:#a0b78e}.bounty-stages{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #51402d;margin-top:18px;padding-top:15px;font-size:10px;color:#b9a586}.bounty-stages b{font:15px Georgia,serif;color:#876b44;margin-right:5px}.bounty-stages>i{font-style:normal;color:#715b3f}.bounty-rules{font-size:10px;padding:14px 2px;color:#958267}.bounty-rules summary{cursor:pointer;color:#b4a07d}.bounty-rules p{line-height:1.85;margin:9px 0}.bounty-action{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(0deg,#14120f 90%,#14120ff0);border-top:1px solid #614a2f;box-shadow:0 -10px 20px #14120f80;padding:15px 0 max(15px,env(safe-area-inset-bottom))}.bounty-action>div{display:flex;flex-direction:column;gap:6px;min-width:0}.bounty-action b{font-size:14px;color:#e6c893}.bounty-action span{font-size:10px;color:#a99575;line-height:1.5}.bounty-action>.btn{min-width:164px;min-height:48px;flex-shrink:0;font-size:14px}.bounty-action>.btn i{margin-left:10px}.bounty-screen button:focus-visible{outline:2px solid #f2d296;outline-offset:3px}
@media(max-width:650px){#panel.bounty-panel{width:100%;height:94dvh}#panel.bounty-panel #panel-body{padding:12px 12px 0}.bounty-banner{padding:18px 15px}.bounty-eyebrow{font-size:8px;letter-spacing:3px}.bounty-banner h2{font-size:18px;letter-spacing:0}.bounty-banner p{font-size:10px}.bounty-banner-seal{font-size:18px;padding:6px 8px}.bounty-week{gap:10px;padding:14px 1px}.bounty-week-count{min-width:113px;gap:7px 9px}.bounty-week-count>span{font-size:10px}.bounty-week-count>b{font-size:23px}.bounty-week-reset{font-size:9px;gap:5px}.bounty-week-reset small{font-size:8px}.bounty-board-heading{margin:14px 0 10px}.bounty-board-heading>span{font-size:9px}.bounty-posters{gap:8px}.bounty-poster{padding:9px 6px 0}.bounty-poster-top small{font-size:8px;letter-spacing:0}.bounty-poster-top i{font-size:10px}.bounty-portrait{height:91px;margin:4px 0 7px}.bounty-portrait-glyph{font-size:60px}.bounty-poster>strong{font-size:15px;letter-spacing:0}.bounty-poster-tag{font-size:9px;margin:6px 0 9px}.bounty-poster-status{width:calc(100% + 12px);font-size:8px;padding:8px 0;letter-spacing:0}.bounty-captured{font-size:10px;letter-spacing:0;padding:6px}.bounty-dossier{padding:14px;margin-top:15px}.bounty-dossier-title h3{font-size:20px}.bounty-dossier-title p{font-size:10px}.bounty-status{font-size:9px;padding:6px}.bounty-dossier-columns{grid-template-columns:1fr;gap:14px;margin-top:14px}.bounty-brief>p{font-size:10px}.bounty-strategy{font-size:10px}.bounty-reward{border-left:0;border-top:1px solid #51402d;padding:14px 0 0}.bounty-reward-items>div{padding:10px 3px;gap:7px}.bounty-reward-items i{font-size:18px}.bounty-reward-note,.bounty-clear-record{margin-top:8px}.bounty-stages{gap:4px;font-size:8px;padding-top:12px;margin-top:13px}.bounty-stages b{font-size:12px;margin-right:3px}.bounty-action{gap:10px;padding:12px 0 max(12px,env(safe-area-inset-bottom))}.bounty-action b{font-size:12px}.bounty-action span{font-size:9px}.bounty-action>.btn{min-width:116px;min-height:46px;font-size:12px;padding:10px}.bounty-action>.btn i{margin-left:5px}}
@media(prefers-reduced-motion:reduce){.bounty-poster{transition:none}}
/* Keep intrinsic sprite dimensions from expanding the warrant grid tracks. */
.bounty-portrait{flex:0 0 138px;min-width:0;overflow:hidden}
.bounty-portrait img{position:absolute;inset:0;display:block;min-width:0;min-height:0;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
@media(max-width:650px){.bounty-portrait{flex-basis:91px}}

/* Equipment slot training — persistent growth, visually distinct from item enhancement. */
.gear-training-panel{padding:19px;border:1px solid #665038;border-radius:12px;background:radial-gradient(ellipse at 90% 0,#72503526,transparent 50%),#19150f;margin:15px 0;color:#ded0b7}.training-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.training-eyebrow{font-size:9px;letter-spacing:2px;color:#aa8e60}.training-heading h3{font-family:serif;font-size:21px;margin:7px 0;color:#e8d4aa}.training-seal{font-size:10px;color:#dbc080;border:1px solid #705935;padding:6px 8px;border-radius:4px;white-space:nowrap}.training-overview{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px;margin-top:15px;padding:13px 0;border-top:1px solid #56432a;border-bottom:1px solid #56432a}.training-overview>div{border-right:1px solid #493a29;padding:0 8px}.training-overview>div:last-child{border:0}.training-overview span{display:block;color:#9d896c;font-size:10px;margin-bottom:7px}.training-overview b{font-size:20px;color:#dabb7b}.training-overview small{font-size:10px;font-weight:400;color:#938069}.training-gate{font-size:10px;line-height:1.7;color:#95b397;margin:12px 0}.training-gate.blocked{color:#c09e75}.training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.training-card{min-width:0;padding:13px;background:linear-gradient(130deg,#2b2319,#1b1711);border:1px solid #53412d;border-radius:9px}.training-card.maxed{border-color:#61704a}.training-card.empty{background:#171510}.training-card-head{display:flex;align-items:center;gap:9px}.training-slot-art{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border:1px solid #705834;border-radius:7px;background:#090a08}.training-slot-art img{width:100%;height:100%;object-fit:contain}.training-slot-art>i{font-size:22px;color:#5d503c}.training-card-head>div{flex:1;min-width:0}.training-card-head>div>span{font-size:11px;color:#b29c78}.training-card h4{font:23px/1.4 Georgia,serif;margin:2px 0;color:#ebd2a1}.training-card h4 small{font:9px system-ui;color:#9a886b}.training-bonus{font-size:13px;color:#a9ba89}.training-card progress{display:block;width:100%;height:3px;border:0;accent-color:#b79150;margin:12px 0 9px}.training-item-name{font-size:10px;color:#a18f72;min-height:16px;margin:0 0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-next{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:#cbb188}.training-next small{font-size:9px;color:#8e7e65}.training-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.training-card-foot b{font-size:15px;color:#ead09b}.training-card-foot div>span{display:block;font-size:9px;color:#907c5d;margin-top:3px}.training-card-foot .btn{min-width:66px;min-height:37px}.training-card-state{display:block;color:#9e8a68;font-size:9px;margin-top:9px}.training-rules{font-size:10px;color:#9e8b6e;line-height:1.8;margin-top:15px}.training-rules summary{cursor:pointer;color:#bfa57c}.training-rules p{margin-bottom:0}
/* Stronghold construction: isolated from future profession production. */
#panel.stronghold-panel{width:min(920px,96vw);background:#121510;border-color:#45513b}#panel.stronghold-panel #panel-body{padding:16px 18px 20px;flex:1;min-height:0;scrollbar-color:#5b6949 #121510}.stronghold-screen{color:#e1dfcc}.stronghold-hero{display:flex;align-items:center;justify-content:space-between;padding:24px;border:1px solid #5b6548;border-radius:12px;background:radial-gradient(ellipse at 75% 15%,#77865a29,transparent 70%),repeating-linear-gradient(140deg,#a5ab7d08 0 1px,transparent 1px 24px),#1c2218}.stronghold-eyebrow{font-size:9px;letter-spacing:3px;color:#a3ac81}.stronghold-hero h2{font-family:serif;font-size:28px;letter-spacing:4px;margin:8px 0 10px;color:#eadfba}.stronghold-hero p{font-size:11px;color:#9b9d82;margin:0}.stronghold-seal{font:22px/1.3 serif;color:#afb17a;border:2px solid #737f53;padding:8px;transform:rotate(8deg);opacity:.65}.stronghold-wallet{display:flex;justify-content:space-between;gap:15px;padding:15px 2px;font-size:11px;color:#a8a080;border-bottom:1px solid #3d4433}.stronghold-wallet b{margin-left:6px;color:#e3cc91;font-variant-numeric:tabular-nums}.stronghold-wallet i{margin-right:4px}.stronghold-wallet>span:last-child i,.stronghold-wallet>span:last-child b{color:#a4ced1}.stronghold-overview{display:flex;align-items:center;gap:24px;margin:16px 0;padding:15px 18px;border:1px solid #49553e;border-radius:9px;background:#1c2318}.stronghold-overview>div{display:flex;flex-direction:column;gap:6px}.stronghold-overview small{font-size:10px;color:#919e7e}.stronghold-overview strong{font:30px Georgia,serif;color:#d3c487}.stronghold-overview strong>span{font:12px system-ui;color:#828d72}.stronghold-overview b{font-size:13px;color:#d4d5b3}.stronghold-overview>div>span{font-size:10px;color:#a0ab8c}.stronghold-overview em{font-style:normal;color:#d8c393}.stronghold-overview>i{margin-left:auto;font-size:33px;color:#75845b;opacity:.6}.stronghold-notice{display:flex;gap:12px;align-items:start;padding:13px 15px;border-left:2px solid #7c9460;background:#34422a33;color:#b4c499;margin-bottom:18px}.stronghold-notice>i{font-size:18px;margin-top:2px}.stronghold-notice b{font-size:11px}.stronghold-notice p{font-size:10px;line-height:1.7;color:#98a788;margin:5px 0 0}.stronghold-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.stronghold-card{min-width:0;overflow:hidden;border:1px solid #4c513a;border-radius:11px;background:linear-gradient(140deg,#242619,#151911)}.stronghold-card.building{border-color:#b18b4b}.stronghold-card.done{border-color:#718758}.stronghold-card-art{height:183px;position:relative;overflow:hidden;background:radial-gradient(ellipse,#3a432b,transparent 70%),#121410}.stronghold-card-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.stronghold-card.empty .stronghold-card-art img{filter:saturate(.5);opacity:.75}.stronghold-status{position:absolute;top:12px;left:12px;padding:5px 8px;background:#10140ee8;border:1px solid #556246;color:#9fa988;border-radius:4px;font-size:10px}.building .stronghold-status{border-color:#8e7045;color:#e9c78a}.done .stronghold-status{border-color:#6b8952;color:#bed29c}.stronghold-status i{margin-right:4px}.stronghold-card-body{padding:17px}.stronghold-card-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.stronghold-card-title h3{font-family:serif;font-size:22px;color:#dfd6b0;margin:0}.stronghold-card-title>span{font-size:10px;color:#a1b18a;border:1px solid #556045;border-radius:4px;padding:4px 6px}.stronghold-card-body>p{font-size:10px;line-height:1.7;color:#939981;margin:9px 0 14px}.stronghold-cost{display:flex;flex-direction:column;gap:9px;border-top:1px solid #465039;padding-top:12px;margin-bottom:14px}.stronghold-cost span{display:flex;justify-content:space-between;gap:8px;color:#9ba381;font-size:10px}.stronghold-cost b{font-size:12px;color:#dcc793}.stronghold-card-body>.btn{width:100%;min-height:41px}.stronghold-build-progress{padding-top:9px;border-top:1px solid #526041}.stronghold-build-progress>span{display:flex;justify-content:space-between;font-size:10px;color:#a9b38f}.stronghold-build-progress b{color:#d9c38b}.stronghold-build-progress progress{display:block;width:100%;height:4px;accent-color:#b99853;margin:12px 0 15px;border:0}.stronghold-speed{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stronghold-speed .btn{min-height:48px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;padding:8px;font-size:11px}.stronghold-speed small{font-size:9px;opacity:.8}.stronghold-finished{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:20px 5px;border-top:1px solid #49553b;color:#aec38d;min-height:100px}.stronghold-finished b{font-size:11px}.stronghold-finished>span{flex-basis:100%;font-size:9px;text-align:center;color:#8b9a76}.stronghold-rules{font-size:10px;color:#8e9a7a;line-height:1.8;margin-top:18px}.stronghold-rules summary{cursor:pointer;color:#b5c08d}.stronghold-confirm{text-align:center}.stronghold-confirm>img{width:150px;height:140px;object-fit:contain;display:block;margin:0 auto 12px}.stronghold-confirm h3{color:#e4c896;font:20px serif}.stronghold-confirm p{font-size:13px;line-height:1.8}.stronghold-confirm>small{display:block;font-size:11px;color:#ad9a80;line-height:1.7;margin-bottom:18px}.stronghold-confirm .row-btns{justify-content:center}.stronghold-loading{text-align:center;padding:50px 15px;color:#a6b085;font-size:12px}.stronghold-loading>i{font-size:35px;margin-bottom:10px}.stronghold-screen button:focus-visible,.gear-training-panel button:focus-visible{outline:2px solid #e2cd8f;outline-offset:3px}
@media(max-width:650px){#panel.stronghold-panel{width:100%;height:94dvh}#panel.stronghold-panel #panel-body{padding:12px 12px 18px}.stronghold-hero{padding:19px}.stronghold-hero h2{font-size:25px}.stronghold-wallet{font-size:10px;gap:8px}.stronghold-wallet b{margin-left:3px}.stronghold-overview{gap:18px;padding:14px}.stronghold-notice{padding:12px}.stronghold-grid{grid-template-columns:1fr;gap:13px}.stronghold-card-art{height:172px}.stronghold-card-body{padding:15px}.stronghold-card-title h3{font-size:21px}.gear-training-panel{padding:14px}.training-heading h3{font-size:18px}.training-eyebrow{font-size:8px;letter-spacing:1px}.training-overview{gap:4px}.training-overview>div{padding:0 5px}.training-overview b{font-size:17px}.training-overview span{font-size:9px}.training-grid{gap:8px}.training-card{padding:10px}.training-card-head{gap:6px;flex-wrap:wrap}.training-slot-art{width:39px;height:39px;flex-basis:39px}.training-card h4{font-size:20px}.training-card h4 small{font-size:8px}.training-bonus{font-size:11px;margin-left:auto}.training-next{flex-wrap:wrap;gap:3px}.training-card-foot .btn{min-width:51px;padding:8px}.training-card-foot b{font-size:13px}.training-card-foot{gap:5px}.training-card-state{font-size:8px}.training-item-name{font-size:9px}.training-seal{font-size:9px;padding:5px}}
@media(max-width:360px){.training-grid{grid-template-columns:1fr}.stronghold-wallet{flex-wrap:wrap}}
/* Paid material collection and persistent stronghold storage. */
.stronghold-collect{border-top:1px solid #586143;padding-top:15px}.stronghold-collect h4{margin:0 0 12px;color:#dcca93;font-size:12px}.collect-options{display:grid;grid-template-columns:minmax(0,2fr) minmax(65px,1fr);gap:8px}.collect-options label{min-width:0;font-size:10px;color:#9fa782}.collect-options select{display:block;width:100%;min-height:40px;margin-top:6px;padding:7px;color:#e5d6ad;background:#161b12;border:1px solid #60694a;border-radius:5px;font-size:11px}.collect-total{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin:15px 0;color:#b1b68e}.collect-total b{color:#f0cf85}.stronghold-collect>.btn{width:100%;min-height:42px}.stronghold-collect>small{display:block;text-align:center;font-size:9px;color:#909d79;margin:9px 0}.stronghold-warehouse{border:1px solid #586047;background:#1d2418;padding:18px;border-radius:10px;margin-top:18px}.stronghold-warehouse h3{font-size:17px;color:#d5c799;margin:0 0 10px}.stronghold-warehouse p{font-size:11px;color:#a2ad8d;line-height:1.8}.warehouse-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.warehouse-grid>div{min-width:0;padding:12px;background:#12180f;border-radius:7px}.warehouse-grid b{display:block;font-size:12px;color:#d2c495;margin-bottom:12px}.warehouse-grid span{display:flex;justify-content:space-between;gap:5px;font-size:10px;color:#909f7a;margin-top:8px}.warehouse-grid strong{color:#d3dcb9;overflow-wrap:anywhere}.stronghold-warehouse>small{font-size:10px;color:#abb68e}.stronghold-warehouse>small b{color:#e5c582;margin-left:8px}@media(max-width:650px){.warehouse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stronghold-warehouse{padding:14px}}
/* Timed shared collection queue: no materials are awarded before claiming. */
.collection-job{margin:0 0 18px;padding:18px;border:1px solid #9a814b;border-radius:10px;background:linear-gradient(120deg,#343222,#192016);color:#d9dabd}.collection-job.idle{display:flex;gap:13px;align-items:center;border-color:#47583d;background:#1b2318}.collection-job.idle>i{font-size:24px;color:#a2b17c}.collection-job.idle b{font-size:12px}.collection-job p{font-size:10px;color:#a9b18f;line-height:1.8;margin:10px 0 14px}.collection-job.idle p{margin:6px 0 0}.job-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.job-heading small{font-size:10px;color:#aab38e}.job-heading h3{font:20px serif;color:#e5d4a0;margin:7px 0 15px}.job-heading>span{padding:6px 10px;border:1px solid #9c874e;border-radius:5px;font-size:10px;color:#dfc98e}.collection-job.ready{border-color:#87a468}.collection-job.ready .job-heading>span{border-color:#87a468;color:#c8dda8}.job-time{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#a9b18e}.job-time b{color:#e9d196;font-variant-numeric:tabular-nums}.collection-job progress{display:block;width:100%;height:5px;border:0;accent-color:#c4a362;margin:13px 0}.collection-job>[data-job-claim]{width:100%;min-height:43px}.job-hint{display:block;text-align:center;color:#96a37e;font-size:9px;margin-top:11px}.collection-job .stronghold-speed{max-width:100%}@media(max-width:650px){.collection-job{padding:15px}.job-heading h3{font-size:18px}.job-heading>span{white-space:nowrap}}
/* Enhancement > crafting workshop, uses claimed stronghold inventory. */
.forge-screen{color:#d6d0bb}.forge-hero{padding:22px;border:1px solid #735735;border-radius:10px;background:radial-gradient(ellipse at top right,#89522733,transparent),#241c13}.forge-hero>span{color:#bd9c69;font-size:9px;letter-spacing:2px}.forge-hero h2{font:25px serif;color:#e4c88f;margin:10px 0}.forge-screen p{font-size:11px;line-height:1.8;color:#a69a83}.forge-tabs,.forge-tier-picks,.forge-slot-picks{display:grid;gap:8px;margin:14px 0}.forge-tabs{grid-template-columns:1fr 1fr}.forge-tier-picks{grid-template-columns:repeat(3,1fr)}.forge-slot-picks{grid-template-columns:repeat(6,minmax(0,1fr))}.forge-slot-picks .btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 4px;font-size:10px}.forge-section{padding:18px;margin-top:14px;background:#211b14;border:1px solid #53452e;border-radius:9px}.forge-section h3{font:16px serif;color:#d8c59b;margin:0 0 12px}.forge-section h3:not(:first-child){margin-top:19px}.forge-candidates{display:flex;flex-wrap:wrap;gap:10px}.forge-candidates>div{display:flex;flex-direction:column;align-items:center;padding:12px;flex:1;min-width:100px;background:#13120e;border:1px solid #4e432e;border-radius:7px}.forge-candidates img{width:80px;height:80px;object-fit:contain}.forge-candidates b{font-size:12px;color:#d4bd8b;margin:8px 0}.forge-candidates small{font-size:10px;color:#94836a}.forge-odds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.forge-odds>span{display:flex;flex-direction:column;text-align:center;gap:8px;padding:10px 5px;border-top:2px solid var(--rarity);background:#14120e;font-size:11px;color:var(--rarity)}.forge-odds b{font-size:17px;color:#e1d7be}.forge-materials{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.forge-material{background:#14130f;padding:12px 7px;border:1px solid #4c5238;border-radius:5px}.forge-material span{font-size:11px;color:#a8b08f;display:block;margin-bottom:8px}.forge-material b{font-size:15px;color:#d4d8bb}.forge-material small{font-size:10px;color:#939b7d}.forge-material.short{border-color:#784638}.forge-material.short b{color:#df9274}.forge-submit{width:100%;min-height:44px;margin:10px 0}.forge-section>small{display:block;font-size:10px;color:#b49a71;text-align:center}.forge-target-label{font-size:10px;color:#b6a17a}.forge-target-label select{width:100%;display:block;margin-top:8px;padding:10px;background:#13120e;color:#daccad;border:1px solid #655437;border-radius:5px}.forge-current{display:flex;align-items:center;gap:12px;padding:12px;background:#15120e;border-radius:6px}.forge-current img{width:64px;height:64px;object-fit:contain}.forge-current b{font-size:12px;color:#dcc699}.forge-current p{margin-bottom:0}.forge-option-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.forge-option-list span{display:flex;justify-content:space-between;gap:8px;padding:10px;background:#17140f;font-size:11px;color:#a89b7d}.forge-option-list b{color:#e1c797}.forge-footnote{padding:0 8px}.forge-confirm{line-height:1.8}.forge-confirm small{color:#bba27e}.forge-confirm .row-btns{margin-top:18px}.forge-label{color:#b6ca8f;font-size:10px}.forge-main-tabs{position:sticky;top:0;z-index:2;background:#15120e;padding:8px 0}@media(max-width:650px){.forge-slot-picks{grid-template-columns:repeat(3,minmax(0,1fr))}.forge-materials{grid-template-columns:repeat(2,minmax(0,1fr))}.forge-section{padding:14px}.forge-hero{padding:18px}.forge-tier-picks .btn{font-size:11px;padding:10px 4px}.forge-option-list{grid-template-columns:1fr}.forge-current>div{min-width:0}}
/* Login gate — AI mountain pass, editorial hero and focused authentication. */
.login-wordmark{display:none}
#title[data-state="gate"]{background:#0c1011;overflow-y:auto;overflow-x:hidden;isolation:isolate}
#title[data-state="gate"] .t-bg{position:fixed;inset:0;background-image:url('../assets/login-gate.webp');background-position:center;background-size:cover;filter:none;animation:none}
#title[data-state="gate"] .t-veil{position:fixed;background:linear-gradient(90deg,#070b0e30 0%,#080e1230 35%,#0b1012aa 62%,#0b1012e8 100%),linear-gradient(0deg,#090d10 0%,#080d1055 32%,#090e1022 65%,#090e1099 100%)}
#title[data-state="gate"] .t-embers{position:fixed;opacity:.4}
#title[data-state="gate"] .t-top{position:relative;inset:auto;max-width:1440px;width:100%;margin:0 auto;padding:32px clamp(24px,5vw,80px) 0;pointer-events:auto;flex-shrink:0}
#title[data-state="gate"] #logo-img{display:none}
#title[data-state="gate"] .login-wordmark{display:flex;align-items:center;gap:13px;text-decoration:none;color:#e3d8bd;font:23px serif;letter-spacing:3px}
.login-wordmark .wordmark-seal{display:grid;place-items:center;width:36px;height:42px;border:1px solid #9c6e50;color:#c79b71;font:26px serif;background:#64342220;transform:rotate(-4deg)}
.login-wordmark small{display:block;font:8px serif;letter-spacing:7px;color:#9d8c72;margin-top:6px}
#title[data-state="gate"] .t-badges{gap:10px}
#title[data-state="gate"] .tb{font-family:inherit;border-color:#aaa37f22;border-radius:4px;background:#0c1418aa;padding:8px 11px;letter-spacing:.3px;color:#abb2a9;font-size:10px}
#t-server{pointer-events:auto;cursor:pointer;font-family:inherit}
#title[data-state="gate"] .ver{background:transparent;border:0;color:#7d8580}
#title[data-state="gate"] .t-body{width:100%;max-width:1440px;min-height:calc(100dvh - 100px);padding:52px clamp(24px,5vw,80px) 30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:30px clamp(30px,6vw,96px);align-items:center;justify-items:stretch;margin:auto;flex:1}
.login-story{align-self:center;padding:30px 0 50px;min-width:0;text-shadow:0 2px 24px #020809}
.login-kicker{display:flex;align-items:center;gap:13px;color:#c2ac83;letter-spacing:3px;font-size:10px;margin-bottom:29px}
.login-kicker>span{width:28px;height:1px;background:#b79765}
.login-story h1{font-family:'Noto Serif KR',serif;font-size:clamp(32px,3.8vw,54px);font-weight:500;line-height:1.55;letter-spacing:-1.8px;color:#ebe6d7;margin:0;word-break:keep-all}
.login-story h1 em{font-style:normal;color:#d8b77f}
.login-story>p{font-size:13px;line-height:2;color:#b9beb5;margin:24px 0 31px;letter-spacing:.5px}
.login-signature{display:flex;align-items:center;gap:16px;color:#b8a988}
.login-signature>span{font:20px serif;letter-spacing:6px}.login-signature>i{width:1px;height:16px;background:#96856466}.login-signature small{font-size:10px;letter-spacing:.7px;color:#9da49b}
.login-features{display:flex;gap:22px;flex-wrap:wrap;margin-top:65px;color:#b8b7a4;font-size:10px;letter-spacing:1px}
.login-features i{color:#b39360;margin-right:8px}
#title[data-state="gate"] .login-card{width:100%;max-width:none;padding:32px 32px 26px;border:1px solid #9b866348;border-radius:5px;background:linear-gradient(145deg,#1d2425e8,#101718f5 75%);box-shadow:0 25px 90px #0007,inset 0 1px #cfc6a315;backdrop-filter:blur(18px);animation:gateIn .55s ease-out both}
.login-card-heading{display:flex;align-items:center;gap:15px;margin-bottom:29px}.login-seal{font:17px/1.25 serif;color:#b58b63;border:1px solid #8c6a424f;padding:5px 7px}.login-card-heading small{font-size:10px;color:#a89e86;letter-spacing:1px}.login-card-heading h2{font:22px serif;color:#e4d7ba;margin:9px 0 0;letter-spacing:.4px}
.login-card .ap-tabs{border-radius:0;box-shadow:none;border:0;border-bottom:1px solid #66674f55;background:none;padding:0;margin-bottom:25px;gap:20px}
.login-card .ap-tabs button{border-radius:0;padding:12px 0;background:none;box-shadow:none;color:#899289;font-size:12px;letter-spacing:1px;font-weight:400;position:relative;transition:color .2s}
.login-card .ap-tabs button.on{background:none;box-shadow:none;color:#e1c590;font-weight:600}
.login-card .ap-tabs button.on:after{content:'';position:absolute;height:2px;background:#c2a571;left:0;right:0;bottom:-1px}
.login-card .ap-form{gap:20px;margin-top:0}.login-card .ap-field{gap:9px}.login-card .ap-field .lbl{color:#c0beac;letter-spacing:.8px;font-size:11px}.login-card .lbl em{margin-left:auto;opacity:1;font-size:9px;color:#929c8e;letter-spacing:0}
.login-input{position:relative;display:flex;align-items:center}.login-input>i{position:absolute;left:15px;color:#8c9686;font-size:13px;pointer-events:none}
.login-card .ap-form input{border:1px solid #8894773a;border-radius:4px;background:#0c1214b3;box-shadow:none;color:#e6dfc9;font-size:13px;height:49px;padding:12px 14px;letter-spacing:0;min-width:0}
.login-card .login-input input{padding-left:40px}.login-card .login-input #a-pw{padding-right:48px}.login-card .ap-form input::placeholder{color:#7a837b;font-size:11px}.login-card .ap-form input:focus{border-color:#b89a62;box-shadow:0 0 0 3px #b79a5e16;background:#101719}
.login-pw-toggle{position:absolute;right:3px;top:3px;bottom:3px;width:42px;background:transparent;border:0;color:#8e9988;cursor:pointer;font-size:14px}.login-pw-toggle:hover{color:#e0c692}
.login-caps{font-size:10px;color:#d8b878}.login-card .ap-err{border-radius:4px;line-height:1.6;margin:0;font-size:11px}.login-card .a-namewrap input{width:0}.login-card .ico-btn{background:#283027;border-color:#78866155;color:#c1c8a8;border-radius:4px}
.login-card form #a-go{border-radius:4px;background:linear-gradient(100deg,#cfb17b,#b59459);color:#1e211b;border:1px solid #e1c69280;box-shadow:0 6px 18px #0004,inset 0 1px #eee0b944;display:flex;align-items:center;justify-content:center;gap:20px;height:51px;font-size:13px;margin:4px 0 0;letter-spacing:1.5px}.login-card form #a-go::after{display:none}.login-card form #a-go:hover:not(:disabled){background:linear-gradient(100deg,#e3c38d,#c7a56c)}.login-card button:disabled{opacity:.5;cursor:wait}
.login-separator{display:flex;align-items:center;gap:10px;margin:27px 0 19px;color:#7e897e;font-size:9px;letter-spacing:.3px}.login-separator:before,.login-separator:after{content:'';flex:1;height:1px;background:#79856926}
.login-card .gate-note{display:flex;justify-content:center;align-items:flex-start;gap:8px;border:0;padding:0;margin:0;color:#8d9a8c;font-size:10px;line-height:1.8;text-align:center;letter-spacing:0}.login-card .gate-note>i{margin-top:4px;color:#a5b394}
.login-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #9caa921c;padding:18px 0 0;color:#939c8b;font-size:9px;letter-spacing:1px;align-self:end}.login-bottom i{font-style:normal;margin:0 8px;color:#a88a5b}
#title[data-state="gate"] button:focus-visible,#title[data-state="gate"] a:focus-visible{outline:2px solid #ddc18b;outline-offset:4px}
@media(max-width:800px){#title[data-state="gate"] .t-top{padding:22px 24px 0}#title[data-state="gate"] .t-body{grid-template-columns:minmax(0,1fr);max-width:580px;min-height:calc(100dvh - 80px);padding:30px 24px 24px;gap:24px}.login-story{padding:5px 0 0}.login-story h1{font-size:32px;line-height:1.45;letter-spacing:-1px}.login-kicker{font-size:8px;letter-spacing:2px;margin-bottom:15px}.login-story>p,.login-signature,.login-features{display:none}#title[data-state="gate"] .t-veil{background:linear-gradient(180deg,#080f1155,#0a10128a 30%,#0b1112ed 70%,#0b1112)}#title[data-state="gate"] .t-bg{background-position:28% top}.login-bottom{font-size:8px;letter-spacing:.3px;padding-top:17px}.login-bottom>span:last-child{display:none}#title[data-state="gate"] .login-card{padding:26px}.login-card-heading{margin-bottom:20px}.login-card .ap-tabs{margin-bottom:22px}#title[data-state="gate"] .tb{font-size:9px;padding:7px 8px}#title[data-state="gate"] .ver{display:none}#title[data-state="gate"] .login-wordmark{font-size:19px;gap:10px}.login-wordmark .wordmark-seal{width:29px;height:34px;font-size:21px}.login-wordmark small{font-size:7px;letter-spacing:5px}.login-card .ap-form input{font-size:16px}.login-card .ap-form{gap:17px}}
@media(max-width:380px){#title[data-state="gate"] .t-top{padding:18px 17px 0}#title[data-state="gate"] .t-body{padding:24px 17px 20px}.login-story h1{font-size:28px}#title[data-state="gate"] .login-card{padding:22px 20px}.login-card-heading h2{font-size:20px}#title[data-state="gate"] .tb{font-size:8px}.login-wordmark small{letter-spacing:4px}}
@media(prefers-reduced-motion:reduce){#title .t-bg,#title .t-embers i,#title .gate-card{animation:none!important}.login-card *{scroll-behavior:auto!important}}
/* Authenticated courtyard and character creation share the mountain-gate palette. */
.entry-eyebrow{font-size:10px;letter-spacing:2.5px;color:#b9a477}
#title[data-state="menu"]{background:#0b1113;overflow-y:auto;overflow-x:hidden}
#title[data-state="menu"] .t-bg{position:fixed;inset:0;background:url('../assets/login-gate.webp') center/cover no-repeat;filter:brightness(.63) saturate(.65);animation:none}
#title[data-state="menu"] .t-veil{position:fixed;background:linear-gradient(90deg,#10181aaa,#0c1315c9),linear-gradient(0deg,#0b1113,transparent)}
#title[data-state="menu"] .t-embers{position:fixed;opacity:.35}
#title[data-state="menu"] .t-top{position:relative;inset:auto;padding:25px 5vw 0;max-width:1440px;width:100%;margin:0 auto;flex-shrink:0}
#title[data-state="menu"] #logo-img{height:40px}
#title[data-state="menu"] .t-ticker{display:none}
#title[data-state="menu"] .journey{width:100%;max-width:1320px;padding:35px 5vw 25px;min-height:calc(100dvh - 70px);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 65px;align-content:center;align-items:stretch;place-items:stretch}
.journey-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px}.journey-heading h1{font:32px/1.5 serif;letter-spacing:-.6px;color:#e5dfcb;margin:10px 0 0}.journey-account{font-size:11px;color:#aeb5a3;padding:10px 15px;border:1px solid #8894773b;border-radius:4px;background:#10181bc9;overflow-wrap:anywhere}
.journey-character{position:relative;min-height:430px;border:1px solid #8c9c7238;background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--class-color) 16%,transparent),transparent 65%),linear-gradient(130deg,#17202077,#0b121480);border-radius:6px;overflow:hidden;isolation:isolate}
.journey-art-hanja{position:absolute;top:25px;right:22px;writing-mode:vertical-rl;font:60px serif;letter-spacing:18px;color:#a9b69218;z-index:-1}.journey-art-ring,.creation-art-ring{position:absolute;width:270px;height:270px;border:1px solid #b0a17022;border-radius:50%;left:50%;top:46%;transform:translate(-50%,-50%);box-shadow:0 0 0 18px #a0aa7610,0 0 0 19px #a0aa7610}
.journey-hero-art{position:absolute;inset:0 0 72px;width:100%;height:calc(100% - 72px);object-fit:contain;filter:drop-shadow(0 16px 20px #000a);padding:0 15px}
.journey-art-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:30px 18px 22px;background:linear-gradient(0deg,#10181bf5,#10181bcc 65%,transparent)}.journey-art-caption>span{font-size:9px;letter-spacing:3px;color:#9eaa8a}.journey-art-caption h2{font:24px serif;letter-spacing:3px;color:#e3cf9f;margin:8px 0}.journey-art-caption p{font-size:11px;color:#a9b39c;margin:0}
.journey-actions{display:flex;flex-direction:column;justify-content:center;gap:16px;min-width:0}.journey-record{padding:20px;background:#131d1eeb;border:1px solid #8c9c7240;border-radius:5px}.journey-record-top{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#c7c7af;font-size:11px}.journey-record-top i{margin-right:6px;color:#c3a675}.journey-record-top>b{font-size:9px;font-weight:400;color:#96b394}.journey-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.journey-stats small{display:block;font-size:10px;color:#8f9e8e;margin-bottom:9px}.journey-stats b{font:22px Georgia,serif;color:#e3cea0;overflow-wrap:anywhere}.journey-location{font-size:10px;color:#b5baa3;line-height:1.8;margin:0;border-top:1px solid #9baa781f;padding-top:12px}.journey-location>span{display:block;font-size:9px;color:#83947f}.journey-record>p:not(.journey-location){font-size:12px;line-height:1.8;color:#a6b198}
.journey-enter{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(110deg,#d2b782,#ad8e55);border:1px solid #e8d5a578;border-radius:4px;padding:17px 22px;min-height:84px;color:#1a211b;text-align:left;cursor:pointer;box-shadow:0 7px 25px #0004}.journey-enter small{display:block;font-size:10px;color:#384031;margin-bottom:7px}.journey-enter b{font:24px serif;letter-spacing:2px}.journey-enter>i{font-size:19px}.journey-enter:hover{filter:brightness(1.1)}
.journey-secondary{display:grid;gap:9px}.journey-secondary button{display:flex;gap:13px;align-items:center;width:100%;padding:14px 16px;text-align:left;background:#172020cc;border:1px solid #89956e32;border-radius:4px;color:#c6c8af;cursor:pointer}.journey-secondary button>i:first-child{color:#bda36e;font-size:17px}.journey-secondary button>i:last-child{margin-left:auto;color:#748368}.journey-secondary b{display:block;font-size:12px;margin-bottom:5px}.journey-secondary small{font-size:9px;color:#909f8b}.journey-secondary button:hover:not(:disabled){border-color:#b4a37180}.journey-secondary button:disabled{opacity:.4;cursor:not-allowed}.journey-note{display:flex;gap:9px;align-items:start;color:#82957c;font-size:10px;line-height:1.7}.journey-note i{margin-top:3px}.journey-note p{margin:0}.journey-actions .t-quit{font-size:10px;color:#a4ae98;padding:0}
.journey-footer{grid-column:1/-1;border-top:1px solid #9eac8126;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#8d9a82;letter-spacing:1px}
#class-select{background:linear-gradient(100deg,#0c1315f0,#111c1edf),url('../assets/login-gate.webp') center/cover fixed;color:#d5d9c5;--chosen-color:#c9403f}
#class-select .cs-inner{max-width:1440px;padding:28px 5vw 30px;margin-block:auto}
.creation-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.creation-brand{color:#c4b38d;font:20px serif;text-decoration:none;letter-spacing:3px}.creation-brand>span{font:10px sans-serif;letter-spacing:1px;color:#83947e;margin-left:12px}.creation-header .btn{background:transparent;border:1px solid #92a17740;border-radius:4px;color:#b7c2a7;font-size:11px;padding:10px 15px}.creation-heading{margin:32px 0 25px}.creation-heading h1{font:34px/1.5 serif;color:#e1d9bf;margin:9px 0 10px;letter-spacing:-.5px}.creation-heading p{font-size:11px;color:#a0af95;line-height:1.8;margin:0}.creation-mobile-break{display:none}
.creation-layout{display:grid;grid-template-columns:190px minmax(0,1fr) minmax(260px,.9fr);gap:25px;align-items:stretch;margin:15px 0 27px;min-height:375px}
#class-select .cs-grid{display:flex;flex-direction:column;gap:9px;margin:0;align-self:center}
#class-select .cs-card{min-height:65px;padding:12px 14px;flex-direction:row;align-items:center;gap:11px;border-radius:4px;background:#152020aa;border-color:#8a9b712b;color:#b5c0a6;box-shadow:none}
#class-select .cs-card:before{display:none}#class-select .cs-card.on{border-color:color-mix(in srgb,var(--acc) 65%,#a7b187);background:linear-gradient(100deg,color-mix(in srgb,var(--acc) 18%,#16201f),#16201f);box-shadow:inset 3px 0 var(--acc)}.creation-class-index{font:10px Georgia,serif;color:#667a62}.cs-card>i:not(.creation-class-arrow){font-size:18px;color:var(--acc)}.creation-class-name{display:flex;flex-direction:column;gap:6px}.creation-class-name>b{font-size:13px;color:#d8dfc5}.creation-class-name>small{font-size:9px;color:#91a582}.creation-class-arrow{margin-left:auto;font-size:10px;color:#789064}
.creation-art{position:relative;min-width:0;isolation:isolate;min-height:380px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--chosen-color) 14%,transparent),transparent 67%);overflow:hidden}.creation-hanja{position:absolute;inset:25px 12px auto auto;font:70px serif;writing-mode:vertical-rl;letter-spacing:18px;color:#bac69b18}.creation-sprite{position:absolute;inset:0;width:100%;height:calc(100% - 25px);object-fit:contain;filter:drop-shadow(0 15px 18px #000a);z-index:1}.creation-art-note{position:absolute;bottom:4px;width:100%;text-align:center;font-size:9px;letter-spacing:.5px;color:#748c6b}
.creation-detail{padding:24px 0 20px 22px;border-left:1px solid #87976e30;align-self:center;min-width:0}.creation-detail h2{font:38px serif!important;text-align:left!important;color:#e6dac0!important;margin:14px 0!important;font-weight:400!important}.creation-detail h2 small{font-size:15px;letter-spacing:5px;color:#9cae83;margin-left:10px}.creation-detail h3{font-size:12px;line-height:1.8;color:#c5cdb2;font-weight:400;margin:0 0 12px}.creation-detail p{font-size:11px;color:#95a48b;line-height:1.9;margin:0 0 21px}.creation-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:16px 0;border-top:1px solid #8b9c7233;border-bottom:1px solid #8b9c7233}.creation-stats small{display:block;color:#8b9d7c;font-size:9px;margin-bottom:9px}.creation-stats b{font:20px Georgia,serif;color:#d7c595}.creation-stat-note{display:block;color:#71876a;font-size:8px;margin:9px 0}.creation-detail h4{font-size:10px;color:#a9b592;margin:22px 0 12px;letter-spacing:1px}.creation-skills{display:flex;flex-wrap:wrap;gap:7px}.creation-skills span{padding:8px;background:#1a292388;border:1px solid #7894602b;border-radius:3px;font-size:10px;color:#c3c9aa}.creation-skills i{margin-right:6px;color:#ab9767}
.creation-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:center;gap:25px;background:#152020ed;border:1px solid #85987144;border-radius:5px;padding:22px}.creation-name>label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#b9c3aa;margin-bottom:10px}.creation-name>label>small{font-size:9px;color:#7f9476}.cs-namewrap{display:flex;gap:8px}.creation-form .cs-name{width:100%;min-width:0;border:1px solid #7e976448;background:#0f191b;border-radius:4px;color:#e2dcc3;padding:12px;font-size:14px}.creation-form #cs-dice{padding:10px 14px;background:#24332a;color:#b7c59d;border-radius:4px;flex-shrink:0}.creation-summary b{display:block;font-size:12px;color:#cdb786;margin-bottom:8px}.creation-summary small{font-size:10px;color:#92a084;line-height:1.8;display:block}.creation-error{display:block;color:#e5a28a;font-size:11px;line-height:1.7;margin-top:7px}.creation-error:empty{display:none}.creation-form [data-start]{display:flex;align-items:center;justify-content:center;gap:23px;min-height:52px;padding:15px 23px;border-radius:4px;background:linear-gradient(100deg,#d2b883,#b29460);color:#18211b;border:1px solid #d8bd86;font-size:12px;letter-spacing:1px}.creation-form [data-start]:disabled{opacity:.5;cursor:wait}
#class-select button:focus-visible,#class-select a:focus-visible,.journey button:focus-visible{outline:2px solid #e1c28d;outline-offset:3px}.creation-form input:focus{outline:1px solid #d0b582;box-shadow:0 0 0 3px #b8a47020}
@media(max-width:1000px){.creation-layout{grid-template-columns:160px minmax(0,1fr) minmax(220px,.9fr);gap:12px}.creation-detail{padding-left:16px}.creation-form{gap:18px;grid-template-columns:1fr 1fr}.creation-form [data-start]{grid-column:1/-1}.creation-art-ring{width:205px;height:205px}#title[data-state="menu"] .journey{gap:24px 32px}}
@media(max-width:700px){#title[data-state="menu"] .t-top{padding:18px 22px 0}#title[data-state="menu"] #logo-img{height:32px}#title[data-state="menu"] .journey{grid-template-columns:minmax(0,1fr);padding:28px 22px 25px;gap:19px}.journey-heading{align-items:flex-start}.journey-heading h1{font-size:25px}.journey-account{font-size:9px;padding:7px 9px;max-width:110px}.journey-heading .entry-eyebrow{font-size:8px;letter-spacing:1px}.journey-character{min-height:280px}.journey-hero-art{height:235px;inset:-5px 0 auto}.journey-art-caption{padding:24px 15px 15px}.journey-art-caption h2{font-size:20px}.journey-art-ring{width:180px;height:180px;top:42%}.journey-stats b{font-size:21px}.journey-enter{min-height:77px}.journey-footer{font-size:8px}.journey-footer span:last-child{display:none}#class-select .cs-inner{padding:20px 18px 24px;margin:0}.creation-brand{font-size:17px}.creation-brand>span{display:none}.creation-header .btn{font-size:10px;padding:9px 11px}.creation-heading{margin:25px 0 20px}.creation-heading h1{font-size:29px}.creation-heading .entry-eyebrow{font-size:9px}.creation-heading p{font-size:10px}.creation-layout{grid-template-columns:minmax(0,1fr);gap:14px;margin:0 0 21px;min-height:0}#class-select .cs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#class-select .cs-card{min-height:76px;flex-direction:column;justify-content:center;padding:10px 3px;gap:9px}.creation-class-index,.creation-class-name>small,.creation-class-arrow{display:none}.creation-class-name>b{font-size:11px}.creation-art{min-height:280px}.creation-sprite{height:265px}.creation-hanja{font-size:52px;right:30px;top:28px}.creation-detail{padding:18px;border:1px solid #869c6833;background:#12201dc7;border-radius:4px}.creation-detail h2{font-size:30px!important;margin:10px 0!important}.creation-detail p{margin-bottom:15px}.creation-stats b{font-size:22px}.creation-skills span{font-size:10px}.creation-form{grid-template-columns:1fr;padding:18px;gap:15px}.creation-form [data-start]{grid-column:auto;width:100%}.creation-form .cs-name{font-size:16px}.creation-summary small{font-size:10px}.creation-art-note{font-size:8px}}
@media(max-width:360px){.journey-heading{flex-direction:column;gap:10px}.journey-heading h1{font-size:24px}.creation-mobile-break{display:block}.creation-heading h1{font-size:27px}.creation-stats b{font-size:19px}.creation-skills span{font-size:9px;padding:7px}}
#title[data-state="menu"] #logo-img{display:none}#title[data-state="menu"] .t-top{pointer-events:auto}#title[data-state="menu"] .login-wordmark{display:flex;align-items:center;gap:13px;text-decoration:none;color:#e3d8bd;font:23px serif;letter-spacing:3px}@media(max-width:700px){#title[data-state="menu"] .login-wordmark{font-size:19px;gap:10px}}
/* Offline return report — explicit reward preview and one final claim action. */
.modal.offline-modal{width:min(580px,94vw);max-height:90dvh;border:1px solid #897a535f;border-radius:8px;background:#121b1c;box-shadow:0 24px 90px #000b;scrollbar-color:#6f7856 #141c1c}
.offline-modal .modal-head{padding:14px 20px;border-bottom:1px solid #7e8b602b;color:#c8c9b1;font-size:12px;letter-spacing:.6px;background:#141e20}.offline-modal .modal-head .x{color:#98a68d}.offline-modal .modal-head .x:disabled{opacity:.35;cursor:not-allowed}.offline-modal .modal-body{padding:0}.offline-report{color:#dce0ca}.offline-hero{position:relative;isolation:isolate;overflow:hidden;padding:24px 25px 23px;background:linear-gradient(95deg,#101d21ec,#111c2199),url('../assets/login-gate.webp') 32% 35%/cover;border-bottom:1px solid #91a16e2b}.offline-eyebrow{font-size:9px;color:#c4ae7d;letter-spacing:2px}.offline-hero h2{font:23px/1.6 serif;color:#e5ddc4;letter-spacing:-.4px;margin:11px 0}.offline-hero p{font-size:10px;color:#a2b09a;margin:0}.offline-hero p i{color:#c3ac78;margin-right:5px}.offline-moon{position:absolute;right:27px;top:36px;font-size:60px;color:#c7ae7420;z-index:-1;transform:rotate(-18deg)}.offline-content{padding:20px 24px 16px}.offline-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-bottom:20px;border-bottom:1px solid #96a77726}.offline-time-grid>div{min-width:0}.offline-time-grid>div+div{border-left:1px solid #96a77726;padding-left:20px}.offline-time-grid span{display:block;font-size:10px;color:#9dac90;margin-bottom:7px}.offline-time-grid span i{margin-right:6px;color:#b7a278}.offline-time-grid b{display:block;font:22px/1.5 Georgia,serif;color:#e0d0a4}.offline-time-grid em,.offline-reward em{font:10px sans-serif;color:#9baa90}.offline-time-grid small{font-size:9px;color:#87987c;display:block;margin-top:5px;line-height:1.7}.offline-section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 11px}.offline-section-heading h3{font-size:12px;color:#d0d4b7;margin:0}.offline-section-heading>span{font-size:9px;color:#9cae8b}.offline-section-heading>span b{color:#e2c997;margin:0 3px}.offline-rewards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.offline-reward{min-width:0;padding:14px 12px;display:flex;align-items:center;gap:12px;border:1px solid #7c8d5c33;border-radius:5px;background:#0e1718}.offline-reward-icon{display:grid;place-items:center;flex:0 0 35px;width:35px;height:38px;border:1px solid #ab945538;border-radius:5px;background:#aa905514;color:#cfb477;font-size:17px}.offline-reward.experience .offline-reward-icon{color:#97b5b4;border-color:#658e8f44;background:#658e8f14}.offline-reward.equipment{grid-column:1/-1}.offline-reward.equipment .offline-reward-icon{color:#abb98d}.offline-reward>div{min-width:0}.offline-reward small{display:block;color:#a6b396;font-size:10px}.offline-reward b{display:block;font:21px/1.6 Georgia,serif;color:#dfc992;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.offline-reward.experience b{color:#bdced0}.offline-reward>div>span{display:block;font-size:9px;color:#93a77e;line-height:1.7}.offline-reward>div>span:empty{display:none}.offline-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px}.offline-method{padding:13px;text-align:left;background:#152021;border:1px solid #74896640;border-radius:5px;color:#a7b496;cursor:pointer;font-family:inherit}.offline-method-top{display:flex;align-items:center;gap:8px}.offline-method-top>i{font-size:12px;color:#849975}.offline-method-top>b{font-size:11px;font-weight:600}.offline-method-top>em{margin-left:auto;font-style:normal;font-size:9px;padding:2px 5px;border:1px solid #7d936b40;border-radius:3px}.offline-method>small{display:block;font-size:9px;margin-top:8px;color:#879a7c;line-height:1.6}.offline-method.selected{border-color:#baa473;background:linear-gradient(115deg,#5b4b273e,#202a22)}.offline-method.selected .offline-method-top{color:#e1cb99}.offline-method.selected .offline-method-top>i{color:#d0b176}.offline-method.incense.selected{border-color:#bfa274;background:linear-gradient(115deg,#6545264d,#272922)}.offline-method:disabled{opacity:.48;cursor:not-allowed}.offline-rules{margin-top:15px;font-size:10px;color:#8b9c7e;line-height:1.8}.offline-rules summary{cursor:pointer;color:#a2b090;min-height:28px}.offline-rules p{margin:7px 0 0}.offline-claim{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 24px;background:#192322f5;border-top:1px solid #91a16e3a;box-shadow:0 -8px 24px #10171950;backdrop-filter:blur(10px)}.offline-claim b{display:block;font-size:11px;color:#d1d0b0}.offline-claim small{display:block;font-size:9px;color:#95a582;margin-top:5px;line-height:1.7}.offline-claim .btn{min-height:46px;min-width:145px;display:flex;align-items:center;justify-content:center;gap:15px;border-radius:4px;background:linear-gradient(110deg,#d0b680,#af9059);color:#182119;border:1px solid #e0c591;font-size:12px}.offline-modal button:focus-visible,.offline-rules summary:focus-visible{outline:2px solid #e1c790;outline-offset:3px}
@media(max-width:650px){.modal-wrap:has(.offline-modal){padding:12px}.modal.offline-modal{width:100%;max-height:92dvh}.offline-modal .modal-head{padding:11px 16px;font-size:11px}.offline-hero{padding:20px 18px}.offline-hero h2{font-size:21px}.offline-content{padding:16px 17px 13px}.offline-time-grid{gap:10px;padding-bottom:16px}.offline-time-grid>div+div{padding-left:12px}.offline-time-grid b{font-size:19px}.offline-time-grid small{font-size:8px}.offline-rewards{gap:8px}.offline-reward{padding:11px 9px;gap:8px}.offline-reward-icon{flex-basis:29px;width:29px;height:34px;font-size:15px}.offline-reward b{font-size:18px}.offline-methods{gap:8px}.offline-method{padding:11px 9px}.offline-method-top{gap:5px}.offline-method-top>b{font-size:10px}.offline-method>small{font-size:8px}.offline-claim{padding:14px 17px;gap:10px}.offline-claim .btn{min-width:125px;font-size:11px;padding:11px}.offline-claim b{font-size:10px}.offline-claim small{font-size:8px}}
@media(max-width:360px){.offline-hero h2{font-size:19px}.offline-reward{flex-direction:column;align-items:flex-start;gap:6px}.offline-reward.equipment{flex-direction:row;align-items:center}.offline-claim{flex-direction:column;align-items:stretch}.offline-claim>div{text-align:center}.offline-claim .btn{width:100%}.offline-method-top>em{padding:1px 3px;font-size:8px}}
.offline-modal .modal-head{position:sticky;top:0;z-index:3;background:#141e20f7;backdrop-filter:blur(10px)}
.graphics-info{margin:10px 0 17px;padding:10px 12px;border:1px solid #8190613d;border-radius:5px;background:#14211e;font-size:10px;line-height:1.8;color:#bac7a3;overflow-wrap:anywhere}.graphics-note{display:block;margin:5px 0 12px;color:#a49d81;font-size:10px;line-height:1.7}
/* Destiny: readable individual paths, with the complete graph preserved. */
#panel.destiny-panel{width:min(1120px,96vw);background:#111b1c;border-color:#82976a55}#panel.destiny-panel #panel-body{padding:18px 20px 24px;scrollbar-color:#72805d #111b1c}.destiny-panel .fate-banner{border-radius:7px;border-color:#a99b6645;background:linear-gradient(95deg,#162323f5,#142026aa),url('../assets/login-gate.webp') 35% 30%/cover;margin-bottom:0;padding:26px}.destiny-panel .fate-banner h2{font:26px/1.5 serif;color:#e6d7b2;margin:8px 0}.destiny-panel .fate-banner p{font-size:11px;color:#a5b39a}.destiny-panel .fate-eyebrow{font-size:9px;color:#bfa775;letter-spacing:2px}.destiny-panel .fate-points{border-color:#a7b58433}.destiny-panel .fate-points strong{font:44px Georgia,serif;color:#e3c991}.destiny-panel .fate-points span{font-size:10px;color:#b8c0a2}.destiny-panel .fate-points small{font-size:10px;color:#899c7e}.fate-budget{display:flex;align-items:center;gap:14px;padding:13px 3px;color:#9aa888;font-size:10px}.fate-budget progress{flex:1;min-width:25px;height:4px;border:0;accent-color:#c5ab71}.destiny-panel .fate-toolbar{background:#182624;border:1px solid #80946538;padding:11px 13px;border-radius:5px;gap:8px;margin:0 0 10px}.destiny-panel .fate-toolbar .btn{font-size:10px;background:#18221d;color:#b2bf9e;border-color:#81986344;padding:8px 10px;min-height:35px}.fate-rest-state{font-size:10px;margin-right:auto;color:#bfaf80}.fate-rest-state.resting{color:#a3cfb0}.fate-rest-state i{margin-right:6px}.fate-edit-note{font-size:10px;color:#b5af8d;line-height:1.7;margin:10px 2px 17px}.fate-edit-note i{margin-right:6px;color:#c4ae77}.destiny-panel .fate-paths{gap:9px}.destiny-panel .fate-paths button{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;padding:13px;border-radius:5px;background:#172423;border-color:#75926133}.destiny-panel .fate-paths b{font:27px serif;grid-row:span 2}.destiny-panel .fate-paths span{font-size:12px;color:#b8c4ab}.destiny-panel .fate-paths small{margin:0;font-size:9px;color:#7e9574}.destiny-panel .fate-paths button.on{border-color:var(--fate);background:linear-gradient(120deg,color-mix(in srgb,var(--fate) 10%,#13201e),#19271f);box-shadow:inset 0 -2px var(--fate)}.fate-viewbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.fate-viewbar>span{font-size:10px;color:#8d9e80}.fate-viewbar>div{display:flex;padding:3px;background:#0c1719;border:1px solid #8096643b;border-radius:5px}.fate-viewbar button{background:transparent;color:#849775;border:0;border-radius:3px;padding:8px 10px;font-size:10px;cursor:pointer}.fate-viewbar button.active{background:#34402d;color:#dec896}.destiny-panel .fate-layout{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.destiny-panel .fate-board{border-radius:7px;border-color:#78936042;background:#101b1c}.destiny-panel .fate-board-head{background:#1a2926;border-color:#8a9e6c2b;color:#bdc6ad;font-size:11px;padding:12px 16px}.destiny-panel .fate-board-head i{margin-right:7px;color:#c3ac78}.fate-route{padding:18px 19px;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--fate) 6%,transparent),transparent 70%)}.fate-route[hidden],.fate-map[hidden],.fate-legend[hidden],[data-fate-center][hidden]{display:none!important}.fate-route-intro{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:17px}.fate-route-intro b{color:var(--fate);font:18px serif}.fate-route-intro p{font-size:10px;color:#97aa88;margin:6px 0 0;line-height:1.7}.fate-route-intro>span{font-size:10px;white-space:nowrap;color:#c2b488;border:1px solid #92a46d38;padding:5px 8px;border-radius:4px}.fate-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;position:relative}.fate-route-grid:before{content:'';position:absolute;left:50%;top:20px;bottom:20px;border-left:1px dashed #a4b47838;z-index:0}.fate-route-node{min-width:0;position:relative;display:flex;align-items:center;gap:9px;min-height:65px;padding:10px 12px;background:#14221f;border:1px solid #66825855;border-radius:5px;text-align:left;cursor:pointer;color:#a5b799;font-family:inherit;z-index:1}.fate-route-node.wide{grid-column:1/-1}.fate-route-symbol{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid #75916055;border-radius:50%;background:#0c1918;color:#739065;font-size:12px}.fate-route-node.key .fate-route-symbol{border-radius:5px}.fate-route-copy{flex:1;min-width:0}.fate-route-copy b{font-size:11px;line-height:1.6;display:block;overflow-wrap:anywhere}.fate-route-copy small{font-size:9px;color:#78906d;display:block;line-height:1.7}.fate-route-meta{flex-shrink:0;text-align:right}.fate-route-meta b{font:13px Georgia,serif;color:#b6a379}.fate-route-meta small{display:block;font-size:8px;color:#728769;margin-top:4px}.fate-route-node.available{border-color:color-mix(in srgb,var(--fate) 55%,#324130)}.fate-route-node.available .fate-route-symbol{color:var(--fate);border-color:var(--fate)}.fate-route-node.learned{background:color-mix(in srgb,var(--fate) 9%,#14221f);border-color:color-mix(in srgb,var(--fate) 65%,#283729)}.fate-route-node.learned .fate-route-symbol{background:var(--fate);color:#14241d}.fate-route-node.learned .fate-route-meta small{color:var(--fate)}.fate-route-node.selected{outline:2px solid #d9c18b;outline-offset:2px}.fate-route-node.locked{background:#111c1b}.fate-route-note{font-size:9px;color:#9fa37e;line-height:1.8;margin:16px 0 0}.fate-route-note i{margin-right:6px}.destiny-panel .fate-detail{border-radius:7px;border-color:#7c946441;border-top:2px solid var(--fate);background:linear-gradient(145deg,#22332a,#14201e);padding:20px;scroll-margin-top:12px}.destiny-panel .fate-detail-tag{font-size:11px}.destiny-panel .fate-detail-tag span{color:#a7b393;border-color:#7d92664b}.fate-detail-icon{display:grid;place-items:center;width:51px;height:51px;border:1px solid color-mix(in srgb,var(--fate) 40%,transparent);border-radius:8px;background:color-mix(in srgb,var(--fate) 7%,#10211c);color:var(--fate);font-size:22px;margin:23px 0 14px}.destiny-panel .fate-detail h3{font:25px serif;color:#e2d5b3;letter-spacing:0;margin:0 0 10px}.fate-detail-intro{font-size:10px;color:#91a483;line-height:1.8;margin:0}.destiny-panel .fate-effects{margin:16px 0;padding:13px 0;border-color:#94ab752a}.destiny-panel .fate-effects li{font-size:12px;color:#b9d2ac}.destiny-panel .fate-effects li.penalty{color:#e9a18c}.destiny-panel .fate-requires{color:#91a181}.destiny-panel .fate-requires b{color:#c4c9aa}.destiny-panel .fate-detail .fate-learn{background:linear-gradient(110deg,#cbb27b,#a58c57);color:#16231c;border-color:#d2b97b;min-height:45px;margin-top:16px}.destiny-panel .fate-learn:disabled{opacity:.43}.destiny-panel .fate-status{color:#aeb293;font-size:10px;min-height:0}.destiny-panel .fate-behavior{background:#2940316b;color:#afc49f;font-size:11px;border-color:var(--fate)}.destiny-panel .fate-summary{background:#182723;border-color:#8297653d;border-radius:6px;padding:18px}.destiny-panel .fate-summary h3{color:#d0c8a7;font-size:12px}.destiny-panel .fate-summary p{color:#93a583}.destiny-panel .fate-summary>div span{background:#20362a;border-color:#6d8d584b;color:#b6cfa6}.destiny-panel .fate-summary>div span.penalty{color:#e1a88f;border-color:#ac755744;background:#382b203f}.fate-back-route{display:none}.fate-preset-drawer{border:1px solid #7e96633a;border-radius:6px;margin-top:16px;background:#15211f}.fate-preset-drawer>summary{display:flex;justify-content:space-between;gap:12px;padding:17px;cursor:pointer;color:#c4ba95;font-size:12px;list-style:none}.fate-preset-drawer>summary>small{font-size:9px;color:#8c9e7d}.fate-preset-drawer>summary i{margin-right:7px}.fate-preset-drawer>summary:after{content:'+';color:#ccb480}.fate-preset-drawer[open]>summary:after{content:'−'}.destiny-panel .fate-presets{margin:0;padding:0 16px 16px;background:none;border:0;border-radius:0}.destiny-panel .fate-presets h3{font-size:12px;color:#b7c2a2}.destiny-panel .fate-presets h3 small{font-size:10px;color:#899b7e}.destiny-panel .fate-presets article{border:1px solid #7c95623c;border-radius:5px;background:#1c2b24}.destiny-panel .fate-presets label,.destiny-panel .fate-presets article small{color:#9db18d;font-size:10px}.destiny-panel .fate-presets input{background:#0f1c1c;border-color:#76966247;color:#d2d7bd;min-height:39px}.destiny-panel button:focus-visible,.fate-preset-drawer summary:focus-visible{outline:2px solid #edd096;outline-offset:3px}.destiny-panel .fate-map{scrollbar-color:#678257 #14201f}.destiny-panel .fate-canvas{background-color:#0f191d}
@media(max-width:760px){#panel.destiny-panel #panel-body{padding:12px 12px 20px}.destiny-panel .fate-banner{padding:18px 15px;gap:10px}.destiny-panel .fate-banner h2{font-size:21px}.destiny-panel .fate-banner p{font-size:10px}.destiny-panel .fate-points{min-width:73px;padding-left:12px}.destiny-panel .fate-points strong{font-size:35px}.destiny-panel .fate-points span{font-size:8px}.fate-budget{font-size:9px;gap:8px;flex-wrap:wrap}.fate-budget progress{min-width:30px}.destiny-panel .fate-toolbar{padding:10px;display:grid;grid-template-columns:1fr 1fr}.fate-rest-state{align-self:center;font-size:9px}.destiny-panel .fate-toolbar .btn{font-size:9px;min-height:38px;padding:7px 4px}.destiny-panel .fate-paths{gap:5px}.destiny-panel .fate-paths button{display:flex;flex-direction:column;gap:4px;padding:10px 3px}.destiny-panel .fate-paths b{font-size:24px}.destiny-panel .fate-paths span{font-size:10px}.destiny-panel .fate-paths small{font-size:8px}.fate-viewbar{align-items:flex-start;flex-direction:column;gap:9px}.fate-viewbar>div{width:100%}.fate-viewbar button{flex:1;min-height:35px}.destiny-panel .fate-layout{grid-template-columns:minmax(0,1fr);gap:14px}.fate-route{padding:15px 12px}.fate-route-intro{gap:8px}.fate-route-intro b{font-size:17px}.fate-route-intro p{font-size:9px}.fate-route-grid{gap:11px 9px}.fate-route-node{padding:9px 8px;gap:7px;min-height:69px;flex-wrap:wrap}.fate-route-symbol{width:27px;height:27px;flex-basis:27px;font-size:11px}.fate-route-copy b{font-size:10px}.fate-route-copy small{font-size:8px}.fate-route-node:not(.wide) .fate-route-meta{width:100%;display:flex;justify-content:space-between;align-items:center}.fate-route-meta small{margin-top:0}.destiny-panel .fate-detail{display:block;padding:18px}.fate-detail-icon{width:43px;height:43px;font-size:18px;margin:17px 0 12px}.destiny-panel .fate-detail h3{font-size:23px}.destiny-panel .fate-effects{padding:12px 0;margin:12px 0}.fate-back-route{display:block;width:100%;border:0!important;background:transparent!important;color:#9fae88;font-size:10px!important;cursor:pointer;padding:8px!important}.fate-preset-drawer>summary{padding:15px 12px;font-size:11px;flex-wrap:wrap}.fate-preset-drawer>summary>small{font-size:8px}.destiny-panel .fate-presets>div{grid-template-columns:1fr}.destiny-panel .fate-presets input{font-size:16px}.destiny-panel .fate-summary small{display:block;margin:6px 0 0}.fate-route-note{font-size:8px}}
.fate-budget progress{appearance:none;background:#2a382d;border-radius:3px;overflow:hidden}.fate-budget progress::-webkit-progress-bar{background:#2a382d}.fate-budget progress::-webkit-progress-value{background:#bfa774}.fate-budget progress::-moz-progress-bar{background:#bfa774}

/* Active buffs follow the skill dock, without shifting combat buttons. */
.skill-dock-wrap{position:relative;flex-shrink:0;min-width:0}
.skill-dock-wrap #hud-skill-status{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:max-content;max-width:min(420px,calc(100vw - 24px));margin:0;justify-content:center;gap:4px;font-size:10px;line-height:1.5;pointer-events:none}
.skill-dock-wrap #hud-skill-status span{max-width:100%;overflow-wrap:anywhere;padding:3px 7px;background:#182430ed;box-sizing:border-box}
@media(max-width:700px){.skill-dock-wrap #hud-skill-status{bottom:calc(100% + 6px);font-size:9px;gap:3px}}

/* Mobile status stack: measured content flow, including dynamic notices. */
#mobile-hud-stack{display:none}
.fe-actions[hidden]{display:none!important}
@media(max-width:900px){
 #hud #mobile-hud-stack{position:absolute;display:flex;flex-direction:column;gap:5px;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));max-height:min(48dvh,calc(100dvh - 235px));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:auto;z-index:18;border-radius:10px}
 #mobile-hud-stack>*{flex-shrink:0;box-sizing:border-box;min-width:0}
 #mobile-hud-stack>.hud-corner.tl{position:static;width:100%;max-width:none;gap:5px;order:0}
 #mobile-hud-stack .hud-id{padding:6px 9px}
 #mobile-hud-stack #hud-info{flex-wrap:wrap;white-space:normal;gap:4px 7px}
 #mobile-hud-stack #hud-info .title-tag{max-width:100%;overflow-wrap:anywhere}
 #mobile-hud-stack .hpbar{min-width:0;width:100%;font-size:10px;gap:6px}
 #mobile-hud-stack .hpbar>.bar{min-width:25px}
 #mobile-hud-stack .hpbar>span{flex-shrink:0}
 #mobile-hud-stack .hud-chips{gap:4px}
 #mobile-hud-stack .chip{font-size:9px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
 #mobile-hud-stack #growth-goal-chip{width:100%;max-width:none;min-height:30px;padding:5px 9px}
 #mobile-hud-stack>.hud-currency{position:static;inset:auto;transform:none;width:100%;order:1}
 #mobile-hud-stack .curr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
 #mobile-hud-stack .curr>span{min-width:0;padding:5px 4px;font-size:10px;justify-content:center;gap:4px;border-radius:6px;flex-wrap:wrap}
 #mobile-hud-stack .curr>span::after{font-size:8px;margin-left:0}
 #mobile-hud-stack .curr b{overflow-wrap:anywhere;min-width:0}
 #mobile-hud-stack>#cloud-state{position:static;inset:auto;transform:none;max-width:100%;width:100%;order:2;border-radius:6px;font-size:9px;padding:4px 8px;white-space:normal;overflow-wrap:anywhere;line-height:1.5;pointer-events:none}
 #mobile-hud-stack>#field-event-hud{position:static;inset:auto;transform:none;width:100%;max-height:none;overflow:visible;margin:0;order:3;font-size:10px;padding:8px 10px}
 #mobile-hud-stack>#instance-hud{position:static;inset:auto;transform:none;width:100%;order:4}
 #mobile-hud-stack .inst-card{min-width:0;width:100%;box-sizing:border-box}
 .panel-open #mobile-hud-stack{visibility:hidden;pointer-events:none}
}

/* Destiny node atlas: fit the complete graph instead of scrolling a fixed canvas. */
#panel.destiny-panel{width:min(1260px,98vw)}
.destiny-panel .fate-banner{padding:12px 16px;background:#182824}
.destiny-panel .fate-banner h2{font-size:20px;margin:3px 0}
.destiny-panel .fate-banner p{font-size:10px}
.destiny-panel .fate-points strong{font-size:30px}
.destiny-panel .fate-budget{padding:8px 2px}
.destiny-panel .fate-toolbar{padding:6px 9px;margin-bottom:5px}
.destiny-panel .fate-edit-note{margin:5px 2px 9px}
.destiny-panel .fate-paths{gap:5px;margin-bottom:8px}
.destiny-panel .fate-paths button{display:flex;flex-direction:row;align-items:center;padding:7px 10px;gap:8px}
.destiny-panel .fate-paths b{font-size:21px}.destiny-panel .fate-paths small{margin-left:auto}
.destiny-panel .fate-layout{grid-template-columns:minmax(0,1fr) 270px;gap:12px}
.destiny-panel .fate-viewbar{margin-bottom:8px}
.destiny-panel .fate-map{height:440px;min-height:0;overflow:hidden;touch-action:pan-y}
.destiny-panel .fate-canvas{width:100%;height:100%;background-size:22px 22px,100% 100%}
.destiny-panel .fate-origin{left:50%;top:7.397%;pointer-events:none}
.destiny-panel .fate-origin i{width:26px;height:26px;font-size:13px}
.destiny-panel .fate-origin span{font-size:8px;margin-top:2px}
.destiny-panel .fate-path-label{top:14%;font-size:16px;letter-spacing:0;white-space:nowrap}
.destiny-panel .fate-path-label small{font-size:9px}
.destiny-panel .fate-node{width:10%;min-height:0;transform:translate(-50%,-15px)}
.destiny-panel .fate-node-disc{width:28px;height:28px;margin:0 auto 3px;font-size:11px;border-width:2px}
.destiny-panel .fate-node.key .fate-node-disc{border-radius:7px;width:29px;height:29px}
.destiny-panel .fate-node.apex .fate-node-disc{border-radius:8px;width:31px;height:31px}
.destiny-panel .fate-node-name{font-size:9px;letter-spacing:-.3px;white-space:normal;line-height:1.25;color:#b7c1ad}
.destiny-panel .fate-node.available .fate-node-name,.destiny-panel .fate-node.learned .fate-node-name{color:#f0e6cd}
.destiny-panel .fate-cost{font-size:8px;line-height:1.3}
.destiny-panel .fate-node.selected .fate-node-disc{outline-offset:2px}
.destiny-panel .focused .fate-node{width:130px}
.destiny-panel .focused .fate-node-name{font-size:12px}
.destiny-panel .focused .fate-cost{font-size:9px}
.destiny-panel .fate-detail{padding:15px}
.destiny-panel .fate-detail-icon{display:none}
.destiny-panel .fate-detail h3{font-size:22px;margin:16px 0 8px}
.fate-node-hint{margin:0;padding:9px 12px;background:#1c2d25;color:#e2c994;font-size:11px;line-height:1.7;border-top:1px solid #64724b44}
.fate-node-hint small{color:#90a589;font-size:9px}
@media(max-width:760px){
 #panel.destiny-panel{width:100%;height:96dvh}
 #panel.destiny-panel #panel-body{padding:8px}
 .destiny-panel .fate-banner{padding:9px 10px}.destiny-panel .fate-banner h2{font-size:16px}.destiny-panel .fate-banner p{font-size:8px}.destiny-panel .fate-eyebrow{font-size:8px;letter-spacing:1px}
 .destiny-panel .fate-points{min-width:62px;padding-left:8px}.destiny-panel .fate-points strong{font-size:26px}
 .destiny-panel .fate-toolbar{display:flex;flex-wrap:wrap;gap:5px}.destiny-panel .fate-toolbar .btn{min-height:30px;padding:5px;font-size:8px}.destiny-panel .fate-rest-state{font-size:8px}
 .destiny-panel .fate-paths button{flex-direction:column;gap:2px;padding:5px 2px}.destiny-panel .fate-paths small{margin:0;font-size:8px}.destiny-panel .fate-paths b{font-size:19px}
 .destiny-panel .fate-layout{grid-template-columns:minmax(0,1fr)}
 .destiny-panel .fate-viewbar{gap:4px}.destiny-panel .fate-viewbar>span{font-size:9px}.destiny-panel .fate-viewbar button{padding:5px;min-height:29px}
 .destiny-panel .fate-map{height:350px}
 .destiny-panel .fate-board-head{padding:8px;font-size:10px;gap:4px}.destiny-panel .fate-board-head .btn{font-size:9px;max-width:60%;white-space:normal}
 .destiny-panel .overview .fate-node-name,.destiny-panel .overview .fate-cost{display:none}
 .destiny-panel .overview .fate-node{width:9%;height:38px;transform:translate(-50%,-19px);display:grid;place-items:center}
 .destiny-panel .overview .fate-node-disc{width:23px;height:23px;font-size:9px;margin:0;border-width:1px}
 .destiny-panel .overview .fate-node.selected .fate-node-disc{outline-width:2px;outline-offset:1px}
 .destiny-panel .fate-path-label{font-size:13px;top:14%}.destiny-panel .fate-path-label small{display:none}
 .destiny-panel .focused{height:430px}.destiny-panel .focused .fate-node{width:110px}.destiny-panel .focused .fate-node-name{font-size:11px}
 .destiny-panel .fate-legend{padding:7px;gap:7px;font-size:8px}
}
.destiny-panel .fate-banner{padding:8px 12px}.destiny-panel .fate-banner h2{font-size:18px;line-height:1.3}.destiny-panel .fate-points strong{font-size:26px}.destiny-panel .fate-points small{margin-top:2px}.destiny-panel .fate-budget{padding:6px 2px}.destiny-panel .fate-board-head{padding:6px 10px}.destiny-panel .fate-board-head .btn{min-height:28px;padding:4px 8px}.destiny-panel .overview .fate-cost{display:none}.destiny-panel .fate-map.overview{height:380px}
@media(max-width:760px){.destiny-panel .fate-banner h2{font-size:15px}.destiny-panel .fate-paths button{display:grid;grid-template-columns:auto 1fr;gap:2px;padding:5px}.destiny-panel .fate-paths b{grid-row:span 2;font-size:18px}.destiny-panel .fate-paths span{font-size:9px}.destiny-panel .fate-paths small{font-size:7px}.destiny-panel .fate-map.overview{height:clamp(260px,calc(100dvh - 390px),350px)}}
@media(max-width:760px){.destiny-panel .overview .fate-node:is(.key,.apex) .fate-node-disc{width:23px;height:23px}.destiny-panel .overview .fate-node{width:8.5%}}

/* Mobile navigation: stable semantic groups and an explicit treasure shop. */
#more-menu.open{display:block;max-height:min(72dvh,calc(100dvh - 100px));padding:12px;overscroll-behavior:contain;scrollbar-width:thin}
.mobile-menu-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 2px 12px;border-bottom:1px solid #62523366;color:#e8d7b3}
.mobile-menu-heading strong{font-size:15px}.mobile-menu-heading>span{font-size:10px;color:#9e947d}
.mobile-menu-group h3{font-size:11px;color:#c6ad7e;margin:14px 2px 8px;letter-spacing:.5px}
.mobile-menu-group>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#more-menu.open .mobile-menu-group button{min-width:0;min-height:62px;padding:10px 3px;font-size:11px;border-radius:8px;cursor:pointer}
#more-menu.open .mobile-menu-group button span{white-space:nowrap}
#more-menu.open button.menu-shop{border-color:#bfa05b;background:linear-gradient(135deg,#46361a,#231c12);color:#ffe2a1}
#more-menu.open button.active{outline:1px solid #e3bc68;background:#3b3020}
#more-menu.open button:focus-visible{outline:2px solid #f7d88a;outline-offset:1px}
@media(min-width:901px){#more-menu.open{display:none}}
@media(max-width:900px){#tabbar .tab-btn{min-width:0}#tabbar [data-panel=shop]{display:flex;flex:1;color:#f3ce71}#tabbar [data-panel=shop].active{color:#241a09}}
@media(max-width:900px){#panel{bottom:calc(70px + env(safe-area-inset-bottom));max-height:calc(100dvh - 78px - env(safe-area-inset-bottom))}#tabbar,#more-menu{pointer-events:auto}}

/* Compact mobile HUD: only health and wallet are persistent. */
@media(max-width:900px){
 #hud>.hud-corner.tl{display:none}
 #hud #mobile-hud-stack{display:block;max-height:none;overflow:visible;pointer-events:none;border-radius:0}
 #mobile-hud-stack .mobile-hud-persistent{display:flex;flex-direction:column;gap:4px;pointer-events:auto}
 #mobile-hud-stack .hud-id{width:100%;box-sizing:border-box;padding:5px 8px;background:#111810e8}
 #mobile-hud-stack #hud-info{font-size:10px;margin-bottom:3px;flex-wrap:nowrap;overflow:hidden;white-space:nowrap}
 #mobile-hud-stack #hud-info .lv{font-size:10px}
 #mobile-hud-stack #hud-info .title-tag{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
 #mobile-hud-stack .hud-currency{position:static;inset:auto;transform:none;width:100%;opacity:1}
 #mobile-hud-stack .curr>span{padding:4px 3px;font-size:10px;flex-wrap:nowrap;overflow:hidden}
 #mobile-hud-stack .curr b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #mobile-hud-stack .curr>span::after{display:none}
 #mobile-hud-stack .mobile-hud-tools{position:absolute;top:calc(100% + 7px);left:0;right:0;display:flex;justify-content:space-between;pointer-events:none}
 #mobile-hud-stack .mobile-hud-tools>div{display:flex;gap:7px;pointer-events:none}
 #mobile-hud-stack .mobile-hud-tools button,#mobile-hud-stack [data-hud-close]{width:40px;height:40px;min-height:40px;display:grid;place-items:center;padding:0;background:#131d18ee;border:1px solid #9b895355;border-radius:12px;color:#d6bd83;font-size:16px;pointer-events:auto;cursor:pointer;box-shadow:0 3px 9px #0005}
 #mobile-hud-stack .mobile-hud-tools button[aria-expanded=true]{color:#18180f;background:#d3b777;border-color:#f0d393}
 #mobile-hud-stack [data-hud-drawer]{position:absolute;top:calc(100% + 54px);left:0;right:0;max-height:min(42dvh,calc(100dvh - 240px));overflow:auto;overscroll-behavior:contain;padding:10px;background:#111b17f5;border:1px solid #9b895366;border-radius:12px;pointer-events:auto;box-shadow:0 10px 25px #0008}
 #mobile-hud-stack [data-hud-drawer][hidden]{display:none!important}
 #mobile-hud-stack [data-hud-drawer]>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12px;color:#d6c499}
 #mobile-hud-stack [data-hud-close]{width:32px;height:32px;min-height:32px;font-size:13px;border-radius:8px;box-shadow:none}
 #mobile-hud-stack .mobile-hud-content{display:flex;flex-direction:column;gap:7px}
 #mobile-hud-stack #cloud-state{position:static;inset:auto;transform:none;display:flex;align-items:center;max-width:100%;width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.5;border-radius:8px;pointer-events:none}
 #mobile-hud-stack #cloud-state .cloud-state-copy{white-space:normal;overflow-wrap:anywhere}
 #mobile-hud-stack #field-event-hud,#mobile-hud-stack #instance-hud{position:static;inset:auto;transform:none;width:100%;max-height:none;box-sizing:border-box;margin:0;overflow:visible}
 #mobile-hud-stack #field-event-hud{padding:9px;font-size:10px}
 #mobile-hud-stack button:focus-visible{outline:2px solid #f2d48f;outline-offset:2px}
 .panel-open #mobile-hud-stack .mobile-hud-tools,.panel-open #mobile-hud-stack [data-hud-drawer]{visibility:hidden;pointer-events:none}
}
@media(max-width:900px){#mobile-growth-drawer:has(#growth-goal-chip[hidden]) .mobile-hud-content::after{content:'현재 전투가 끝나면 성장 목표를 확인할 수 있습니다.';font-size:11px;color:#a5ad96;line-height:1.7}#mobile-event-drawer:has(#field-event-hud[hidden]):has(#instance-hud[style*="none"]) .mobile-hud-content::after{content:'현재 표시할 사건·전투 안내가 없습니다.';font-size:11px;color:#a5ad96;line-height:1.7}}

/* Summon: preview, exact wallet quote, reveal, and an optional collection list. */
#panel.summon-panel{width:min(880px,96vw);background:#111b1c;border-color:#81734b}
.summon-screen{color:#d8d8bf}.summon-screen button{font-family:inherit;cursor:pointer}.summon-screen button:disabled{cursor:not-allowed;opacity:.45}
.summon-hero{display:grid;grid-template-columns:1fr 220px;min-height:235px;overflow:hidden;position:relative;border:1px solid #a3936555;border-radius:12px;background:linear-gradient(90deg,#122622f5,#13232188),url('../assets/ui/banner_summon.jpg') center/cover}
.summon-hero-copy{padding:30px 24px;z-index:1}.summon-kicker{font-size:10px;color:#b8aa7e;letter-spacing:2px}.summon-hero h2{font:32px/1.4 serif;color:#ebd8a4;margin:12px 0}.summon-hero p{font-size:12px;color:#9eaf99;line-height:1.8;margin:0 0 18px}.summon-collected{font-size:11px;color:#a4b494}.summon-collected b{color:#daca9e;margin-left:7px}
.summon-feature{position:relative;display:flex;justify-content:center;align-items:flex-end;background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--summon-color) 18%,transparent),transparent 65%)}.summon-feature>img{height:225px;max-width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 7px 10px #0009);margin-bottom:30px}.summon-feature>div{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#101d1df5 45%);text-align:center;padding:22px 8px 13px;display:grid;gap:4px}.summon-feature small{color:var(--summon-color);font-size:9px}.summon-feature b{color:#eadbb7;font:20px serif}.summon-feature span{font-size:9px;color:#9fb291}
.summon-wallet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0 18px}.summon-wallet>span{display:flex;gap:6px;align-items:center;padding:11px 9px;border:1px solid #6b805143;background:#182621;border-radius:6px;font-size:10px;color:#95aa8d;flex-wrap:wrap}.summon-wallet i{color:#ccb888}.summon-wallet b{margin-left:auto;font-size:13px;color:#e4d7b2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.summon-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.summon-section-title h3{font-size:14px;color:#d9c79e;margin:0}.summon-section-title small{font-size:9px;color:#91a084}.summon-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summon-action{border:1px solid #7e90665c;border-radius:9px;background:linear-gradient(135deg,#24372d,#192722);color:#d3d9bd;padding:15px;text-align:left;display:flex;flex-direction:column;gap:8px}.summon-action>span{font-size:15px;display:flex;justify-content:space-between}.summon-action strong{font-size:12px;font-weight:500}.summon-action small{font-size:9px;opacity:.7}.summon-action.primary{background:linear-gradient(110deg,#d5bd83,#ad945f);border-color:#e5cc8d;color:#202b20}.summon-action i{font-size:12px}
.summon-silk{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%;border:1px solid #71896555;background:#1a2b25;border-radius:6px;color:#c1cfaa;padding:12px;font-size:11px;margin-top:8px}.summon-silk>span{margin-left:auto;font-size:9px;color:#8ca586}.summon-note{color:#92a389;font-size:10px;line-height:1.8;margin:10px 0 17px}
.summon-results{padding:16px;background:#1c2c23;border:1px solid #b0996255;border-radius:10px;margin:20px 0;scroll-margin:12px}.summon-results[hidden]{display:none}.summon-result-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.summon-result-card{min-width:0;border:1px solid color-mix(in srgb,var(--summon-color) 60%,transparent);border-radius:7px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--summon-color) 10%,#10201a),#111c19);position:relative;padding:10px 5px;color:#e0d6b7;display:flex;flex-direction:column;gap:5px;align-items:center;animation:summon-appear .3s both;animation-delay:var(--reveal)}.summon-result-card img{width:100%;height:90px;object-fit:contain}.summon-result-card b{font-size:11px}.summon-result-card small{font-size:9px;color:#91a58b}.summon-result-card.is-new small{color:#ecd598}.summon-result-grade{font-size:9px;color:var(--summon-color);align-self:flex-start}.summon-results>.btn{width:100%;margin-top:12px;font-size:11px}.summon-results .summon-section-title{flex-wrap:wrap}
.summon-pool{border-top:1px solid #78865b44;padding-top:18px;margin-top:18px}.summon-filters{display:flex;gap:5px;margin-bottom:12px}.summon-filters button{flex:1;border:1px solid #7e8c5f44;background:#13221e;color:#8ea082;border-radius:5px;padding:8px 4px;font-size:10px}.summon-filters button.on{background:#34432c;border-color:#b29d67;color:#e4cda0}.summon-pool-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.summon-pool-card{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;background:#17251f;border:1px solid #6c80583d;border-radius:7px;padding:10px 5px;color:#b7c1a8}.summon-pool-card small{font-size:8px;color:var(--summon-color)}.summon-pool-card img{height:95px;width:100%;object-fit:contain}.summon-pool-card b{font-size:12px;color:#d4cfb3}.summon-pool-card>span{font-size:9px;color:#8fa280}.summon-pool-card.selected{border-color:#d7be80;background:#283729}
.summon-info{margin-top:18px;border:1px solid #77895f44;border-radius:7px;padding:13px;background:#15231e}.summon-info summary{font-size:11px;color:#bdbe9e;cursor:pointer}.summon-info p{font-size:10px;color:#8fa389;line-height:1.8}.summon-odds{display:grid;grid-template-columns:1fr 1fr;gap:6px}.summon-odds>span{display:flex;justify-content:space-between;padding:7px;background:#1e3026;color:#a9baa0;font-size:10px}.summon-odds b{color:#d9cca5}.summon-confirm ul{list-style:none;padding:12px;background:#17221c;border:1px solid #ad98584d;border-radius:8px}.summon-confirm li{display:flex;justify-content:space-between;gap:15px;margin:9px 0}.summon-confirm p{line-height:1.8}
.summon-screen button:focus-visible{outline:2px solid #f1d291;outline-offset:2px}
@keyframes summon-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.summon-result-card{animation:none}}
@media(max-width:650px){#panel.summon-panel{width:100%;height:94dvh}#panel.summon-panel #panel-body{padding:12px}.summon-hero{grid-template-columns:1fr 130px;min-height:190px;border-radius:9px}.summon-hero-copy{padding:20px 12px}.summon-kicker{font-size:8px;letter-spacing:1px}.summon-hero h2{font-size:24px;margin:12px 0}.summon-hero p{font-size:10px}.summon-collected{font-size:9px}.summon-feature>img{height:180px}.summon-feature b{font-size:17px}.summon-feature small,.summon-feature span{font-size:8px}.summon-wallet{gap:4px;margin:9px 0 15px}.summon-wallet>span{padding:8px 6px;font-size:9px;gap:4px}.summon-wallet b{font-size:11px}.summon-actions{gap:7px}.summon-action{padding:12px 10px;gap:9px}.summon-action>span{font-size:13px}.summon-action strong{font-size:10px}.summon-action small{font-size:8px}.summon-silk{font-size:10px}.summon-pool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.summon-pool-card img{height:87px}.summon-section-title{align-items:flex-start;flex-wrap:wrap;gap:5px}.summon-section-title h3{font-size:13px}.summon-section-title small{font-size:8px}.summon-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.summon-results{padding:12px}.summon-result-card img{height:76px}.summon-result-card b{font-size:10px}.summon-result-card small{font-size:8px}}
@media(max-width:350px){.summon-hero{grid-template-columns:1fr 105px}.summon-hero h2{font-size:21px}.summon-hero-copy{padding:18px 10px}.summon-wallet>span{font-size:8px}.summon-wallet b{font-size:10px}}

/* Permanent cosmetic collection bonus: distinct ownership, never equipment count. */
.cosmetic-bonus-panel{margin:12px 0 18px;padding:12px 14px;border:1px solid #9d89524d;border-radius:9px;background:linear-gradient(120deg,#253227,#15231e);color:#bbc8aa}
.cosmetic-bonus-panel summary{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;cursor:pointer;font-size:12px;list-style:none}
.cosmetic-bonus-panel summary>span i{color:#d6bd80;margin-right:5px}.cosmetic-bonus-panel summary small{font-size:10px;color:#96aa86;margin-left:7px}.cosmetic-bonus-panel summary>b{font-size:11px;font-weight:500;color:#e6d099}.cosmetic-bonus-panel summary:after{content:'+';color:#d6bd80}.cosmetic-bonus-panel[open] summary:after{content:'−'}
.cosmetic-bonus-panel p{font-size:11px;line-height:1.8;color:#9bb28e}.cosmetic-bonus-panel>div{display:flex;flex-wrap:wrap;gap:5px}.cosmetic-bonus-panel>div>span{padding:5px 8px;background:#15241d;border:1px solid #778b5344;border-radius:5px;font-size:10px;color:#b6c6a5}
.cosmetic-bonus-panel summary:focus-visible{outline:2px solid #dfc080;outline-offset:3px}
@media(max-width:650px){.cosmetic-bonus-panel{padding:11px}.cosmetic-bonus-panel summary{font-size:11px}.cosmetic-bonus-panel summary>b{font-size:10px}.cosmetic-bonus-panel p{font-size:10px}}
/* Harmful statuses share the buff dock, with a non-colour skull/name cue. */
#hud-skill-status span.debuff,.skill-dock-wrap #hud-skill-status span.debuff{background:#49131fee;color:#ffb7be;border:1px solid #ed526b;box-shadow:0 0 8px #ab18352b}
/* Quest journal — current objective first, rewards separated from progress. */
.quest-journal{--q-gold:#e5c786;--q-muted:#a9a18f;max-width:1040px;margin:0 auto;color:#eee5d5;padding-bottom:12px}.quest-journal *{box-sizing:border-box}.qj-hero{position:relative;overflow:hidden;padding:26px 26px 20px;border:1px solid #685134;border-radius:16px;background:radial-gradient(ellipse at 95% 0%,#71502e52,transparent 62%),linear-gradient(135deg,#2b241c,#191813);box-shadow:0 8px 25px #0003}.qj-eyebrow{font-size:10px;letter-spacing:.13em;color:var(--q-gold);font-weight:700}.qj-hero h2{font-size:30px;letter-spacing:.08em;margin:6px 0 8px}.qj-hero p{color:var(--q-muted);font-size:12px;margin:0}.qj-hero-icon{position:absolute;right:30px;top:16px;transform:rotate(-15deg);font-size:98px;color:#cba76417;pointer-events:none}.qj-summary{display:flex;gap:40px;margin:24px 0 12px}.qj-summary>span{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--q-muted)}.qj-summary b{font-size:24px;color:var(--q-gold);font-variant-numeric:tabular-nums}.qj-summary small{font-size:12px;color:var(--q-muted);font-weight:400;margin-left:4px}.quest-journal progress{appearance:none;width:100%;height:5px;border:0;border-radius:10px;overflow:hidden;display:block;background:#ffffff10}.quest-journal progress::-webkit-progress-bar{background:#ffffff10}.quest-journal progress::-webkit-progress-value{background:linear-gradient(90deg,#94723b,#e9c982);border-radius:10px}.quest-journal progress::-moz-progress-bar{background:#d8b776}.qj-tabs{display:flex;gap:5px;margin:18px 0;padding:5px;border:1px solid #534937;border-radius:12px;background:#141411}.qj-tabs button{flex:1;min-height:44px;border:0;border-radius:8px;color:#a9a18f;background:transparent;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.qj-tabs button[aria-pressed=true]{background:#383022;color:#f3d69a;box-shadow:0 2px 7px #0004}.qj-tabs button span{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;margin-left:7px;border-radius:50%;background:#ddbd76;color:#211a0f;font-size:10px}.qj-current{padding:25px;border:1px solid #927446;border-radius:14px;background:linear-gradient(145deg,#30281c88,#191814);position:relative}.qj-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.qj-badge{flex-shrink:0;font-size:10px;border:1px solid #69604b;border-radius:20px;padding:4px 9px;color:#bcb39e;white-space:nowrap}.qj-badge.ready{border-color:#a5854c;background:#9c742829;color:#f5d692}.qj-current h3{font-size:23px;margin:16px 0 10px;word-break:keep-all;overflow-wrap:anywhere}.qj-story{font-size:13px;line-height:1.85;color:#c0b5a2;max-width:650px;margin:0 0 24px}.qj-goal{margin:16px 0}.qj-goal>div{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin-bottom:9px;font-size:12px;color:#d0c6b2}.qj-goal b{white-space:nowrap;font-size:13px;color:var(--q-gold);font-variant-numeric:tabular-nums}.qj-goal small{color:#938b7c;font-size:11px;font-weight:400}.qj-reward-heading{display:flex;flex-wrap:wrap;gap:6px 15px;font-size:11px;color:#b7a98d;margin-top:24px;margin-bottom:10px}.qj-reward-heading small{font-size:10px;color:#8c8475}.qj-rewards{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}.qj-reward{display:flex;gap:9px;align-items:center;min-width:98px;padding:10px 12px;background:#0f100f65;border:1px solid #66583e5c;border-radius:8px;font-size:10px;color:#a79d89}.qj-reward>i{color:#c8b790;font-size:15px}.qj-reward.diamond>i{color:#9bd2df}.qj-reward.exp>i{color:#a7b6d1}.qj-reward b{display:block;color:#eee4ce;font-size:12px;margin-top:4px;overflow-wrap:anywhere}.qj-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.qj-claim,.qj-secondary{min-height:42px;border-radius:8px;padding:10px 16px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;line-height:1.5}.qj-claim{background:linear-gradient(120deg,#e1c27d,#ba944f);color:#251c0c;border:1px solid #ead094;box-shadow:0 3px 8px #0002}.qj-claim i{margin-right:6px}.qj-claim:disabled{background:#302d26;color:#8c8473;border-color:#554c3a;box-shadow:none;cursor:default}.qj-secondary{border:1px solid #65553c;background:#29251d;color:#d9c49d}.qj-next{display:flex;gap:12px;align-items:center;margin:14px 0;padding:16px;border:1px solid #514a3c;border-radius:10px;color:#827967}.qj-next>span{flex:1;font-size:10px}.qj-next b{display:block;font-size:12px;color:#beb39f;margin-top:5px}.qj-next small{font-size:10px;text-align:right}.qj-archive{margin-top:12px;border:1px solid #494236;border-radius:10px;background:#161613}.qj-archive summary{display:flex;gap:10px;cursor:pointer;align-items:center;padding:15px;font-size:12px;list-style:none}.qj-archive summary:before{content:'›';color:#c3a368;font-size:18px}.qj-archive[open] summary:before{transform:rotate(90deg)}.qj-archive summary b{margin-left:auto;color:#9e9480;font-size:11px}.qj-record{display:flex;gap:12px;margin:0 15px;padding:16px 0;border-top:1px solid #403b30}.qj-record>div{min-width:0;flex:1}.qj-record-icon{color:#9c9974;padding-top:4px}.qj-record small{color:#958a73;font-size:10px}.qj-record h4{margin:5px 0;color:#d8cfbb;font-size:13px}.qj-record p{margin:7px 0;color:#968c7b;font-size:11px}.qj-record .qj-reward{background:transparent;min-width:0;padding:5px 7px}.qj-record .qj-reward b{display:inline;margin-left:5px;font-size:10px}.qj-reset{display:flex;gap:10px;align-items:center;color:#a99f8c;font-size:11px;padding:0 2px 15px}.qj-reset b{display:block;margin-top:4px;font-size:12px;color:#d0c1a2}.qj-reset small{font-weight:400;color:#8c8474;margin-left:4px}.qj-week-bonus{border:1px solid #6a5a3e;border-radius:14px;background:linear-gradient(125deg,#302b2055,#171714);padding:22px}.qj-week-bonus h3{font-size:18px;margin:8px 0}.qj-week-bonus strong{font-size:27px;color:#e6c88c;white-space:nowrap}.qj-week-bonus strong small{font-size:12px;font-weight:400;color:#aaa08b}.qj-week-bonus>p{font-size:11px;color:#a79a82;line-height:1.7}.qj-stamps{display:flex;gap:8px;margin:16px 0}.qj-stamps span{flex:1;display:grid;place-items:center;height:38px;border:1px solid #524836;border-radius:7px;color:#776d59;background:#181711;font-size:12px}.qj-stamps .done{color:#e4c782;background:#765e272e;border-color:#a1854c}.qj-filters{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0 13px}.qj-filters button{padding:8px 12px;min-height:36px;border:1px solid #4a4438;background:#171714;color:#a29987;border-radius:20px;cursor:pointer;font-size:11px}.qj-filters button[aria-pressed=true]{background:#3a3121;color:#edcf91;border-color:#9d7d42}.qj-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.qj-week-card{padding:18px;border:1px solid #514735;border-radius:12px;background:#1a1915;display:flex;flex-direction:column;min-width:0}.qj-week-card.ready{border-color:#a3874b;background:linear-gradient(150deg,#3a2e1844,#1a1915)}.qj-week-card.claimed{opacity:.65}.qj-week-card h3{font-size:13px;line-height:1.65;margin:0;word-break:keep-all;overflow-wrap:anywhere}.qj-week-card .qj-claim{width:100%;margin-top:auto}.qj-week-card .qj-reward{min-width:0;flex:1;padding:8px}.qj-empty{padding:35px 18px;text-align:center;border:1px dashed #66573d;border-radius:12px;color:#a69b84;grid-column:1/-1}.qj-empty>i{font-size:30px;color:#c9ad72}.qj-empty h3{font-size:16px;color:#e1cda2;margin:15px 0 10px}.qj-empty p{font-size:12px;line-height:1.8}.qj-warning{border:1px solid #ad7152;padding:12px;border-radius:8px;color:#e6ad90;font-size:12px}.quest-journal button:focus-visible,.quest-journal summary:focus-visible{outline:2px solid #f1d69c;outline-offset:3px}@media(max-width:700px){.qj-hero{padding:21px 18px 18px}.qj-hero h2{font-size:25px}.qj-summary{gap:28px;margin-top:20px}.qj-current{padding:19px 15px}.qj-current h3{font-size:20px}.qj-story{font-size:12px}.qj-actions{flex-direction:column}.qj-week-grid{grid-template-columns:1fr}.qj-week-bonus{padding:18px 15px}.qj-next{padding:14px 12px}.qj-next small{max-width:88px}.qj-stamps{gap:5px}.qj-card-top{gap:8px}.qj-goal>div{font-size:11px}.qj-reward{padding:8px 9px;min-width:90px}.qj-summary b{font-size:23px}}
/* Override the application's generic flex header for the journal cover. */
.quest-journal .qj-hero{display:block;min-width:0}.quest-journal .qj-hero>div{min-width:0}.quest-journal .qj-hero h2{width:auto;white-space:nowrap}.quest-journal .qj-summary{width:100%}
.qj-story-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:18px 0 8px;font-size:11px;color:#c3a575}.qj-story-meta span{color:#b1a592;font-size:10px}.qj-count-note{font-size:10px;color:#a69c8b;line-height:1.8;margin:0 0 15px}.qj-dialogue{margin:16px 0 22px;border-left:2px solid #a58650;background:#0e101044;padding:5px 16px;border-radius:0 8px 8px 0}.qj-dialogue blockquote{margin:12px 0}.qj-dialogue b{font-size:11px;color:#dfc494}.qj-dialogue p{font-size:12px;line-height:1.9;margin:6px 0;color:#cfc2ae;word-break:keep-all;overflow-wrap:anywhere}.qj-revelation{border:1px solid #716247;border-radius:10px;margin:0 0 16px;padding:17px 20px;background:linear-gradient(120deg,#302b2244,#181b17)}.qj-revelation>span{color:#c4ad83;font-size:10px;font-weight:bold}.qj-revelation p{font-size:12px;color:#c7c3af;line-height:1.9;margin:9px 0 0;white-space:normal}.qj-story-record{padding:12px 0;font-size:12px;line-height:1.85;color:#baae99}.qj-story-record>summary{padding:7px 0!important;font-size:11px!important;color:#d4bc90}.qj-story-record h5{font-size:11px;color:#dfc494;margin:12px 0 5px}.qj-story-record p{font-size:12px;line-height:1.85}.qj-story-record b{color:#d7ba85}@media(max-width:700px){.qj-revelation{padding:15px}.qj-dialogue{padding:3px 12px}.qj-dialogue p,.qj-revelation p{font-size:12px}}

/* 혈전 — 나락귀황 전용 전장 / worldboss only */
#panel.worldboss-panel{width:min(1020px,97vw);background:#100e11;border-color:#68503c}
.worldboss-panel #panel-body{padding:20px;background:radial-gradient(ellipse at 15% 0,#41202435,transparent 55%),#100e11}
.narak-menu{--nk-gold:#d1b582;--nk-red:#e2877e;color:#d7cec0;display:grid;gap:17px;font-size:13px}
.narak-menu *{box-sizing:border-box;min-width:0}
.narak-menu.is-eunhwagwi{--nk-gold:#c8d2dc;--nk-red:#91acc4}
.narak-hero{display:grid;grid-template-columns:1.04fr 1fr;border:1px solid #654435;border-radius:8px;overflow:hidden;background:linear-gradient(120deg,#25171c,#141115 68%)}
.narak-menu.is-eunhwagwi .narak-hero{border-color:#526373;background:linear-gradient(120deg,#18222b,#11151b 68%)}
.narak-visual{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:397px;background:radial-gradient(ellipse at 50% 55%,#7a373459,transparent 69%);overflow:hidden}
.narak-menu.is-eunhwagwi .narak-visual{background:radial-gradient(ellipse at 50% 55%,#7894ae3d,transparent 69%)}
.narak-visual:after{content:'';position:absolute;bottom:7%;left:15%;right:15%;height:35px;background:#0009;filter:blur(14px);z-index:-1}
.narak-visual img{width:108%;max-width:108%;height:350px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 10px 14px #0009);transform:translateY(7px)}
.narak-halo{position:absolute;width:280px;height:280px;top:47%;left:50%;transform:translate(-50%,-50%);border:1px solid #b0814761;border-radius:50%;box-shadow:0 0 0 9px #9669410b,0 0 0 10px #9d754733,0 0 0 25px #b0814708,0 0 0 26px #9d75471c;background:repeating-conic-gradient(from 0deg,#be89570c 0deg 2deg,transparent 2deg 45deg)}
.narak-halo:after{content:'';position:absolute;inset:37px;border:1px solid #a25d414d;transform:rotate(45deg)}
.narak-menu.is-eunhwagwi .narak-halo{border-color:#b8cadc55;box-shadow:0 0 0 9px #7894ae10,0 0 0 10px #91a8bf36,0 0 0 25px #91a8bf0a,0 0 0 26px #91a8bf21;background:repeating-conic-gradient(from 0deg,#c8d8e20c 0deg 2deg,transparent 2deg 45deg)}
.narak-menu.is-eunhwagwi .narak-halo:after{border-color:#9eb2c84d}
.narak-art-label,.narak-art-seal{position:absolute;z-index:2;font-size:10px;letter-spacing:2px;color:#b99c79}
.narak-art-label{top:21px;left:23px;padding-left:10px;border-left:2px solid #a65345}
.narak-art-seal{bottom:18px;right:22px;font-size:10px;letter-spacing:1px;color:#c9907e}
.narak-menu.is-eunhwagwi .narak-art-label{border-left-color:#88a6bf;color:#b9c9d8}
.narak-menu.is-eunhwagwi .narak-art-seal{color:#c4d1dd}
.narak-intro{padding:27px 27px 19px 16px;align-self:center}
.narak-eyebrow{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#baa17a;font-size:10px;letter-spacing:1px;flex-wrap:wrap}
.narak-phase{font-size:10px;letter-spacing:0;white-space:nowrap;border:1px solid #72625c;padding:4px 9px;border-radius:20px;color:#bfb1a1;background:#ffffff04}
.is-open .narak-phase{color:#efb0a0;border-color:#aa665a;background:#71332630}
.is-open .narak-phase:before{content:'';display:inline-block;width:5px;height:5px;margin:0 6px 1px 0;border-radius:50%;background:#fa9d88;box-shadow:0 0 7px #e7775b}
.narak-daily{font-size:9px;letter-spacing:.3px;white-space:nowrap;border:1px solid #6b5a3a;padding:4px 8px;border-radius:20px;color:#d8c79a;background:#2a2216}
.narak-daily.claimed{color:#9a8c7b;border-color:#5a5048;background:#1e1a16}
.narak-daily-note{font-size:10px;line-height:1.7;color:#c2b19a;background:#1f1a15;border:1px solid #5a4a3a2e;border-radius:6px;padding:9px 11px;margin:10px 0 0;word-break:keep-all}
.narak-daily-note i{color:#c9a86a;margin-right:6px}
.narak-intro h2{margin:15px 0 7px;font-family:var(--serif,serif);font-size:43px;font-weight:700;line-height:1.2;letter-spacing:3px;color:#f3e2c5;text-shadow:0 3px 22px #c7864433}
.narak-menu.is-eunhwagwi .narak-intro h2{color:#e0ebf5;text-shadow:0 3px 22px #91acc433}
.narak-quote{color:#d39886;font-size:12px;letter-spacing:.6px;margin:0 0 15px}
.narak-menu.is-eunhwagwi .narak-quote{color:#a8bfd4}
.narak-lore{font-size:11px;line-height:1.9;color:#ad9c92;margin:0 0 18px;word-break:keep-all}
.wb-wealth{font-size:10px;line-height:1.7;color:#d6c8ad;background:#1e19152b;border:1px solid #75624638;border-radius:5px;padding:8px 10px;margin:-8px 0 16px;word-break:keep-all}
.narak-menu.is-eunhwagwi .wb-wealth{color:#d5e0ea;background:#26344155;border-color:#8ca6bd55}
.narak-rules{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:#bfb29c;padding:0 0 18px;border-bottom:1px solid #76544638}
.narak-rules i{color:#c39f6b;margin-right:4px}
.narak-clock{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 0 9px}
.narak-clock>span{color:#b3a18e;font-size:11px}.narak-clock strong{color:#e4c99b;font-size:20px;letter-spacing:1px;font-variant-numeric:tabular-nums}
.narak-cycle-track{height:3px;background:#4e3d362e;overflow:hidden}.narak-cycle-track span{display:block;height:100%;background:linear-gradient(90deg,#9f6655,#dab286)}
.narak-cycle-note{color:#95877b;font-size:10px;margin:7px 0 15px}
.narak-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.narak-actions .btn{min-height:47px;padding:9px 8px;border-radius:4px;font-size:12px;font-weight:700;line-height:1.45;white-space:normal}
.narak-actions .narak-enter{border:1px solid #ba755e;background:linear-gradient(115deg,#9e463b,#70342f);color:#ffead0;box-shadow:inset 0 1px #e8ba7133}
.narak-actions .narak-paid{background:#34272644;border-color:#6a5143;color:#ccb597}
.narak-paid span{display:block;font-size:10px;font-weight:400;color:#ddbf85}
.narak-actions .btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
.narak-menu button:focus-visible,.narak-rewards summary:focus-visible{outline:2px solid #f2c381;outline-offset:3px}
.narak-entry-note{font-size:10px;line-height:1.7;color:#b2a195;margin:10px 0 0;min-height:17px;word-break:keep-all}
.narak-records{padding:20px 23px;border:1px solid #66534363;background:#1b1719;border-radius:6px}
.narak-records>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.narak-records h3{font-size:13px;margin:0;color:#e0cba5;font-weight:600}.narak-records h3 i{color:#aa8c61;margin-right:7px}
.narak-records header>span{font-size:10px;color:#9a8c7b}
.narak-record-grid{display:grid;grid-template-columns:1fr 1fr 1fr;margin:20px 0 16px;gap:15px}
.narak-record-grid>div{padding-left:18px;border-left:1px solid #70574454}.narak-record-grid>div:first-child{border:0;padding-left:0}
.narak-record-grid span{font-size:10px;color:#b19f8a;display:block;margin-bottom:6px}.narak-record-grid strong{font-size:24px;font-weight:500;line-height:1.3;color:#e7d5b6;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.narak-record-grid>div:first-child strong{color:#edb19c}
.narak-last{border-top:1px solid #7d5c4430;padding-top:12px;display:flex;flex-wrap:wrap;gap:8px 23px;color:#ac9e8c;font-size:11px}.narak-last b{color:#d6c7ae;margin-left:5px;font-weight:500}.narak-last .won{color:#eac692}
.narak-empty{font-size:11px;color:#a59583;border-top:1px solid #7d5c4430;padding-top:12px;line-height:1.7;margin:0}
.narak-record-note{font-size:10px;color:#9c8e7f;line-height:1.7;margin:12px 0 0}
.narak-rewards{background:#181416;border:1px solid #604c3d63;border-radius:6px}
.narak-rewards summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 22px;cursor:pointer;color:#c6b397;font-size:12px}
.narak-rewards summary::-webkit-details-marker{display:none}.narak-rewards summary i{margin-right:7px;color:#c0a26f}.narak-rewards summary>span:last-child{font-size:10px;color:#a28e78}.narak-rewards summary>span:last-child:after{content:' +';color:#ddbd80}.narak-rewards[open] summary>span:last-child:after{content:' −'}
.narak-rewards>div{padding:0 22px 15px;border-top:1px solid #67503c2b;font-size:11px;color:#b4a490;line-height:1.9}
@media(max-width:700px){
 #panel.worldboss-panel{width:100%;height:96dvh}
 .worldboss-panel #panel-body{padding:12px}
 .narak-menu{gap:12px}.narak-hero{grid-template-columns:minmax(0,1fr)}
 .narak-visual{min-height:210px;height:210px;background:radial-gradient(ellipse at 50% 70%,#883c3b55,transparent 66%)}
 .narak-visual img{height:221px;width:100%;max-width:100%;transform:translateY(3px)}
 .narak-halo{width:174px;height:174px;top:51%}.narak-halo:after{inset:27px}
 .narak-art-label{font-size:8px;left:15px;top:15px;letter-spacing:1px}.narak-art-seal{font-size:8px;right:13px;bottom:10px}
 .narak-intro{padding:14px 18px 17px;background:linear-gradient(0deg,#171115,#17111500)}
 .narak-intro h2{font-size:34px;margin:11px 0 7px;letter-spacing:2px}
 .narak-quote{font-size:11px;margin-bottom:10px}.narak-lore{font-size:10px;margin-bottom:12px}
 .narak-rules{gap:10px;padding-bottom:12px;font-size:9px}.narak-clock{padding-top:11px}.narak-clock strong{font-size:19px}
 .narak-cycle-note{margin-bottom:11px}.narak-actions .btn{font-size:11px;min-height:45px}
 .narak-entry-note{font-size:9px}.narak-records{padding:17px 15px}.narak-records h3{font-size:12px}.narak-records header>span{font-size:9px}
 .narak-record-grid{gap:9px;margin:17px 0 14px}.narak-record-grid>div{padding-left:10px}.narak-record-grid strong{font-size:20px}.narak-record-grid span{font-size:9px}
 .narak-last{font-size:10px;gap:7px 15px}.narak-empty{font-size:10px}.narak-record-note{font-size:9px}
 .narak-rewards summary{padding:15px;font-size:11px}.narak-rewards>div{padding:0 15px 13px}
}
@media(prefers-reduced-motion:reduce){.narak-menu *{animation:none!important;transition:none!important}}
.inst-worldboss-portrait,.inst-wb-vital{display:none}
#instance-hud.worldboss{width:min(430px,92vw)}
#instance-hud.worldboss .inst-card{min-width:0;width:100%;box-sizing:border-box;border-color:#97634988;background:linear-gradient(120deg,#251619ee,#110d10f5);box-shadow:0 8px 30px #0009,0 0 15px #a0482722}
#instance-hud.worldboss .inst-title{color:#edc99c;letter-spacing:.3px}
#instance-hud.worldboss .inst-title>i{display:none}
#instance-hud.worldboss .inst-worldboss-portrait{display:block;object-fit:contain;background:radial-gradient(#8a4939,#25161c);border:1px solid #a2764970;border-radius:5px;flex:0 0 42px}
#instance-hud.worldboss .inst-wb-vital{display:block;color:#caab98;font-size:10px;margin:8px 0 4px}
#instance-hud.worldboss #inst-bar-fill{background:linear-gradient(90deg,#86362c,#dc8a72)}
#instance-hud.worldboss #inst-timer{color:#e7c998;font-variant-numeric:tabular-nums;white-space:nowrap}
#instance-hud.worldboss .inst-row{gap:10px;flex-wrap:wrap}

/* 보물각 — permanent ownership vs equipped-only options */
.cosmetic-equipped-panel{margin:10px 0 20px;border:1px solid #88704766;border-radius:7px;background:linear-gradient(120deg,#2a251a99,#171a17)}
.cosmetic-equipped-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;cursor:pointer;color:#e1c28c;font-size:12px;list-style:none}
.cosmetic-equipped-panel>summary::-webkit-details-marker{display:none}.cosmetic-equipped-panel>summary i{margin-right:7px}.cosmetic-equipped-panel>summary>b{font-size:11px;color:#a7c59a;white-space:nowrap}.cosmetic-equipped-panel>summary:after{content:'+';color:#c5a568}.cosmetic-equipped-panel[open]>summary:after{content:'−'}
.cosmetic-equipped-panel>p{font-size:11px;color:#ada990;margin:0 16px 13px;line-height:1.8;word-break:keep-all}
.cosmetic-equipped-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 14px}
.cosmetic-equipped-list article{display:flex;align-items:flex-start;gap:10px;border:1px solid #7e765330;border-radius:5px;padding:11px;background:#161b17}
.cosmetic-equipped-list article>span{flex-shrink:0;color:#bea06c;font-size:9px;background:#ad92501a;padding:3px 6px;border-radius:3px}
.cosmetic-equipped-list article>div{min-width:0}.cosmetic-equipped-list article b{font-size:11px;color:#ddd1b0;display:block;line-height:1.65;overflow-wrap:anywhere}.cosmetic-equipped-list article small{font-size:10px;color:#a6b698;display:block;margin-top:5px;line-height:1.8;overflow-wrap:anywhere}.cosmetic-equipped-list>p{font-size:11px;color:#a7a18d;line-height:1.8}
.cosmetic-unit-note{display:block;border-top:1px solid #94784928;font-size:9px;color:#9c9984;margin:0 16px;padding:10px 0 13px;line-height:1.8}
.cosmetic-option{border:1px solid #9b805e45;border-radius:5px;background:#171911;padding:10px 11px;margin:11px 0;text-align:left;line-height:1.65}
.cosmetic-option>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cosmetic-option>div>span{font-size:9px;color:#a69a7d}.cosmetic-option>div>b{font-size:12px;color:#d5b678}.cosmetic-option>div>em{font-size:9px;font-style:normal;color:#b6d29d;border:1px solid #71965b55;border-radius:3px;padding:0 4px;margin-left:auto}
.cosmetic-option>ul{padding:0;margin:7px 0;list-style:none;display:flex;flex-direction:column;gap:3px}.cosmetic-option>ul>li{font-size:11px;color:#c8d1b3;margin:0;line-height:1.6}.cosmetic-option>ul>li:before{content:'·';color:#b4925c;margin-right:6px}
.cosmetic-option>small{display:block;font-size:9px;color:#aaa18b;line-height:1.7}.cosmetic-option.is-active{border-color:#8ca46c77;background:linear-gradient(120deg,#27342155,#171d16)}
.cosmetic-equipped-panel>summary:focus-visible{outline:2px solid #edcc8e;outline-offset:2px}
@media(max-width:700px){.cosmetic-equipped-panel>summary{padding:12px;font-size:11px;flex-wrap:wrap}.cosmetic-equipped-panel>summary>b{font-size:10px}.cosmetic-equipped-panel>p{font-size:10px;margin-left:12px;margin-right:12px}.cosmetic-equipped-list{grid-template-columns:minmax(0,1fr);padding:0 12px 12px}.cosmetic-equipped-list article b{font-size:10px}.cosmetic-equipped-list article small{font-size:9px}.cosmetic-unit-note{margin:0 12px;font-size:9px}.cosmetic-option{padding:9px;margin:9px 0}.cosmetic-option>div>b{font-size:11px}.cosmetic-option>ul>li{font-size:10px}}

/* Nether / celestial collection */
.avatar-art.nether{background:radial-gradient(ellipse at 50% 40%,#382442 0,#17111e 56%,#0b0a0f 100%)}
.avatar-art.celestial{background:radial-gradient(ellipse at 50% 40%,#25433f 0,#171d24 56%,#0b0e12 100%)}
.avatar-art.silk{background:radial-gradient(ellipse at 50% 42%,#67312f 0,#201318 58%,#0b0a0f 100%)}
/* 혼돈 부적: desktop / narrow mobile */
.talisman-locked{display:none!important}.talisman-intro{padding:20px;background:linear-gradient(120deg,#24202d,#14151b);border:1px solid #494052;border-radius:12px;margin-bottom:14px}.talisman-intro small{color:#c6adc9}.talisman-intro h3{font-size:23px;margin:8px 0}.talisman-intro h3 span{font-size:12px;color:#c7b79a}.talisman-intro p{line-height:1.7;color:#b9b0a3}.talisman-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:12px}.talisman-card{min-width:0;padding:15px;border:1px solid #51434e;background:radial-gradient(ellipse at 50% 25%,#28242b,#141418 65%);border-radius:12px;display:flex;flex-direction:column;align-items:center}.talisman-card header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.talisman-card h4{font-size:17px;color:var(--talisman-color);margin:0}.talisman-card header span{font-size:11px;color:#c3b5a4}.talisman-card img{object-fit:contain;max-width:100%;margin:12px auto}.talisman-card.missing img{opacity:.45;filter:grayscale(.65)}.talisman-card h5{font-size:15px;margin:12px 0 3px}.talisman-card p{margin:5px 0;line-height:1.65;font-size:12px;text-align:center}.talisman-detail{color:#c0b9ae}.talisman-card small{color:var(--talisman-color);margin:7px 0 15px;font-size:11px}.talisman-pips{display:flex;gap:6px}.talisman-pips i{width:16px;height:4px;background:#494049}.talisman-pips .lit{background:var(--talisman-color)}.talisman-card footer{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:auto;width:100%}.talisman-card footer .btn{font-size:11px;white-space:normal;flex:1;padding:9px 5px}.talisman-card footer span{color:#978796;font-size:12px;padding:10px}.talisman-costs{margin-top:14px}.talisman-costs p{line-height:1.8;overflow-wrap:anywhere}
/* 천하방 — 전력 전용 / 상위 3인 아바타 단상 */
.cheonha-rank{--rank-gold:#dfbc76;color:#e5ded2;max-width:1040px;margin:auto}.cr-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 20px;background:radial-gradient(ellipse at 85% 0,#67503244,transparent 70%),#17151b;border:1px solid #483b2b;border-radius:14px}.cr-eyebrow{font-size:11px;letter-spacing:.12em;color:#c1a779}.cr-heading h3{font-size:29px;margin:7px 0}.cr-heading p{margin:0;font-size:12px;color:#aaa197}.cr-mode{font-size:11px;padding:9px;border:1px solid #685231;border-radius:20px;white-space:nowrap;color:var(--rank-gold)}.cr-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:15px 2px;font-size:11px;color:#a89f91}.cr-mine{display:flex;gap:14px;align-items:center;border:1px solid #665333;border-radius:10px;padding:15px;background:#272116}.cr-mine-icon{color:var(--rank-gold);font-size:20px}.cr-mine small{display:block;color:#b6a485;font-size:11px;margin-bottom:4px}.cr-mine b{font-size:18px;font-variant-numeric:tabular-nums}.cr-my-power{margin-left:auto;text-align:right;min-width:0;overflow-wrap:anywhere}.cr-my-power b{color:#f0d394}.cr-podiums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;padding-top:38px;margin-bottom:26px}.cr-podium{--metal:#b9c6d1;position:relative;min-width:0;text-align:center;background:linear-gradient(180deg,#29303b44,#141418 65%);border:1px solid #475361;border-radius:12px;overflow:visible;padding-top:28px}.cr-place-1{--metal:#e4c07a;order:2;border-color:#8c713e;background:radial-gradient(ellipse at 50% 40%,#a47b3033,transparent 75%),#1c1917}.cr-place-2{order:1}.cr-place-3{--metal:#c88b6b;order:3;border-color:#63463a;background:linear-gradient(#6f43312b,#171516)}.cr-medal{display:inline-flex;gap:6px;align-items:center;position:relative;z-index:1;font-size:13px;font-weight:700;color:var(--metal)}.cr-avatar{height:174px;position:relative;display:flex;justify-content:center;align-items:flex-end}.cr-place-1 .cr-avatar{height:208px}.cr-avatar img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 12px #0008)}.cr-halo{position:absolute;border:1px solid color-mix(in srgb,var(--metal) 35%,transparent);border-radius:50%;width:105px;height:105px;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 38px #b7924920}.cr-podium-info{padding:12px 7px 17px;border-top:1px solid #ffffff10;background:#09090d44;position:relative}.cr-podium h3{font-size:15px;margin:0;overflow-wrap:anywhere;line-height:1.6}.cr-podium p{font-size:10px;color:#a89e94;margin:4px 0 13px}.cr-podium p span{white-space:nowrap}.cr-podium small{display:block;font-size:10px;color:#a79a87;margin-bottom:3px}.cr-podium strong{font-size:16px;color:var(--metal);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cheonha-rank em{font-style:normal;background:#88733d44;border:1px solid #ab904955;color:#e4cb8d;font-size:9px;padding:1px 4px;border-radius:4px;margin-left:5px;display:inline-block;vertical-align:middle}.cr-vacant{opacity:.45}.cr-vacant .cr-avatar{align-items:center;font-size:32px;color:#79737d}.cr-vacant p{margin:12px 0 23px;line-height:1.7}.cr-list-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0}.cr-list-title h4{margin:0;font-size:14px}.cr-list-title span{font-size:10px;color:#9d9386}.cr-list{list-style:none;margin:0;padding:0;border:1px solid #38312b;border-radius:10px;overflow:hidden}.cr-row{display:flex;align-items:center;gap:14px;padding:14px;background:#151418;border-bottom:1px solid #ffffff0c;min-width:0}.cr-row:last-child{border-bottom:0}.cr-row:nth-child(even){background:#1b191d}.cr-row.cr-me{background:#302819;box-shadow:inset 3px 0 #c5a360}.cr-position{width:28px;flex-shrink:0;text-align:center;color:#94897b;font-size:15px;font-variant-numeric:tabular-nums}.cr-person{min-width:0;flex:1}.cr-person b{font-size:13px;overflow-wrap:anywhere}.cr-person small{display:block;font-size:10px;color:#a0978b;margin-top:5px}.cr-power{text-align:right;max-width:48%;overflow-wrap:anywhere}.cr-power small{display:block;font-size:9px;color:#9a8b78;margin-bottom:3px}.cr-power b{font-size:13px;color:#d6be91;font-variant-numeric:tabular-nums}.cr-note{display:flex;flex-direction:column;gap:7px;padding:17px 3px;font-size:10px;line-height:1.7;color:#93897c}.cr-message{text-align:center;padding:48px 15px;border:1px dashed #494039;border-radius:12px;margin:16px 0;color:#b1a596}.cr-message>i{font-size:26px;color:#cfaf71}.cr-message h4{font-size:16px;margin:16px 0 8px}.cr-message p,.cr-list-empty{font-size:12px;line-height:1.8;color:#9e9486}.cr-list-empty{text-align:center;padding:20px}.cr-error>i{color:#c7907f}
@media(max-width:480px){.cr-heading{padding:18px 13px;gap:5px}.cr-heading h3{font-size:24px}.cr-mode{font-size:10px;padding:7px}.cr-podiums{gap:5px;padding-top:30px}.cr-avatar{height:115px}.cr-place-1 .cr-avatar{height:148px}.cr-halo{width:66px;height:66px}.cr-podium{border-radius:9px}.cr-podium h3{font-size:12px}.cr-podium-info{padding:10px 4px 13px}.cr-podium p{font-size:9px;min-height:26px}.cr-podium strong{font-size:12px}.cr-medal{font-size:11px;gap:3px}.cr-mine{padding:12px;gap:10px}.cr-mine b{font-size:16px}.cr-row{padding:12px 8px;gap:8px}.cr-position{width:23px}.cr-person b{font-size:12px}.cr-power b{font-size:12px}}
/* 태평루: 비전투 정비 공간 */
#peace-hud{position:absolute;left:50%;transform:translateX(-50%);bottom:68px;z-index:15;width:min(520px,calc(100% - 32px));padding:14px 16px;background:#15231fed;border:1px solid #8fa99088;border-radius:14px;box-shadow:0 8px 35px #0005;color:#eee9d7;pointer-events:auto}#peace-hud[hidden]{display:none}.peace-hud-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:12px}.peace-hud-top b{color:#d1e4bd}.peace-hud-top span{font-size:10px;color:#afc7bc}.peace-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.peace-actions .btn{padding:10px 4px;font-size:11px;white-space:normal;display:flex;align-items:center;justify-content:center;gap:6px;background:#2a3b31;color:#e6e7cb;border-color:#63735b}.peace-actions .btn:hover{background:#3a5141}#peace-hud small{display:block;color:#a2b9ad;font-size:10px;margin-top:9px}.in-peace .hud-bottom{display:none!important}.panel-open #peace-hud{display:none!important}.peace-hub{padding:22px 18px;background:linear-gradient(125deg,#293d32,#161d1a);border:1px solid #77856b;border-radius:12px;margin-bottom:15px}.peace-eyebrow{font-size:11px;color:#c3cfa5;letter-spacing:.1em}.peace-hub h3{font-size:22px;margin:10px 0}.peace-hub p{font-size:12px;line-height:1.8;color:#bec9b7}.peace-hub small{display:block;font-size:11px;line-height:1.8;color:#a7b8a7;margin-top:12px}.peace-maprow{border-color:#758d6877;background:#20302655}.peace-tag{font-size:10px;border:1px solid #8aa77966;padding:3px 6px;margin-left:7px;border-radius:5px;color:#bcd9a8}.peace-maprow .mr-tags span{color:#b7cdae}.peace-maprow .mr-ico{overflow:hidden}.peace-maprow .mr-ico img{height:100%;object-fit:cover}.in-peace #chat-mini{bottom:230px}
@media(max-width:700px){#peace-hud{bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100% - 20px);padding:12px}.peace-actions{gap:5px}.peace-actions .btn{flex-direction:column;gap:5px;font-size:10px;padding:9px 3px}.peace-hub{padding:18px 13px}.peace-hub h3{font-size:19px}.in-peace #chat-mini{bottom:245px}}

.fate-toolbar [data-fate-rest][hidden]{display:none!important}
/* 동료 도감 / 상세 — 기존 원화 재사용 */
.cc-collection,.cc-detail{color:#e7dfd3;max-width:1080px;margin:auto}.cc-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:24px;border:1px solid #65503b;border-radius:15px;background:radial-gradient(ellipse at 100% 0,#83604440,transparent 70%),#1c191c}.cc-eyebrow{color:#b9a183;font-size:11px;letter-spacing:.12em}.cc-header h3{font-size:28px;margin:8px 0}.cc-header p{color:#ad9f8e;font-size:12px;margin:0}.cc-header>.btn{font-size:12px}.cc-progress{flex-basis:100%}.cc-progress>div{display:flex;justify-content:space-between;font-size:11px;color:#b7ab99;margin-bottom:8px}.cc-progress b{color:#e3c494;margin-left:8px}.cc-collection progress,.cc-detail progress{display:block;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;accent-color:#c6a470;background:#39302c}.cc-collection progress::-webkit-progress-bar,.cc-detail progress::-webkit-progress-bar{background:#39302c}.cc-collection progress::-webkit-progress-value,.cc-detail progress::-webkit-progress-value{background:#c6a470}.cc-party{margin:22px 0}.cc-section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px}.cc-section-title h4{font-size:15px;margin:0}.cc-section-title>span{color:#b7a58a;font-size:11px}.cc-party-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.cc-party-slot{position:relative;display:flex;flex-direction:column;align-items:center;background:linear-gradient(#39313a66,#17161b);border:1px solid #655443;border-radius:10px;color:#e4d8c2;min-width:0;padding:10px 4px;cursor:pointer;font-family:inherit}.cc-party-slot:hover{border-color:#c9a76d}.cc-slot-num{position:absolute;top:6px;left:7px;color:#96816a;font-size:9px}.cc-party-slot .cc-art{height:85px;width:100%}.cc-party-slot b{font-size:12px;margin:4px 0;overflow-wrap:anywhere}.cc-party-slot small{font-size:10px;color:#aea08a}.cc-empty-slot{border-style:dashed;cursor:default;background:#18171b}.cc-empty-slot>i{height:85px;display:flex;align-items:center;color:#5e554c;font-size:18px}.cc-empty-slot b{color:#918372}.cc-empty-slot small{font-size:9px;text-align:center}.cc-party>p,.cc-footnote{font-size:10px;color:#9a8d7b;line-height:1.7;margin:10px 1px}.cc-art{position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}.cc-art>img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain;position:relative;z-index:1}.cc-art>i{display:none;font-size:42px;color:var(--comp,#beac83)}.cc-art-failed>i{display:block}.cc-art img[hidden]{display:none}.cc-pending{display:flex;gap:9px;align-items:center;width:100%;padding:13px 14px;background:#32263c;border:1px solid #705780;border-radius:10px;color:#dfc9ed;font-family:inherit;font-size:12px;margin-bottom:20px;cursor:pointer}.cc-pending span{flex:1;text-align:left}.cc-filters{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.cc-search{display:flex;align-items:center;gap:10px;padding:0 12px;background:#19171b;border:1px solid #4b4035;border-radius:8px;color:#ae9473}.cc-search input{width:100%;min-width:0;background:none!important;border:0!important;color:#eee2d1;outline:none;padding:12px 0!important;box-shadow:none!important;font:12px inherit}.cc-search:focus-within{outline:2px solid #a98a5e}.cc-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cc-selects label{display:flex;flex-direction:column;gap:5px;color:#a99b87;font-size:10px}.cc-selects select{width:100%;min-width:0;border:1px solid #4b4035;border-radius:7px;background:#211c1c;color:#e0d4bd;font:11px inherit;padding:9px 7px}.cc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px}.cc-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid #493d37;border-radius:12px;background:radial-gradient(ellipse at 50% 25%,#57475244,transparent 68%),#18161b}.cc-card.cc-selected{border-color:#b79757;box-shadow:inset 0 0 0 1px #b7975722}.cc-card-open{display:block;width:100%;padding:12px 10px 0;background:none;border:0;color:inherit;font-family:inherit;text-align:center;cursor:pointer}.cc-card-open:focus-visible,.cc-party-slot:focus-visible{outline:2px solid #ead09a;outline-offset:-3px}.cc-card-tags{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:10px;color:#bbad9b}.cc-rarity{font-size:10px;border:1px solid #94774a55;border-radius:4px;padding:3px 6px;color:#d1bb94}.cc-rarity-5{color:#ffd493;background:#8e61252e}.cc-rarity-4{color:#d5b4e5;background:#7b548f33;border-color:#79518c77}.cc-rarity-3{color:#a3c6d8;background:#47758b33;border-color:#47758b77}.cc-card .cc-art{height:160px;margin:8px 0 0}.cc-missing .cc-art img{opacity:.5;filter:grayscale(.8)!important}.cc-card-info h4{font-size:17px;margin:5px 0}.cc-role{color:#b5a7c3;font-size:10px}.cc-role i{margin-right:3px}.cc-stars{display:inline-block;font-size:12px;color:#e5be6e;letter-spacing:1px;white-space:nowrap}.cc-stars>span{color:#615448}.cc-card-level{color:#aca08e;font-size:10px;margin-top:7px}.cc-card-skill{font-size:11px;color:var(--comp);margin:9px 0 13px}.cc-card-growth{margin:auto 12px 0;padding-top:6px;font-size:10px;color:#a89b85;min-height:40px}.cc-card-growth>div{display:flex;justify-content:space-between;gap:6px;margin-bottom:6px}.cc-card-growth b{color:#d6c399;font-size:10px}.cc-card footer{display:flex;gap:5px;padding:10px 10px 12px}.cc-card footer .btn{flex:1;font-size:10px;padding:8px 3px;min-width:0;white-space:normal}.cc-no-results{grid-column:1/-1;text-align:center;padding:40px 12px;background:#1c191d;border:1px dashed #584934;border-radius:12px;color:#ad9d85}.cc-no-results h4{color:#e2d5c2;font-size:16px}.cc-no-results p{font-size:12px}.cc-no-results>.fa-solid{font-size:26px}.cc-back{border:0;background:none;color:#c4b29b;font:12px inherit;padding:4px 0 14px;cursor:pointer}.cc-profile{display:grid;grid-template-columns:minmax(140px,38%) minmax(0,1fr);border:1px solid #655044;border-radius:14px;background:radial-gradient(ellipse at 20% 35%,#74506944,transparent 70%),#1a181d;overflow:hidden;padding:22px;gap:16px}.cc-profile-art{min-height:270px}.cc-profile-art img{position:relative;max-height:330px}.cc-profile-ring{position:absolute;z-index:-1;width:150px;height:150px;border:1px solid #b4987144;border-radius:50%;box-shadow:0 0 45px #a4845722}.cc-profile-info{align-self:center;min-width:0}.cc-profile-tags{display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:#ac9d88;font-size:10px}.cc-profile-info h3{font-size:32px;margin:12px 0 6px}.cc-profile-info>p{font-size:12px;line-height:1.8;color:#baad9b}.cc-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid #ffffff12;padding-top:13px;margin-top:14px}.cc-profile-stats small{display:block;font-size:10px;color:#ae9d87;margin-bottom:6px}.cc-profile-stats b{font-size:16px;overflow-wrap:anywhere}.cc-profile-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.cc-profile-actions .btn{font-size:11px;white-space:normal}.cc-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.cc-skill{padding:17px;border:1px solid #443847;border-radius:10px;background:#211c25}.cc-skill>span{font-size:10px;color:#bda8cb}.cc-skill h4{font-size:14px;margin:9px 0;color:#e1c7ed}.cc-skill p{font-size:12px;color:#bbb0be;line-height:1.8;margin:0}.cc-growth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cc-growth{padding:18px;background:#1d1b1c;border:1px solid #544534;border-radius:12px;min-width:0;display:flex;flex-direction:column}.cc-growth header{display:flex;gap:8px;align-items:center;margin-bottom:20px}.cc-growth header h4{margin:0;font-size:15px}.cc-growth header>b{font-size:10px;margin-left:auto;color:#c4b496}.cc-step{font-size:10px;color:#8f7856}.cc-progress-label,.cc-cost-line{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#b4a58d;margin:10px 0}.cc-progress-label b,.cc-cost-line b{text-align:right;color:#e2d2b4;overflow-wrap:anywhere}.cc-enough b{color:#b9d7a2}.cc-growth p,.cc-growth>small{font-size:11px;line-height:1.8;color:#a89b8a}.cc-growth>.btn{width:100%;margin-top:auto;font-size:12px}.cc-growth>small{margin-bottom:13px}.cc-ritual{padding:12px 0;color:#d2b0e4;font-size:11px}.cc-ritual .bar{margin-bottom:8px}.cc-max{text-align:center;padding:18px 4px;color:#d2b176}.cc-max>i{font-size:29px}.cc-max h4{font-size:14px;line-height:1.7}.cc-lore,.cc-unowned{padding:18px;border:1px solid #4a3d36;border-radius:10px;margin-top:14px;background:#211b1b;color:#b8a58e;font-size:12px;line-height:1.8}.cc-lore summary{cursor:pointer;color:#d1bda1}.cc-unowned h4{margin-top:0;color:#dfcdb1}.cc-growth button:disabled,.cc-card button:disabled{opacity:.45}
@media(max-width:600px){.cc-header{padding:18px 14px;gap:13px}.cc-header h3{font-size:25px}.cc-header>.btn{font-size:10px;padding:9px}.cc-party-slots{gap:5px}.cc-party-slot{padding:8px 2px}.cc-party-slot .cc-art,.cc-empty-slot>i{height:63px}.cc-party-slot b{font-size:10px}.cc-party-slot small{font-size:9px}.cc-empty-slot small{font-size:8px}.cc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cc-card .cc-art{height:135px}.cc-card-open{padding:10px 7px 0}.cc-card-info h4{font-size:15px}.cc-card-growth{margin-left:9px;margin-right:9px}.cc-card-tags{font-size:9px}.cc-rarity{font-size:9px;padding:3px 5px}.cc-selects{gap:5px}.cc-selects select{padding:9px 3px;font-size:10px}.cc-profile{padding:16px 12px;gap:10px;grid-template-columns:minmax(95px,35%) minmax(0,1fr)}.cc-profile-art{min-height:220px}.cc-profile-info h3{font-size:27px}.cc-profile-ring{width:94px;height:94px}.cc-profile-stats{gap:4px}.cc-profile-stats small{font-size:9px}.cc-profile-stats b{font-size:12px}.cc-profile-info>p{font-size:11px}.cc-profile-actions .btn{font-size:10px;padding:9px 7px}.cc-growth-grid,.cc-skill-grid{grid-template-columns:1fr}.cc-growth{padding:17px 14px}.cc-pending{font-size:10px}.cc-pending b{white-space:nowrap}.cc-stars{font-size:11px;letter-spacing:0}}
/* Mobile focus must not trigger Safari's <16px input auto-zoom. */
@media(max-width:900px){
 #panel input:not([type=range]):not([type=checkbox]):not([type=radio]),#panel select,#panel textarea,.modal input:not([type=range]):not([type=checkbox]):not([type=radio]),.modal select,.modal textarea{font-size:16px!important}
 .cc-header{padding:14px;gap:10px}.cc-header h3{font-size:23px;margin:6px 0}.cc-header p{display:none}.cc-eyebrow{letter-spacing:.04em}.cc-party{margin:16px 0}.cc-party-slots{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px 1px 7px;gap:7px;scrollbar-width:thin}.cc-party-slot{flex:1 0 72px;scroll-snap-align:start}.cc-party-slot .cc-art,.cc-empty-slot>i{height:82px}.cc-party-slot b{font-size:11px}.cc-empty-slot small{font-size:9px;white-space:nowrap}.cc-filters{gap:8px}.cc-selects{grid-template-columns:1fr 1fr}.cc-selects label:last-child{grid-column:1/-1}.cc-selects select{padding:9px 7px}.cc-card .cc-art{height:152px}.cc-card footer .btn{min-height:38px}.cc-back{min-height:42px}
}

/* Avoid focus auto-zoom on login, character creation and chat as well as panels. */
@media(max-width:900px){input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}
/* Settings — scoped control cards, with native keyboard-accessible inputs. */
.settings-page{display:grid;gap:16px;max-width:860px;margin:auto;--settings-accent:#d6b677}.settings-page>.card{margin:0;padding:22px;border:1px solid #514532;background:linear-gradient(140deg,#242019,#151513);border-radius:16px}.settings-hero{padding:25px;border:1px solid #746044;border-radius:18px;background:radial-gradient(ellipse at top right,#78533255,transparent 70%),#201b17}.settings-eyebrow{font-size:11px;letter-spacing:.15em;color:#cdb17a}.settings-hero h3{font-size:27px;margin:8px 0 12px;color:#f5e9d1}.settings-hero p{font-size:13px;line-height:1.8;margin:0 0 16px;color:#c0b5a0}.settings-save{display:inline-block;padding:8px 11px;border:1px solid #67796855;border-radius:8px;background:#1b302255;color:#b3d9bf;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.settings-page h4{font-size:17px;margin:0 0 17px;color:#f1dfba;display:flex;align-items:center;gap:10px}.settings-page h4 i{color:var(--settings-accent)}.settings-page .srow{display:grid;grid-template-columns:100px minmax(0,1fr) 52px;gap:12px;padding:14px 0;font-size:13px;border-bottom:1px solid #ffffff0b}.settings-page .srow select{grid-column:2/-1;width:100%;padding:10px;border-radius:8px;background:#171714;border:1px solid #655740;color:#eee2ca}.settings-page .srow b{text-align:right;margin:0;font-size:12px;color:#edcf91}.settings-page input[type=range]{width:100%;min-width:0;accent-color:var(--settings-accent);cursor:pointer;min-height:32px}.settings-page label{color:#e5dac5}.settings-page .graphics-info{font-size:11px;line-height:1.8;color:#a99d88;margin:8px 0 4px}.settings-page #set-view-reset{margin-top:12px}.settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #ffffff0b;cursor:pointer}.settings-toggle>span{display:grid;gap:5px}.settings-toggle b{font-size:14px;font-weight:600}.settings-toggle small{font-size:12px;line-height:1.6;color:#a99e8e}.settings-toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;width:46px;height:26px;min-width:46px;border:1px solid #67604f;border-radius:20px;background:#39382f;position:relative;cursor:pointer;transition:background .15s}.settings-toggle input[type=checkbox]:before{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#e8dece;transition:transform .15s}.settings-toggle input:checked{background:#a57d3c;border-color:#d2ad6a}.settings-toggle input:checked:before{transform:translateX(20px);background:#fff5da}.settings-page :is(input,select,button,summary):focus-visible{outline:2px solid #ffdfa0;outline-offset:4px}.settings-hint{font-size:11px;line-height:1.8;color:#aa9d89;margin:10px 0}.settings-companion{margin:22px 0 10px;padding:18px;background:#12120fcc;border:1px solid #544834;border-radius:12px}.settings-slider-title{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:600}.settings-slider-title output{color:#e8c37e;font-variant-numeric:tabular-nums}.settings-range-labels{display:flex;justify-content:space-between;color:#9e927e;font-size:11px}.settings-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0 10px}.settings-presets .btn{min-height:40px;padding:8px}.settings-presets [aria-pressed=true]{background:#594329;border-color:#d3b174;color:#ffe5b1}.settings-details{border:1px solid #4a4235;background:#191713;border-radius:12px}.settings-details>summary{cursor:pointer;padding:17px 20px;font-size:14px;color:#cdbb9b}.settings-details>.card{margin:0;background:none;border:none}.settings-page .row-btns{display:flex;flex-wrap:wrap;gap:8px}.settings-page .row-btns .btn{min-height:42px;margin:0}.settings-page [data-reset]{border-color:#78423f;color:#e6a5a0}.settings-page .dim{font-size:12px;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:600px){.settings-page{gap:12px}.settings-page>.card{padding:17px 15px}.settings-hero{padding:21px 18px}.settings-hero h3{font-size:24px}.settings-page .srow{grid-template-columns:80px minmax(0,1fr) 43px;gap:8px}.settings-companion{padding:14px 12px}.settings-toggle{gap:14px}.settings-page .row-btns .btn{flex:1 1 auto}.settings-page .graphics-info{font-size:10px}.settings-toggle input[type=checkbox]{margin:8px 0}.settings-details>summary{min-height:48px}}
@media(prefers-reduced-motion:reduce){.settings-toggle input,.settings-toggle input:before{transition:none}}
#panel.settings-panel{background:#131310}#panel.settings-panel #panel-body{flex:1;min-height:0;scrollbar-color:#786347 #171510}
@media(max-width:900px){#panel.settings-panel{height:94dvh}#panel.settings-panel #panel-body{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.settings-hero{padding:18px}.settings-hero h3{font-size:23px;margin:6px 0 8px}.settings-hero p{margin-bottom:10px;font-size:12px}}
/* Two compact quest shortcuts directly below the player's health bar. */
#hud-quest-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:min(540px,44vw);max-width:100%;pointer-events:auto}#hud-quest-row[hidden]{display:none!important}.panel-open #hud-quest-row{visibility:hidden}
#hud-quest-row>button{display:flex;align-items:center;gap:8px;width:100%;min-width:0;max-width:none;min-height:52px;padding:8px 10px;border:1px solid #806b46;border-radius:9px;background:linear-gradient(130deg,#30271bed,#15140fee);color:#ecd4a0;text-align:left;font-family:inherit;font-size:12px;line-height:1.4;cursor:pointer;box-shadow:0 3px 12px #0004}
#hud-quest-row>button>i{flex-shrink:0;font-size:14px}#hud-quest-row .hud-quest-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}#hud-quest-row .hud-quest-copy small{display:flex;justify-content:space-between;gap:5px;color:#bfa97e;font-size:10px;white-space:nowrap}#hud-quest-row .hud-quest-copy small b{font-size:9px;font-weight:500;color:#b5ccb5}#hud-quest-row .hud-quest-copy>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#eee1c6}#hud-quest-row #main-quest-chip{border-color:#4d705e;background:linear-gradient(130deg,#1d3228ed,#111b17ee)}#main-quest-chip.is-ready{box-shadow:inset 0 0 0 1px #b8ce8666,0 3px 12px #0004}#hud-quest-row #main-quest-chip.is-ready small b{color:#e8e99b}#hud-quest-row>button:focus-visible{outline:2px solid #f5d48b;outline-offset:3px}
@media(max-width:900px){#mobile-hud-stack #hud-quest-row{width:100%;gap:5px}#mobile-hud-stack #hud-quest-row>button{min-height:45px;padding:6px 7px;gap:6px}#mobile-hud-stack #hud-quest-row .hud-quest-copy>span{font-size:10px}#mobile-hud-stack #hud-quest-row .hud-quest-copy small{font-size:9px}#mobile-hud-stack #hud-quest-row>button>i{font-size:12px}}
@media(max-width:350px){#mobile-hud-stack #hud-quest-row>button{padding:6px;gap:4px}#mobile-hud-stack #hud-quest-row .hud-quest-copy small b{font-size:8px}}
/* Shared unread/actionable badges: same signal in desktop and mobile menus. */
#rail [data-panel],#tabbar [data-panel],#more-menu [data-panel]{position:relative}
.menu-new-dot{position:absolute;right:7px;top:6px;width:8px;height:8px;min-width:8px;border-radius:50%;background:#ef565b;border:1px solid #ffb1a5;box-shadow:0 0 0 2px #181513;pointer-events:none;z-index:2}.menu-new-dot[hidden]{display:none!important}
#more-menu .menu-new-dot{right:9px;top:8px}#tabbar .menu-new-dot{right:calc(50% - 17px);top:4px}
/* Travel journal: one current-location image; destination cards stay lightweight. */
#panel.travel-panel{width:min(840px,96vw);background:#121612}#panel.travel-panel #panel-body{flex:1;min-height:0;scrollbar-color:#61715a #131810}.travel-page{display:grid;gap:18px;color:#e4ddc9}.travel-hero{position:relative;min-height:225px;overflow:hidden;border:1px solid #637456;border-radius:15px;display:flex;align-items:flex-end;background:#202b21}.travel-cover{position:absolute;inset:0;pointer-events:none}.travel-cover img{width:100%;height:100%;object-fit:cover;opacity:.6}.travel-cover>div{position:absolute;inset:0;background:linear-gradient(90deg,#101a16ed,#14201877),linear-gradient(0deg,#111a17,transparent)}.travel-hero-content{position:relative;padding:25px;width:100%;box-sizing:border-box}.travel-eyebrow{font-size:10px;letter-spacing:.16em;color:#c2c59f}.travel-hero h3{font-size:30px;color:#f5ecd5;margin:8px 0 10px}.travel-hero p{font-size:12px;line-height:1.8;color:#c3c9b6;max-width:540px;margin:0 0 17px}.travel-hero-tags{display:flex;flex-wrap:wrap;gap:7px}.travel-hero-tags span{font-size:10px;border:1px solid #9ca88155;border-radius:5px;padding:5px 8px;background:#10180dcc;color:#cfdbb9}.travel-heading{display:flex;justify-content:space-between;align-items:center;margin:3px 0 12px}.travel-heading h4{font-size:18px;margin:0;color:#e5ddc1}.travel-heading>span{font-size:11px;color:#a3af95}.travel-search{display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid #56644d;border-radius:9px;background:#161c16;color:#b5b995}.travel-search input{width:100%;min-width:0;background:transparent;border:0;color:#eee8d2;padding:12px 0;font:inherit;outline:none}.travel-search:focus-within{outline:2px solid #c9bc85}.travel-filter-row{display:flex;justify-content:space-between;gap:10px;margin:11px 0 17px}.travel-filters{display:flex;gap:5px;flex-wrap:wrap}.travel-filters button{padding:8px 11px;border:1px solid #43533e;border-radius:7px;background:#192017;color:#aebd9f;font-family:inherit;font-size:12px;cursor:pointer}.travel-filters button[aria-pressed=true]{background:#405139;color:#e9eccd;border-color:#a6ad78}.travel-filter-row select{min-width:0;padding:8px;background:#1a2017;color:#dddfc6;border:1px solid #536346;border-radius:7px;font-size:12px}.travel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.travel-card{min-width:0;padding:18px;display:flex;flex-direction:column;border:1px solid #43513a;border-radius:12px;background:linear-gradient(145deg,#222b1e,#141a13)}.travel-card.is-current{border-color:#c2ac72;box-shadow:inset 0 0 0 1px #b39b5422}.travel-card.is-locked{border-color:#3f443c;background:#1a1d19}.travel-card.is-locked .travel-card-top{opacity:.7}.travel-card-top{display:flex;align-items:center;gap:10px}.travel-card-top>i{display:grid;place-items:center;width:37px;height:40px;border:1px solid #66704c;border-radius:8px;flex-shrink:0;color:#c9c08b;font-size:18px}.travel-card-top>div{min-width:0;flex:1}.travel-card-top small{font-size:9px;color:#a9b998}.travel-card-top h4{font-size:19px;margin:5px 0 0;overflow-wrap:anywhere}.travel-card-top>span{font-size:9px;color:#b6c69f;flex-shrink:0}.travel-card>p{font-size:11px;line-height:1.8;color:#aab3a0;margin:15px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:58px}.travel-card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}.travel-card-tags span{font-size:9px;background:#7d91541a;border:1px solid #7d91542e;padding:4px 6px;border-radius:4px;color:#b3bc98}.travel-monsters{font-size:11px;color:#aeb9a3;line-height:1.8;border-top:1px solid #77886525;padding:8px 0;margin-bottom:10px}.travel-monsters summary{cursor:pointer;color:#c9d0b6;min-height:24px}.travel-monsters p{margin:9px 0}.travel-card>.btn{width:100%;min-height:40px;margin-top:auto;font-size:12px}.travel-card>.btn:disabled{opacity:1;color:#9eab8c;background:#242b21;border-color:#4c5843;cursor:default}.travel-note{font-size:11px;color:#95a58b;line-height:1.8;margin:12px 0 0}.travel-empty{grid-column:1/-1;text-align:center;padding:35px 12px;border:1px dashed #536443;border-radius:12px;color:#a7b994}.travel-empty>i{font-size:26px}.travel-empty h4{margin:13px 0;font-size:15px}.travel-peace,.travel-controls,.travel-income{border:1px solid #495b3e;border-radius:12px;background:#1b2418}.travel-peace{padding:18px}.travel-peace>b{font-size:14px;color:#d1dcbb}.travel-peace p{font-size:11px;color:#a4b393;line-height:1.8}.travel-peace>div{display:flex;gap:8px;flex-wrap:wrap}.travel-peace .btn{font-size:11px;min-height:40px}.travel-controls>summary,.travel-income>summary{padding:17px;cursor:pointer;font-size:14px;color:#dbdec0}.travel-controls>summary>span{float:right;font-size:11px;color:#aebe91}.travel-control-body{padding:0 18px 18px}.travel-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:13px 0;border-bottom:1px solid #82946922}.travel-toggle span{display:grid;gap:5px}.travel-toggle b{font-size:13px}.travel-toggle small{font-size:11px;color:#9aab8f;line-height:1.7}.travel-toggle input{width:21px;height:21px;accent-color:#b6bb80;cursor:pointer;flex-shrink:0}.travel-range{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:18px;font-size:12px}.travel-range output{color:#d9c992}.travel-range input{grid-column:1/-1;width:100%;accent-color:#bfc28a;min-height:30px}.travel-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0}.travel-stats>div{padding:12px 5px;border:1px solid #556044;border-radius:8px;text-align:center;background:#121a10}.travel-stats small{display:block;color:#9caa8c;font-size:10px}.travel-stats b{display:block;font-size:19px;color:#e6dba9;margin-top:8px;overflow-wrap:anywhere}.travel-income-actions{display:flex;gap:8px}.travel-income-actions .btn{flex:1;min-height:43px;font-size:12px}.travel-page :is(button,select,input,summary):focus-visible{outline:2px solid #ebdca6;outline-offset:3px}
@media(max-width:900px){#panel.travel-panel{height:94dvh}#panel.travel-panel #panel-body{padding-bottom:30px}}@media(max-width:600px){.travel-grid{grid-template-columns:1fr}.travel-hero{min-height:205px}.travel-hero-content{padding:20px}.travel-hero h3{font-size:27px}.travel-hero p{font-size:11px}.travel-filter-row{flex-direction:column}.travel-filters{display:grid;grid-template-columns:repeat(4,1fr)}.travel-filters button{padding:10px 4px;font-size:11px}.travel-card{padding:16px}.travel-card>p{min-height:0}.travel-filter-row select{width:100%}.travel-stats b{font-size:17px}.travel-peace .btn{flex:1;padding:8px 5px}.travel-income-actions{flex-wrap:wrap}}

/* Character overview — scoped; existing growth/equipment actions are retained. */
#panel.character-panel{width:min(900px,96vw)}
.ch-page{--ch-line:#3b382d;--ch-muted:#aaa595;display:grid;gap:14px;min-width:0;padding-bottom:18px}
.ch-page .card{margin:0;min-width:0;padding:18px;border-color:var(--ch-line)}
.ch-hero{display:grid;grid-template-columns:210px minmax(0,1fr);gap:26px;position:relative;overflow:hidden;border:1px solid #65573a;border-radius:18px;padding:24px;background:radial-gradient(ellipse at 15% 40%,#47524455,transparent 55%),linear-gradient(120deg,#202821,#151713 65%,#272015)}
.ch-portrait{position:relative;display:grid;place-items:center;min-height:250px;isolation:isolate}
.ch-orbit{position:absolute;width:190px;height:190px;border:1px solid #c7ab6c42;border-radius:50%;box-shadow:0 0 0 14px #c7ab6c07,0 0 0 35px #c7ab6c05;z-index:-1}
.ch-portrait img{position:absolute;width:100%;height:245px;object-fit:contain;filter:drop-shadow(0 10px 12px #0008)}
.ch-portrait-fallback{font-size:72px;color:#d8bf7d}.ch-art-loaded .ch-portrait-fallback{visibility:hidden}
.ch-portrait-label{align-self:end;z-index:1;padding:6px 12px;background:#111811ed;border:1px solid #59513c;border-radius:20px;font-size:11px;color:#dfcfaa;max-width:100%;text-align:center}
.ch-identity{min-width:0;align-self:center}.ch-eyebrow{font-size:11px;letter-spacing:.17em;color:#c9b77f}
.ch-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0}.ch-name h3{font-size:27px;letter-spacing:-.04em;margin:0 6px 0 0;overflow-wrap:anywhere}.ch-name .mini{min-height:32px;min-width:32px}
.ch-class{margin:0;color:#d9d3c2;font-size:13px}.ch-class span{margin-left:8px;color:#e6c577}.ch-title{font-size:12px;color:#a9b7a6;margin-top:8px}
.ch-power{display:flex;flex-direction:column;gap:2px;margin:16px 0}.ch-power>span{font-size:11px;color:#b6ae97}.ch-power strong{color:#f3d994;font-size:32px;font-variant-numeric:tabular-nums;line-height:1.15}
.ch-exp-label{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#b2b5a6}.ch-exp-label b{font-weight:400;color:#ded8be}
.ch-exp{height:5px;border-radius:5px;background:#050b08;margin-top:7px;overflow:hidden}.ch-exp span{display:block;height:100%;background:linear-gradient(90deg,#536d51,#b6ca87);border-radius:5px}.ch-exp-note{display:block;text-align:right;color:#9eaa96;font-size:10px;margin-top:5px}
.ch-key-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--ch-line);border-radius:12px;background:#191b16;padding:15px 0}.ch-key-stats>div{padding:0 16px;min-width:0;border-right:1px solid var(--ch-line)}.ch-key-stats>div:last-child{border:0}.ch-key-stats span{display:block;color:#b9b4a1;font-size:11px}.ch-key-stats i{margin-right:4px;color:#c9b885}.ch-key-stats strong{display:block;font-size:19px;margin-top:7px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:#efe9d7}
.ch-resources{display:flex;gap:10px 22px;flex-wrap:wrap;padding:2px 6px;color:#aaa797;font-size:11px}.ch-resources i{color:#bba575;margin-right:3px}.ch-resources b{color:#ddd2b6;margin-left:5px}
.ch-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:14px}.ch-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.ch-page .ch-section-title h4{margin:0;font-size:15px;color:#eadbb9}.ch-section-title h4 small{color:#aaa28b;font-size:11px;margin-left:6px}.ch-section-title>.dim{font-size:11px}.ch-page p.dim{font-size:11px;margin:8px 0 14px}
.ch-page .gear-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ch-page .slot{position:relative;min-height:98px;padding:10px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;align-items:center;text-align:left;min-width:0;background:#181a16;border:1px solid #38392e;border-radius:9px;cursor:pointer}.ch-page .slot:hover{border-color:#8f7950;background:#24261e}.ch-page .slot>img{width:34px;height:44px;object-fit:contain;grid-column:1;grid-row:1}.ch-page .slot>img+i{display:none}.ch-page .slot>i{color:#978762;grid-column:1;grid-row:1;text-align:center}.ch-page .slot>div{grid-column:2;grid-row:1;font-size:11px;overflow-wrap:anywhere;line-height:1.5}.ch-slot-label{display:block;color:#aaa38e;font-size:10px;margin-bottom:4px}.ch-page .slot>[data-uneq]{grid-column:1/-1;justify-self:end;font-size:10px;padding:4px 10px;min-height:28px}
.ch-points{font-size:11px;color:#d6b979;border:1px solid #655433;border-radius:20px;padding:5px 9px}.ch-page .vital{padding:10px 0;border-bottom:1px solid #302f26;gap:10px}.ch-page .vital>span{flex:1}.ch-page .vital>b{font-variant-numeric:tabular-nums}.ch-page .vital .mini{width:36px;height:36px;font-size:12px}.ch-hint{font-size:11px;line-height:1.7;color:#9f9d8d;margin:13px 0 0}
.ch-growth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.ch-growth-grid button{display:flex;align-items:center;text-align:left;gap:10px;padding:14px 10px;min-width:0;background:#1e211a;border:1px solid #3b402e;border-radius:9px;color:#e5dcc2}.ch-growth-grid button:hover{background:#2c3023;border-color:#8a7d50}.ch-growth-grid button>i:first-child{color:#c4ac72;font-size:17px;width:22px;text-align:center}.ch-growth-grid button>i:last-child{margin-left:auto;font-size:9px;color:#8f8d75}.ch-growth-grid span{min-width:0}.ch-growth-grid b{display:block;font-size:12px}.ch-growth-grid small{display:block;font-size:10px;color:#aaa996;margin-top:4px;line-height:1.4}
.ch-details{border:1px solid var(--ch-line);border-radius:10px;overflow:hidden;background:#141611}.ch-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:16px;font-size:13px;color:#ddd2b8}.ch-details>summary::-webkit-details-marker{display:none}.ch-details>summary>span{flex:1}.ch-details>summary i{color:#b6a471;margin-right:7px}.ch-details>summary small{font-size:10px;color:#a7a590}.ch-details>summary:after{content:'+';color:#b6a471}.ch-details[open]>summary:after{content:'−'}.ch-details[open]>summary{border-bottom:1px solid var(--ch-line)}.ch-detail-body{padding:16px;min-width:0}.ch-stat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;padding:10px 16px}.ch-stat-list .srow{font-size:12px;padding:10px 0;min-width:0}.ch-stat-list .srow b{overflow-wrap:anywhere}.ch-title-controls{display:flex;gap:8px;margin-top:10px}.ch-title-controls select{min-width:0;flex:1;padding:10px}.ch-detail-body .contrib{margin-top:12px}.ch-page button:focus-visible,.ch-page [role=button]:focus-visible,.ch-page summary:focus-visible{outline:2px solid #dfc886;outline-offset:3px}
@media(max-width:600px){#panel.character-panel{width:100%}.character-panel .p-sub{display:none}.ch-page{gap:12px}.ch-hero{grid-template-columns:100px minmax(0,1fr);padding:16px 12px;gap:12px;border-radius:12px}.ch-portrait{min-height:225px}.ch-portrait img{height:185px}.ch-orbit{width:110px;height:110px}.ch-portrait-label{font-size:9px;padding:5px 7px;line-height:1.5}.ch-name h3{font-size:21px;width:100%}.ch-name .mini{min-width:30px;min-height:30px}.ch-class{font-size:12px}.ch-title{font-size:10px;line-height:1.5}.ch-power{margin:12px 0}.ch-power strong{font-size:25px}.ch-exp-label{font-size:10px;flex-wrap:wrap}.ch-key-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.ch-key-stats>div{padding:13px;border-bottom:1px solid var(--ch-line)}.ch-key-stats>div:nth-child(2){border-right:0}.ch-key-stats>div:nth-child(3){border-bottom:0}.ch-key-stats strong{font-size:19px}.ch-columns{grid-template-columns:1fr;gap:12px}.ch-page .card{padding:14px}.ch-growth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-growth-grid button{padding:12px 8px;gap:6px}.ch-growth-grid button>i:last-child{display:none}.ch-stat-list{grid-template-columns:1fr}.ch-resources{gap:9px 15px}.ch-section-title>.dim{font-size:10px}.ch-details>summary{padding:14px}.ch-details>summary small{max-width:110px;text-align:right}.ch-detail-body .contrib{grid-template-columns:1fr}}

/* Weekly Omen: one reused artwork, no preview canvas, observers or timers. */
#panel.omen-panel{width:min(860px,96vw)}.omen-page{display:grid;gap:16px;padding-bottom:20px;min-width:0}.omen-hero{position:relative;min-height:240px;overflow:hidden;display:flex;align-items:center;border:1px solid #614439;border-radius:15px;padding:26px;background:radial-gradient(ellipse at 85% 50%,#74362b55,transparent 65%),linear-gradient(120deg,#161613,#2c1c19)}.omen-hero>div{position:relative;z-index:1;max-width:65%}.omen-eyebrow{color:#c6ad7b;font-size:11px;letter-spacing:.15em}.omen-hero h2{font-size:34px;color:#f1ddad;margin:10px 0}.omen-hero p{color:#e1b1a3;font-size:16px;margin:0 0 14px}.omen-hero small{color:#bdb4a4;line-height:1.8}.omen-hero img{position:absolute;right:0;bottom:-8px;width:44%;height:95%;object-fit:contain;opacity:.85}.omen-rotation{display:flex;gap:14px;background:#242019;border:1px solid #5c4b30;border-radius:10px;padding:16px}.omen-rotation>i{font-size:24px;color:#deb576;margin-top:5px}.omen-rotation b{font-size:14px;color:#edcea0}.omen-rotation p{margin:6px 0;font-size:12px;color:#ccc2ab}.omen-rotation small{font-size:10px;color:#aaa08b}.omen-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:12px;color:#b7af9b}.omen-summary b{margin-left:7px;color:#f0d8a2}.omen-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.omen-tier{min-width:0;padding:18px 15px;border:1px solid #584633;border-radius:12px;background:linear-gradient(145deg,#24211a,#131512)}.omen-tier-head{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:10px;color:#bd9f6b}.omen-tier-head em{font-style:normal;color:#afa994}.omen-tier h3{font-size:25px;color:#e7c790;margin:18px 0 10px}.omen-tier>p{font-size:12px;color:#aaa897}.omen-tier>p b{color:#ded9c3}.omen-record{font-size:11px;color:#aba695;min-height:35px;padding:10px 0}.omen-record b{color:#b4d8b4}.omen-prize{border-top:1px solid #403c2e;padding:14px 0;display:grid;gap:7px}.omen-prize small{font-size:10px;color:#b6a180}.omen-prize span{font-size:12px;color:#ccc4ab}.omen-tier .btn{width:100%;min-height:42px;font-size:12px}.omen-tier.cleared{border-color:#4a674a}.omen-tier.cleared em{color:#a4cf9b}.omen-patterns{border:1px solid #3d3b30;border-radius:12px;padding:18px;background:#171914}.omen-patterns h3{font-size:15px;margin:0 0 16px;color:#decba1}.omen-patterns>div{padding:10px 0;border-bottom:1px solid #34372c}.omen-patterns b{font-size:12px;color:#d7b48d}.omen-patterns p{font-size:12px;color:#b4b3a0;margin:6px 0;line-height:1.6}.omen-patterns .omen-opening{color:#c2d6a8;margin-top:15px}.omen-title{display:flex;gap:14px;align-items:center;border:1px solid #565035;border-radius:10px;padding:16px}.omen-title>i{font-size:25px;color:#cfb573}.omen-title b{color:#dfc582;font-size:14px}.omen-title p{font-size:11px;color:#b3ac92;margin:6px 0;line-height:1.6}.omen-result{border-left:3px solid #a88c55;padding:12px 16px;background:#242219;color:#d4c4a5}.omen-result b{font-size:13px}.omen-result p{font-size:12px;line-height:1.6}.omen-result small{color:#afa58d;font-size:11px}.omen-rules{border:1px solid #3d3b30;border-radius:10px;padding:16px}.omen-rules summary{cursor:pointer;color:#cbb995;font-size:13px}.omen-rules p{font-size:12px;color:#aaa795;line-height:1.8}.omen-notice{font-size:12px;color:#e5b18e;background:#39251e;padding:12px;border-radius:8px}.omen-page button:focus-visible{outline:2px solid #eed197;outline-offset:3px}
@media(max-width:600px){#panel.omen-panel{width:100%}.omen-hero{min-height:215px;padding:20px 16px}.omen-hero h2{font-size:29px}.omen-hero>div{max-width:70%}.omen-hero img{width:50%;opacity:.6;right:-20px}.omen-hero p{font-size:14px}.omen-tiers{grid-template-columns:1fr}.omen-tier{padding:16px}.omen-tier h3{margin:10px 0}.omen-record{min-height:0}.omen-prize{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.omen-summary{font-size:11px}.omen-rotation{padding:14px}.omen-rotation small{line-height:1.6;display:block}}

/* Chronicle: cumulative reward track, distinct from actionable quests. */
#panel.chronicle-panel{width:min(840px,96vw)}.chronicle-page{display:grid;gap:16px;min-width:0;padding-bottom:24px}.crn-hero{position:relative;overflow:hidden;border:1px solid #65563a;border-radius:16px;padding:26px;background:radial-gradient(ellipse at 90% 0,#69674744,transparent 65%),linear-gradient(120deg,#20291f,#171b17)}.crn-eyebrow{font-size:11px;color:#c9b684;letter-spacing:.14em}.crn-hero h2{font-size:32px;color:#ead6a7;margin:12px 0}.crn-hero>p{font-size:13px;color:#b7bfac;line-height:1.8}.crn-hero>i{position:absolute;right:30px;top:35px;font-size:95px;color:#b4a37122;transform:rotate(-12deg);pointer-events:none}.crn-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid #95805944;padding-top:18px;margin-top:20px}.crn-summary span{font-size:11px;color:#b8b49c}.crn-summary b{display:block;font-size:23px;color:#e8cc90;margin-top:5px}.crn-summary small{font-size:11px;font-weight:400;color:#a8aa94}.crn-tabs{display:flex;border-bottom:1px solid #4a4939;gap:6px}.crn-tabs button{flex:1;padding:14px;border:0;border-bottom:2px solid transparent;background:transparent;color:#a5aa98;font-size:14px}.crn-tabs button[aria-pressed=true]{color:#eed79e;border-bottom-color:#d6ba77;background:#292b2044}.crn-tabs em{font-style:normal;font-size:11px;border-radius:12px;background:#756037;color:#fff0c4;padding:2px 6px;margin-left:4px}.crn-progress{padding:18px;background:#1c2119;border:1px solid #424934;border-radius:10px}.crn-progress>div{display:flex;justify-content:space-between;gap:10px;color:#ded7bb;font-size:13px}.crn-progress span{color:#aaa98e;font-size:11px}.crn-progress progress{width:100%;height:7px;accent-color:#b9bd7d;margin:12px 0}.crn-progress small{display:block;font-size:10px;color:#a7aa94;line-height:1.6}.crn-actions{display:flex;gap:8px}.crn-actions .gold{flex:1}.crn-pages{display:flex;gap:6px;flex-wrap:wrap}.crn-pages button{padding:8px 12px;border:1px solid #444735;background:#181c16;color:#b9b49e;border-radius:7px;font-size:12px}.crn-pages button[aria-pressed=true]{color:#f1d99e;border-color:#b19a5e;background:#373323}.crn-track{display:grid;gap:8px}.crn-step{display:flex;align-items:center;gap:16px;padding:16px;background:#151914;border:1px solid #383e30;border-radius:10px;min-width:0}.crn-number{display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid #484833;border-radius:50%;font-size:18px;color:#a8a68b}.crn-step>div{flex:1;min-width:0}.crn-step>div>b{font-size:12px;color:#aaa995}.crn-step.ready{border-color:#a0894c;background:linear-gradient(110deg,#373222,#1b2119)}.crn-step.ready .crn-number{color:#f2d790;border-color:#aa8c49}.crn-step.ready>div>b{color:#e8ca89}.crn-step.done{opacity:.65}.crn-step .btn{font-size:11px;min-width:74px;min-height:38px;flex-shrink:0}.crn-rewards{display:flex;gap:6px 14px;flex-wrap:wrap;color:#a6ad96;font-size:11px;margin-top:7px}.crn-rewards b{color:#d9d2b5;margin-left:3px}.crn-source{padding:20px;border:1px solid #4c4936;border-radius:12px;background:#22231a}.crn-source h3{font-size:14px;color:#d4c69e;margin:0 0 14px}.crn-source>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.crn-source button{display:grid;gap:7px;text-align:left;padding:13px;border:1px solid #53503a;background:#191d15;border-radius:8px;color:#dbcfaa}.crn-source button span{font-size:12px}.crn-source button b{color:#c5d197;font-size:19px}.crn-source small{color:#aaa78d;font-size:10px}.crn-source p,.crn-ach-intro p{color:#a5aa93;line-height:1.8;font-size:11px;margin-bottom:0}.crn-ach-intro h3{font-size:15px;color:#d6c597}.crn-achievements{display:grid;gap:10px}.crn-achievements article{display:flex;align-items:center;gap:14px;background:#1b1e17;border:1px solid #444533;border-radius:10px;padding:17px;min-width:0}.crn-achievements article>i{color:#bda66c;font-size:22px}.crn-achievements article>div{flex:1;min-width:0}.crn-achievements h3{font-size:14px;color:#ded0ab;margin:0}.crn-achievements p{font-size:11px;color:#a9ab96;line-height:1.7}.crn-achievements .btn{font-size:11px;flex-shrink:0}.crn-notice{padding:14px;border:1px solid #986347;background:#37231a;color:#e5b294;font-size:12px;line-height:1.7}.crn-empty{font-size:13px;color:#b9b59f;padding:24px;text-align:center}.chronicle-page button:focus-visible{outline:2px solid #e0c77e;outline-offset:3px}.quest-journal .qj-tabs button{min-width:0}.quest-journal .qj-reset{flex-wrap:wrap}.quest-journal .qj-reset .qj-secondary{margin-left:auto}.quest-journal .qj-reset small{font-size:10px;line-height:1.6}
@media(max-width:600px){#panel.chronicle-panel{width:100%}.chronicle-panel .p-sub{display:none}.crn-hero{padding:20px 16px}.crn-hero h2{font-size:28px}.crn-hero>i{font-size:70px;right:10px}.crn-summary{gap:8px}.crn-summary b{font-size:20px}.crn-summary span{font-size:10px}.crn-progress{padding:14px}.crn-progress>div{flex-wrap:wrap}.crn-actions{flex-wrap:wrap}.crn-actions .btn{font-size:11px}.crn-pages button{padding:8px 10px}.crn-step{gap:10px;padding:12px 10px;flex-wrap:wrap}.crn-number{flex-basis:32px;height:32px;font-size:15px}.crn-step .btn{min-width:62px;padding:8px}.crn-source{padding:16px 12px}.crn-source button{padding:10px 8px}.crn-source button span{font-size:11px}.crn-source button b{font-size:17px}.crn-achievements article{gap:10px;padding:14px 10px;flex-wrap:wrap}.crn-achievements .btn{margin-left:auto}.crn-achievements article>div{min-width:140px}.quest-journal .qj-tabs{display:flex}.quest-journal .qj-tabs button{flex:1;padding:12px 6px;font-size:12px}}

/* One menu, five sections; only the selected section is mounted. */
#panel.journal-panel{width:min(840px,96vw)}.unified-journal{min-width:0}.journal-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 14px;margin-bottom:16px;border-bottom:1px solid #645538}.journal-tabs button{flex:1 1 110px;min-width:0;min-height:44px;padding:10px 8px;background:#191e17;border:1px solid #434735;border-radius:9px;color:#b9b89f;font-size:12px}.journal-tabs button[aria-pressed=true]{background:#463d26;border-color:#baa062;color:#ffe0a0}.journal-tabs button>span{display:inline-block;margin-left:5px;padding:1px 5px;border-radius:10px;background:#8d7137;color:#fff2c5;font-size:10px}.journal-tabs button:focus-visible{outline:2px solid #ecd18e;outline-offset:2px}.journal-content{min-width:0}.unified-journal .qj-tabs,.unified-journal .crn-tabs{display:none}.unified-journal .qj-hero h2{font-size:24px}.unified-journal .crn-hero h2{font-size:24px}.unified-journal .quest-journal,.unified-journal .chronicle-page{padding-top:0}@media(max-width:600px){#panel.journal-panel{width:100%}.journal-tabs{gap:6px}.journal-tabs button{flex:1 1 calc(33.333% - 8px);font-size:11px;padding:9px 5px}.journal-tabs button:nth-child(n+4){flex-basis:calc(50% - 6px)}}

/* 주전 · 무공: isolated menu surfaces, shared navigation rhythm */
#panel.skills-panel,#panel.tavern-panel{width:min(840px,100vw)}
.skills-page,.tavern-page{color:#e9dfcf;min-width:0}
.skills-page .menu-hero,.tavern-page .menu-hero{padding:24px;border:1px solid #655137;border-radius:16px;background:radial-gradient(ellipse at 100% 0, #74552b38,transparent 65%),linear-gradient(135deg,#24221a,#131714);margin-bottom:16px}
.menu-eyebrow{color:#caa56c;font-size:11px;letter-spacing:.1em}.menu-hero h3{font-size:23px;line-height:1.4;margin:9px 0;color:#f2e4c9}.menu-hero h3 i{color:#d5ad70;margin-right:6px}.menu-hero p{font-size:12px;color:#bfb6a7;line-height:1.8;margin:0}.menu-chip{display:inline-block;padding:5px 9px;background:#d0a76612;border:1px solid #79634466;border-radius:6px;color:#dcc598;font-size:11px;margin-top:13px}
.menu-switch{display:flex;gap:5px;padding:5px;background:#0b0e0d;border:1px solid #393b30;border-radius:11px;margin:0 0 17px}.menu-switch button{flex:1;min-width:0;min-height:44px;border:1px solid transparent;background:transparent;color:#b0aa9d;border-radius:7px;font:inherit;font-size:12px;cursor:pointer}.menu-switch button[aria-pressed=true]{background:#3b3224;border-color:#856a41;color:#ffe2aa;font-weight:700}.menu-switch button:focus-visible,.tavern-latest:focus-visible{outline:2px solid #dbb77e;outline-offset:2px}
.skills-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #b7976333}.skills-overview>div{display:flex;flex-direction:column;gap:5px;min-width:0}.skills-overview span{font-size:11px;color:#b8b09d}.skills-overview b{font-size:23px;color:#f2d9ab}.skills-overview small{font-size:11px;color:#9a9282;font-weight:400}.skills-section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.skills-section-heading h4{margin:0;font-size:16px}.skills-section-heading>span{font-size:11px;color:#d4b777}.skills-tip{color:#aaa697;font-size:12px;line-height:1.7;margin:8px 0 16px}.skill-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skill-card{padding:16px;border:1px solid #494536;border-radius:12px;background:linear-gradient(130deg,#23241d,#151916);min-width:0}.skill-card.is-max{border-color:#46614c}.skill-card-head{display:flex;align-items:center;gap:10px}.skill-card-head>div{min-width:0;flex:1}.skill-card-head h4{font-size:15px;margin:4px 0 0}.skill-kind{font-size:10px;color:#bcaa83;letter-spacing:.04em}.skill-card .sk-ic{width:48px;height:48px;flex:none}.skill-level{font-size:22px;color:#e6c890;white-space:nowrap}.skill-level small{font-size:11px;color:#a09988}.skill-description{font-size:12px;color:#c0bdae;line-height:1.8;min-height:44px;margin:15px 0}.skill-card progress{display:block;width:100%;height:5px;accent-color:#c8a367;margin:0 0 15px}.skill-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:13px;border-top:1px solid #72654744}.skill-card-foot>div{display:flex;flex-direction:column;gap:5px}.skill-card-foot b{font-size:12px;color:#ddc99f}.skill-card-foot small{font-size:10px;color:#a9a592}.skill-card-foot .btn{min-height:42px;min-width:62px}.skill-card .btn:disabled{opacity:.5;cursor:not-allowed}
.tavern-status{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#a6ae9f;margin:0 2px 10px}.tavern-status .is-error{color:#f4a49a}.tavern-status [data-chat-count]{white-space:nowrap;color:#8d9386}.tavern-page .chat-box{position:relative;height:clamp(220px,38vh,410px);gap:10px;padding:14px;background:#0d1210;border-color:#343e33;overflow-anchor:none;overscroll-behavior:contain}.tavern-page .chat-box .line{display:block;flex:none;border-radius:9px;padding:11px 13px;background:#1c251f;border:1px solid #35433566;margin-right:22px}.tavern-page .chat-box .line.me{margin-right:0;margin-left:22px;background:#263024;border-color:#6c784455}.tavern-page .chat-box .line.sys{margin:0;background:#2c241a;border-color:#7d624044;color:#d1b98e}.tavern-message-head{display:flex;justify-content:space-between;align-items:baseline;gap:9px;margin-bottom:7px}.tavern-page .who{font-size:11px;white-space:normal;overflow-wrap:anywhere;cursor:default;color:#dac49b}.tavern-page .who small{font-size:9px;color:#b8cca5;margin-left:3px}.tavern-page .t{color:#8b9588;flex:none}.tavern-page .msg{font-size:12px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.tavern-page .chat-idle{flex-direction:column;gap:12px;min-height:200px;text-align:center;color:#b8b2a2;letter-spacing:0}.tavern-page .chat-idle i{font-size:28px}.tavern-page .chat-idle span{font-size:11px;color:#898f81}.tavern-latest{display:block;width:100%;border:1px solid #756240;border-radius:7px;background:#332b1b;color:#ead3a4;padding:9px;cursor:pointer;font-size:11px;margin-top:8px}.tavern-latest[hidden]{display:none}.tavern-quick{margin:14px 0;font-size:12px;color:#b7b29f}.tavern-quick summary{cursor:pointer;padding:9px 0}.tavern-quick .chat-quick{display:flex;flex-wrap:wrap;gap:7px}.tavern-quick .btn{white-space:normal;text-align:left;min-height:38px}.tavern-quick small{display:block;font-size:10px;margin:8px 0;color:#929987}.tavern-compose{background:#181d17;padding:14px;border:1px solid #424b39;border-radius:12px}.tavern-compose label{display:block;font-size:11px;color:#c7be9f}.tavern-page .chat-in{position:static;background:transparent;padding:9px 0;gap:8px}.tavern-page .chat-in input{width:0;min-width:0;min-height:44px;font-size:14px;border:1px solid #4d5743;background:#0b110d}.tavern-page .chat-in .btn{flex:none;min-height:44px}.tavern-compose-foot{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#959d88}.tavern-compose-foot #chat-n{flex:none}
@media(max-width:560px){.skills-page .menu-hero,.tavern-page .menu-hero{padding:17px}.menu-hero h3{font-size:19px}.skill-card-grid{grid-template-columns:1fr}.skill-description{min-height:0}.skills-overview{gap:8px}.skills-overview b{font-size:20px}.skills-overview span{font-size:10px}.tavern-page .chat-box{padding:9px}.tavern-page .chat-box .line{margin-right:10px}.tavern-page .chat-box .line.me{margin-left:10px}.tavern-compose{padding:11px}.tavern-page .chat-in .btn span{display:none}.skills-section-heading{flex-wrap:wrap}.tavern-status{font-size:10px}.tavern-page .chat-in input{font-size:16px}}

.skill-card .sk-ic{display:grid;place-items:center;background:#101610;border:1px solid #82724a55;border-radius:10px}.skill-card .sk-ic img.ico{width:38px;height:38px;object-fit:contain}.skill-card .sk-ic>i{color:#d8b777;font-size:23px}.skill-card progress{appearance:none;border:0;background:#3b3c32;border-radius:5px;overflow:hidden}.skill-card progress::-webkit-progress-bar{background:#3b3c32}.skill-card progress::-webkit-progress-value{background:linear-gradient(90deg,#a88650,#e4c586)}.skill-card progress::-moz-progress-bar{background:#d4b675}

/* Companion bond story: narrative-first, existing quest rules unchanged. */
#panel.bond-panel{width:min(850px,100vw)}.bond-story{color:#e6ddcd;min-width:0}.bs-back{border:0;background:none;color:#c8b393;font:12px inherit;padding:3px 0 16px;cursor:pointer}.bs-hero{display:grid;grid-template-columns:35% minmax(0,1fr);gap:20px;border:1px solid #78604c;border-radius:16px;background:radial-gradient(ellipse at 20% 45%,#74526044,transparent 66%),linear-gradient(125deg,#282128,#15171b);padding:24px;overflow:hidden}.bs-portrait{display:grid;place-items:center;min-height:240px;background:radial-gradient(ellipse at 50% 75%,#e2b77f19,transparent 65%)}.bs-portrait img{width:100%;height:260px;object-fit:contain;filter:drop-shadow(0 8px 14px #0007)}.bs-portrait>i{font-size:65px;color:var(--bond-color)}.bs-portrait>i[hidden]{display:none}.bs-intro{align-self:center;min-width:0}.bs-eyebrow{font-size:11px;color:#d4ae83;letter-spacing:.06em}.bs-intro h3{font-size:28px;line-height:1.4;margin:12px 0;color:#f3e2c3;word-break:keep-all;overflow-wrap:anywhere}.bs-intro>p{font-size:12px;color:#b7aeb8;line-height:1.9;margin:0 0 17px}.bs-status{display:inline-flex;gap:6px;align-items:center;font-size:10px;color:#c3b294;border:1px solid #74604988;border-radius:20px;padding:6px 9px;background:#ad895712}.bs-status.ready{color:#e7cda1;background:#94704426;border-color:#b58c4d}.bs-overview{display:flex;gap:26px;margin-top:18px}.bs-overview>span{font-size:10px;color:#a69899}.bs-overview b{display:block;color:#ead9b9;margin-top:5px;font-size:13px}.bs-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;gap:8px;margin:18px 0}.bs-path li{display:flex;align-items:center;gap:10px;min-width:0;padding:13px 10px;background:#1a1a1c;border:1px solid #464047;border-radius:10px}.bs-step{display:grid;place-items:center;width:28px;height:28px;flex:none;background:#ffffff08;border:1px solid #65524766;border-radius:50%;color:#96816c;font-size:10px}.bs-path small{font-size:9px;color:#9a8d7e}.bs-path b{display:block;font-size:11px;margin-top:4px;line-height:1.5}.bs-path .current{background:#352a20;border-color:#b48e56}.bs-path .current .bs-step{color:#f3d9a8;background:#aa85452e}.bs-path .done{border-color:#506449;color:#b8cea8}.bs-path .done .bs-step{color:#b8cea8}.bs-path .locked{opacity:.5}.bs-chapter{padding:24px;background:linear-gradient(145deg,#28221e,#151719);border:1px solid #7a6346;border-radius:14px}.bs-chapter-heading{display:flex;align-items:center;gap:13px;margin-bottom:20px}.bs-chapter-heading>span{font-size:11px;color:#d6b57d}.bs-chapter-heading h4{font-size:19px;margin:0}.bs-dialogue{border-left:2px solid #bc9763;background:#b0855810;padding:17px 20px;margin-bottom:24px}.bs-dialogue>span{color:#d2b58f;font-size:11px;font-weight:bold}.bs-dialogue blockquote,.bs-archive blockquote{margin:10px 0 0;font-size:15px;line-height:2;color:#eadcca;word-break:keep-all;overflow-wrap:anywhere}.bs-goal{padding:16px;background:#101412;border:1px solid #494c3a;border-radius:10px}.bs-goal>div{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;line-height:1.7}.bs-goal>div>span{flex:none;color:#e3c898;font-variant-numeric:tabular-nums}.bs-goal progress{appearance:none;display:block;width:100%;height:6px;border:0;border-radius:5px;overflow:hidden;background:#363931;margin:13px 0}.bs-goal progress::-webkit-progress-bar{background:#363931}.bs-goal progress::-webkit-progress-value{background:linear-gradient(90deg,#907047,#e2c287)}.bs-goal progress::-moz-progress-bar{background:#d3ad74}.bs-goal small{color:#a29d8c;font-size:10px;line-height:1.7}.bs-reward-label{font-size:10px;color:#ada28a;margin:20px 0 9px}.bs-rewards{display:flex;flex-wrap:wrap;gap:7px}.bs-reward{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #64533966;border-radius:7px;background:#13130f55;font-size:11px;color:#decaaa}.bs-reward i{color:#c6a267}.bs-actions{margin-top:21px}.bs-actions .btn{min-height:46px;white-space:normal;font-size:12px;width:100%}.bs-actions .btn:disabled{opacity:.45}.bs-wait{margin:0;padding:12px;background:#ffffff04;border-radius:7px;color:#b3ac9b;font-size:11px;line-height:1.8}.bs-warning{font-size:11px;color:#e3b38d;line-height:1.8}.bs-archive{margin-top:16px;border:1px solid #514637;border-radius:11px;background:#1c191a}.bs-archive summary{cursor:pointer;display:flex;align-items:center;gap:10px;padding:16px;font-size:12px;color:#d8c49e}.bs-archive summary span{margin-left:auto;font-size:10px;color:#a79781}.bs-archive article{margin:0 18px;padding:18px 0;border-top:1px solid #ffffff12}.bs-archive article>small{font-size:10px;color:#9bac8d}.bs-archive h4{font-size:14px;margin:7px 0}.bs-archive blockquote{font-size:12px;margin-bottom:14px;color:#bdb0a1}.bs-next{display:flex;gap:14px;padding:20px;border:1px dashed #504a41;border-radius:11px;margin-top:16px;color:#948976}.bs-next>i{margin-top:12px}.bs-next small{font-size:10px}.bs-next b{display:block;margin:6px 0;font-size:13px;color:#bdb09b}.bs-next p{font-size:11px;line-height:1.7;margin:0}.bs-rules{margin-top:16px;padding:0 3px;color:#a59a87;font-size:11px}.bs-rules summary{padding:12px 0;cursor:pointer}.bs-rules p{line-height:1.9}.bs-complete{display:flex;gap:14px;padding:18px;background:#7560401c;border:1px solid #97774766;border-radius:10px}.bs-complete>i{color:#d7b695;font-size:24px}.bs-complete b{font-size:13px;color:#e6cba0}.bs-complete p{font-size:11px;line-height:1.8;color:#b9aa91;margin:8px 0 0}.bond-story button:focus-visible,.bond-story summary:focus-visible{outline:2px solid #ddbb84;outline-offset:3px}
@media(max-width:560px){.bs-hero{grid-template-columns:90px minmax(0,1fr);padding:16px;gap:13px}.bs-portrait{min-height:180px}.bs-portrait img{height:200px}.bs-intro h3{font-size:21px;margin:8px 0}.bs-intro>p{font-size:11px}.bs-eyebrow{font-size:10px}.bs-overview{gap:15px}.bs-status{font-size:9px;border-radius:7px;line-height:1.7}.bs-path{gap:5px}.bs-path li{padding:11px 7px;flex-direction:column;align-items:flex-start;gap:7px}.bs-path b{font-size:10px}.bs-chapter{padding:17px}.bs-chapter-heading h4{font-size:17px}.bs-dialogue{padding:13px}.bs-dialogue blockquote{font-size:14px}.bs-goal{padding:12px}.bs-goal>div{font-size:11px;gap:9px}.bs-reward{font-size:10px;padding:8px}.bs-complete{padding:13px}.bs-complete>i{font-size:20px}}

/* Dungeon library */
#panel.dungeon-panel{width:min(940px,100vw)}.dungeon-page{color:#e9ddc9;min-width:0}.dg-hero{padding:25px;border:1px solid #7b5e3a;border-radius:15px;background:radial-gradient(ellipse at 95% 15%,#95603835,transparent 65%),linear-gradient(125deg,#30241c,#16191a);margin-bottom:18px}.dg-eyebrow{font-size:10px;letter-spacing:.13em;color:#d2ab76}.dg-hero h3{font-size:29px;margin:8px 0;color:#f1dfbb}.dg-hero>p{font-size:12px;line-height:1.8;color:#bcae98;margin:0}.dg-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:23px 0 17px}.dg-overview span{display:block;font-size:11px;color:#b5a78e;margin-bottom:8px}.dg-overview b{font-size:27px;color:#e9c98e;font-variant-numeric:tabular-nums}.dg-overview small{font-size:11px;color:#a69983;font-weight:normal}.dg-reset{padding-top:14px;border-top:1px solid #cba87825;color:#a99b86;font-size:10px;line-height:1.7}.dg-reset i{margin-right:5px}.dg-banner{border:1px solid #856043;padding:12px;border-radius:8px;background:#4d2d1722;color:#dcb88d;font-size:12px}.dg-tools{margin-bottom:16px}.dg-search{display:flex;gap:12px;align-items:center;border:1px solid #504937;border-radius:9px;background:#111613;padding:0 13px;color:#b09b77}.dg-search input{width:100%;min-width:0;border:0!important;background:transparent!important;padding:13px 0!important;color:#eee2cc;font:12px inherit;outline:none;box-shadow:none!important}.dg-search:focus-within{outline:2px solid #cba468}.dg-controls{display:flex;align-items:stretch;gap:9px;margin:11px 0 18px}.dg-filters{display:flex;flex:1;gap:4px;padding:4px;background:#101411;border:1px solid #3f4233;border-radius:9px}.dg-filters button{flex:1;min-height:38px;background:transparent;border:1px solid transparent;color:#aaa28e;border-radius:6px;font:11px inherit;cursor:pointer;white-space:nowrap}.dg-filters button[aria-pressed=true]{border-color:#9c7e4d;background:#3d3120;color:#f0d49f}.dg-controls select{width:140px;min-width:0;border:1px solid #504737;border-radius:8px;background:#221e17;color:#dccbb0;padding:8px;font:11px inherit}.dg-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dg-list-heading h4{font-size:16px;margin:0}.dg-list-heading span{font-size:11px;color:#a79880}.dungeon-page .dungeon-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dungeon-page .dungeon-card{display:flex;flex-direction:column;background:#191814;border-color:#5c4c37}.dungeon-page .dungeon-card[hidden],.dg-empty[hidden]{display:none}.dungeon-page .dungeon-cover{height:205px;flex:none}.dungeon-page .dungeon-cover-title h3{font-size:21px}.dungeon-page .dungeon-cover-title p{font-size:11px;line-height:1.7}.dungeon-page .dungeon-cover img[hidden]{display:none}.dungeon-page .dungeon-card-body{flex:1;display:flex;flex-direction:column;min-width:0}.dg-card-facts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}.dg-card-facts>span{font-size:10px;padding:5px 7px;background:#ffffff05;border:1px solid #76634755;border-radius:5px;color:#bfae8e}.dg-card-facts .ready{color:#b8d6a3;border-color:#6a865144;background:#6b895017}.dungeon-page .is-unavailable .dungeon-kind{border-color:#756553}.dg-attempts{width:100%;height:4px;display:block;appearance:none;border:0;border-radius:3px;overflow:hidden;background:#36372e;margin:11px 0 0}.dg-attempts::-webkit-progress-bar{background:#36372e}.dg-attempts::-webkit-progress-value{background:#b2915d}.dg-attempts::-moz-progress-bar{background:#b2915d}.dungeon-page .dungeon-rule{margin-bottom:14px}.dungeon-page .dungeon-actions{margin-top:auto;padding-top:3px}.dungeon-page .dungeon-actions .btn{min-height:44px}.dungeon-page .dungeon-status{font-size:11px}.dungeon-page .dungeon-details{margin-top:12px}.dg-empty{text-align:center;border:1px dashed #6c5a3e;border-radius:12px;background:#1b1915;padding:35px 18px}.dg-empty>i{font-size:28px;color:#b69864}.dg-empty h4{font-size:16px;color:#dbc59f}.dg-empty p{font-size:12px;color:#a99b84}.dg-help{margin-top:18px;border:1px solid #494233;border-radius:10px;background:#181713;padding:0 17px 9px;color:#b8a88e;font-size:11px;line-height:1.8}.dg-help summary{cursor:pointer;padding:14px 0;color:#dcc6a0;font-size:12px}.dg-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dg-modes p{padding:12px;border:1px solid #514734;border-radius:7px;background:#28211866;font-size:11px}.dg-modes b{display:block;color:#e5cc9d;margin-bottom:6px}.dg-filters button:focus-visible,.dg-help summary:focus-visible{outline:2px solid #d8b16e;outline-offset:2px}
@media(max-width:650px){.dungeon-page .dungeon-gallery{grid-template-columns:1fr}.dg-hero{padding:19px}.dg-hero h3{font-size:25px}.dg-overview{gap:8px}.dg-overview span{font-size:10px}.dg-overview b{font-size:24px}.dg-controls{flex-wrap:wrap}.dg-filters{flex-basis:100%}.dg-controls select{width:100%;min-height:38px}.dg-modes{grid-template-columns:1fr;gap:0}.dg-search input{font-size:16px}.dungeon-page .dungeon-cover{height:195px}.dungeon-page .dungeon-cover-title h3{font-size:20px}}

/* 체질별 성장 방향: 숫자/길게 누르기 구조 유지 */
.ch-page .vital>.vital-label{min-width:0;line-height:1.5}.ch-page .vital-label small{display:block;font-size:10px;line-height:1.65;color:#aaa58f;margin-top:4px;word-break:keep-all;overflow-wrap:anywhere}.ch-page .vital>b,.ch-page .vital .mini{flex-shrink:0}

/* Illustrated travel cards: art and data share one accessible article. */
.travel-card{padding:0;overflow:hidden;background:linear-gradient(155deg,#25291e,#151711)}
.travel-region-art{position:relative;aspect-ratio:8/5;overflow:hidden;background:#1b2119;flex-shrink:0}
.travel-region-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.travel-card:hover .travel-region-art img{transform:scale(1.025)}
.travel-region-shade{position:absolute;inset:0;background:linear-gradient(0deg,#151711 0%,transparent 60%);pointer-events:none}
.travel-region-level{position:absolute;top:12px;right:12px;padding:5px 9px;border:1px solid #ad956a66;border-radius:5px;background:#12150fda;color:#e1d5b9;font-size:10px}
.travel-card .travel-card-top{position:relative;margin:-37px 18px 0;min-height:48px;z-index:1;text-shadow:0 2px 7px #000}
.travel-card .travel-card-top>i{background:#161b13d9}
.travel-card>p,.travel-card>.travel-card-tags,.travel-card>.travel-monsters{margin-left:18px;margin-right:18px}
.travel-card>.btn{width:calc(100% - 36px);margin: auto 18px 18px}
.travel-card.is-locked .travel-region-art img{filter:saturate(.45);opacity:.65}
.travel-card.is-current .travel-region-level{border-color:#e4c272;color:#ffe3a2}
@media(prefers-reduced-motion:reduce){.travel-region-art img{transition:none}.travel-card:hover .travel-region-art img{transform:none}}
@media(max-width:600px){.travel-card{padding:0}.travel-region-art{aspect-ratio:16/10}.travel-card .travel-card-top{margin-left:16px;margin-right:16px}.travel-card>.btn{width:calc(100% - 32px);margin-left:16px;margin-right:16px}}

/* HP/XP share the middle grid column; XP is exactly half the HP track height. */
#hud-hp{--hud-health-height:11px;display:grid;grid-template-columns:auto minmax(25px,1fr) auto;column-gap:8px;row-gap:3px;align-items:center}
#hud-hp>i{grid-column:1;grid-row:1}
#hud-hp>.bar{grid-column:2;grid-row:1;height:var(--hud-health-height);box-sizing:border-box;min-height:0}
#hud-hp>span{grid-column:3;grid-row:1;white-space:nowrap}
#hud-hp>.hud-xp-track{grid-column:2;grid-row:2;width:100%;height:calc(var(--hud-health-height)/2);box-sizing:border-box;overflow:hidden;border-radius:999px;background:#102331;box-shadow:inset 0 0 0 1px #7cafc533}
.hud-xp-track>div{height:100%;background:linear-gradient(90deg,#386ca0,#8bcfe3);border-radius:inherit}
@media(max-width:900px){#mobile-hud-stack #hud-hp{column-gap:6px;row-gap:3px}}

/* Realm progression */
.realm-page{max-width:1040px;margin:auto}.realm-hero{padding:26px;border:1px solid #6e4951;background:linear-gradient(110deg,#271621f2,#1c1929e0),url('../assets/realm/mahyul-cover.webp') center/cover;border-radius:12px}.realm-hero>small{color:#d5a5b0;letter-spacing:.12em}.realm-hero h3{font-size:26px;margin:12px 0}.realm-hero h3 span{color:#efc681;margin-left:12px}.realm-hero p,.realm-next p{line-height:1.8;color:#bfb3ba}.realm-summary{display:flex;gap:28px;flex-wrap:wrap;margin-top:22px}.realm-summary small{display:block;color:#ab9ba5;margin-bottom:7px}.realm-summary b{color:#eac691;font-size:18px}.realm-next{margin:16px 0}.realm-next progress{width:100%;height:7px;accent-color:#c9a766}.realm-progress{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.realm-path{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.realm-path li{display:flex;gap:12px;align-items:flex-start;padding:18px 12px;border:1px solid #383440;border-radius:8px;background:#16151ddd}.realm-path li.next{border-color:#ab8751;background:#29211d}.realm-path li.completed{border-color:#566c57}.realm-number{color:#9c7e51;font-size:20px}.realm-path h4{margin:0;font-size:17px}.realm-path h4 small{font-size:10px;color:#a79d99;margin-left:10px}.realm-path p{font-size:12px;color:#c8bbb0;margin:10px 0}.realm-path small{font-size:11px;color:#a59baa}.realm-path li>i{margin-left:auto;font-size:12px;color:#82765e}.realm-path .realm-unlock{color:#dfbd83}.realm-page>.dim{font-size:12px;line-height:1.8}@media(max-width:700px){.realm-path{grid-template-columns:repeat(2,minmax(0,1fr))}.realm-hero{padding:18px}.realm-path li{gap:8px;padding:12px 8px}.realm-number{font-size:16px}.realm-path li>i{display:none}.realm-path h4 small{display:block;margin:5px 0 0}.realm-progress{flex-wrap:wrap}.realm-summary b{font-size:16px}}

/* Solo combat benchmark */
.practice-hero{display:flex;align-items:center;gap:20px;padding:24px;background:radial-gradient(ellipse at right,#4e402a,#181b19 75%);border:1px solid #78613e;border-radius:12px}.practice-hero>div{flex:1;min-width:0}.practice-hero h3{font-size:30px;margin:12px 0;color:#edcf96}.practice-hero p,.practice-modes p{line-height:1.8;color:#bcb4a2}.practice-hero small,.practice-result>small{color:#c1a67d}.practice-hero img{width:140px;max-width:32%;object-fit:contain}.practice-tags{display:flex;gap:6px;flex-wrap:wrap}.practice-tags span{padding:5px 8px;background:#141510a0;border:1px solid #78613e70;border-radius:5px;font-size:11px;color:#d9c79e}.practice-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.practice-modes h4{font-size:18px;margin:0}.practice-modes .btn{width:100%}.practice-score{padding:22px 0;border-bottom:1px solid #716040}.practice-score small{display:block;color:#bdb09a}.practice-score strong{display:block;font-size:34px;color:#f3d18a;margin-top:8px;overflow-wrap:anywhere}.practice-results{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:20px}.practice-results small{display:block;color:#a99c86;margin-bottom:6px}.practice-results b{overflow-wrap:anywhere}.practice-note{line-height:1.9;font-size:12px;margin-top:18px}@media(max-width:600px){.practice-hero{padding:18px 14px;gap:6px}.practice-hero h3{font-size:26px}.practice-hero p{font-size:12px}.practice-hero img{max-width:28%}.practice-modes{gap:8px}.practice-modes .card{padding:14px 10px}.practice-modes p{font-size:12px}.practice-modes .btn{font-size:12px;padding:10px 4px}.practice-results{gap:14px}.practice-results b{font-size:14px}}

#instance-hud.practice{width:min(490px,92vw)}#instance-hud.practice .inst-row{flex-wrap:wrap;gap:6px 12px}#instance-hud.practice #inst-wave{flex:1 1 250px;line-height:1.7;font-size:11px}#instance-hud.practice #inst-timer{white-space:nowrap;color:#e7c998}

.geoi-guide{margin:14px 0;padding:14px 16px;border:1px solid #5d526c;border-radius:10px;background:#1d1725}.geoi-guide summary{color:#d0b2e7;cursor:pointer;font-size:13px}.geoi-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.geoi-guide-grid article{display:flex;align-items:center;gap:6px;background:radial-gradient(#423451,#15111a);padding:8px;border-radius:8px;min-width:0}.geoi-guide-grid img{width:90px;max-width:46%;height:110px;object-fit:contain}.geoi-guide-grid b{font-size:13px;color:#d4c2e6}.geoi-guide-grid small{display:block;font-size:10px;line-height:1.6;color:#b7a9c4;margin-top:6px}.geoi-guide p{font-size:12px;color:#baafc5;line-height:1.85;margin:12px 0 0}@media(max-width:420px){.geoi-guide{padding:12px}.geoi-guide-grid article{flex-direction:column}.geoi-guide-grid img{max-width:100%;height:96px}.geoi-guide-grid article>div{text-align:center}}

.login-info-link{text-decoration:none;color:#d8c796!important;white-space:nowrap}.login-info-link:hover{border-color:#b5a16c!important;background:#343c28!important}.login-guide-link{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;padding:12px 9px;border:1px solid #7d86514a;border-radius:5px;color:#c2c9aa;text-decoration:none;font-size:11px;line-height:1.6}.login-guide-link:hover{background:#273122}.login-guide-link>i:last-child{font-size:10px}.login-guide-link:focus-visible,.login-info-link:focus-visible{outline:2px solid #d5b979;outline-offset:3px}@media(max-width:380px){#title[data-state="gate"] .t-top{gap:7px}#title[data-state="gate"] .t-badges{gap:5px}.login-guide-link{font-size:10px;gap:7px}}
#title .login-wordmark{flex-shrink:0}#title .login-wordmark>span:last-child{white-space:nowrap}
@media(max-width:380px){#title[data-state="gate"] .login-wordmark{font-size:17px;letter-spacing:2px;gap:7px}#title[data-state="gate"] .t-badges{min-width:0;flex-wrap:wrap;justify-content:flex-end}#title[data-state="gate"] #t-server{max-width:75px;line-height:1.5}}

/* AI-painted, live class honor ornaments. Text remains real, accessible type. */
.rank-honor{--honor:#f4ce78;--honor-art:url('../assets/honors/musa.webp');display:inline-flex;align-items:center;justify-content:center;position:relative;isolation:isolate;width:180px;height:60px;max-width:100%;padding:0;white-space:nowrap;color:var(--honor);font-size:14px;line-height:1.35;letter-spacing:1px;vertical-align:middle}
.rank-honor-fungsu{--honor:#98e2c3;--honor-art:url('../assets/honors/fungsu.webp')}.rank-honor-mudang{--honor:#e7bdff;--honor-art:url('../assets/honors/mudang.webp')}.rank-honor-tushin{--honor:#ffbe81;--honor-art:url('../assets/honors/tushin.webp')}.rank-honor-jaghaak{--honor:#bdcdff;--honor-art:url('../assets/honors/jaghaak.webp')}
.rh-art{position:absolute;inset:0;z-index:-2;background:var(--honor-art) center/100% 100% no-repeat;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--honor) 22%,transparent));pointer-events:none}
.rank-honor::before{content:"";position:absolute;z-index:-1;top:25%;bottom:28%;left:22%;right:22%;background:radial-gradient(ellipse,#080710dd 20%,#08071088 55%,transparent 76%);pointer-events:none}
.rank-honor::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#fff7de88 49%,transparent 62%) 150% 0/300% 100% no-repeat;mask:var(--honor-art) center/100% 100% no-repeat;-webkit-mask:var(--honor-art) center/100% 100% no-repeat;animation:rankHonorSweep 5.4s ease-in-out infinite}
.rank-honor b{position:relative;z-index:2;margin-top:-3px;font-size:inherit!important;letter-spacing:inherit;background:none;color:var(--honor,#f4ce78);-webkit-text-fill-color:currentColor;text-shadow:0 1px 2px #000,0 0 4px #000;animation:rankHonorTextGlow 3.6s ease-in-out infinite}
@keyframes rankHonorTextGlow{0%,100%{text-shadow:0 1px 2px #000,0 0 3px #000}50%{text-shadow:0 1px 2px #000,0 0 4px #000,0 0 7px var(--honor)}}
.rh-star{position:absolute;left:16%;top:18%;z-index:3;font-size:9px;line-height:1;color:#fff8e6;text-shadow:0 0 5px var(--honor),0 0 9px var(--honor);animation:rankHonorSpark 3.2s ease-in-out infinite;pointer-events:none}.rh-star:last-child{left:auto;right:13%;top:63%;animation-delay:1.6s}
.cr-avatar>.rank-honor{
  position:absolute;z-index:4;top:-4px;left:50%;transform:translateX(-50%);
  width:172px;height:58px;max-width:98%;
  padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:none;border:none;border-radius:0;box-shadow:none;backdrop-filter:none;
  font-size:13px;letter-spacing:.8px;
  overflow:visible;
}
.cr-avatar>.rank-honor .rh-art{ display:block !important; }
.cr-avatar>.rank-honor::before{ display:block !important; }
.cr-avatar>.rank-honor::after{ display:block !important; }
.cr-avatar>.rank-honor b{ margin-top:-2px; font-size:13px; letter-spacing:.8px; text-shadow:0 1px 2px #000,0 0 6px var(--honor),0 0 12px var(--honor); }
.cr-avatar>.rank-honor .rh-star{ position:absolute; left:12%; top:14%; font-size:8px; transform:none; animation:rankHonorSpark 3.2s ease-in-out infinite; text-shadow:0 0 5px var(--honor),0 0 9px var(--honor); }
.cr-avatar>.rank-honor .rh-star:last-child{ left:auto; right:10%; top:62%; animation-delay:1.6s; }
.cr-avatar>.rank-honor .rh-fx{ display:block !important; }
.cr-avatar:has(>.rank-honor)>img{height:100%}
/* Reserve a title strip above the avatar without shrinking the avatar art. */
.cr-avatar.has-rank-honor{--rank-honor-space:58px;--rank-honor-center-offset:29px;padding-top:var(--rank-honor-space);height:calc(174px + var(--rank-honor-space))}
.cr-avatar.has-rank-honor>.cr-halo{top:calc(50% + var(--rank-honor-center-offset))}
.cr-place-1 .cr-avatar.has-rank-honor{height:calc(208px + var(--rank-honor-space))}
.cr-person>.rank-honor{display:flex;margin-bottom:5px}.cr-mine{flex-wrap:wrap}.cr-my-honor:empty,[data-own-rank-honor]:empty{display:none}[data-own-rank-honor]:not(:empty){margin:3px 0}.cr-my-honor{margin-left:auto}
.cr-honor-avatar{display:flex;flex-direction:column;align-items:center;width:160px;max-width:100%;margin-bottom:4px}.cr-honor-avatar img{width:80px;height:84px;object-fit:contain;filter:drop-shadow(0 0 8px #bb963a33)}.cr-honor-avatar .rank-honor{width:160px;height:50px;font-size:13px;letter-spacing:0}
@keyframes rankHonorShine{from{background-position:150% 0}to{background-position:-100% 0}}
@keyframes rankHonorSweep{0%,25%{background-position:150% 0;opacity:0}35%{opacity:.45}65%{opacity:.45}80%,100%{background-position:-100% 0;opacity:0}}
@keyframes rankHonorSpark{0%,65%,100%{opacity:.15;transform:scale(.5) rotate(0deg)}35%{opacity:1;transform:scale(1.2) rotate(90deg)}}
@media(max-width:480px){
  .cr-avatar.has-rank-honor{--rank-honor-space:46px;--rank-honor-center-offset:23px;height:calc(115px + var(--rank-honor-space))}
  .cr-place-1 .cr-avatar.has-rank-honor{height:calc(148px + var(--rank-honor-space))}
  .cr-avatar>.rank-honor{width:136px;height:46px;font-size:11px;letter-spacing:.5px;top:-2px}
  .cr-avatar>.rank-honor b{font-size:11px}
  .cr-avatar>.rank-honor .rh-star{font-size:6px}
  .cr-avatar:has(>.rank-honor)>img{height:100%}
  .cr-my-honor{order:4;width:100%;margin-top:0;text-align:center}
  .cr-honor-avatar .rank-honor{font-size:11px}
  .cr-honor-avatar{width:132px}
  .cr-honor-avatar .rank-honor{height:44px}
}
@media(prefers-reduced-motion:reduce){.rank-honor b,.rh-star,.rank-honor::after{animation:none}.rank-honor::after{display:none}.rh-star{opacity:.7}}

/* Lightweight class-specific motion over the existing AI-painted frames. */
.rh-fx{position:absolute;inset:4% 0;overflow:hidden;z-index:1;pointer-events:none;opacity:.8;contain:paint}
.rh-fx i{position:absolute;display:block;left:9%;top:57%;width:3px;height:3px;background:var(--honor);border-radius:50%;box-shadow:0 0 5px var(--honor);opacity:0;animation-duration:4.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.rh-fx i:nth-child(2){left:88%;top:66%;animation-delay:-1.7s}.rh-fx i:nth-child(3){left:49%;top:87%;animation-delay:-3.4s}
/* Sword light stays on the upper and lower metal edges, clear of the letters. */
.rank-honor-musa .rh-fx i{left:7%;top:23%;width:25%;height:1px;border-radius:0;background:linear-gradient(90deg,transparent,#fff8d9,var(--honor),transparent);animation-name:rhSword}
.rank-honor-musa .rh-fx i:nth-child(2){left:63%;top:70%;width:22%;animation-direction:reverse}.rank-honor-musa .rh-fx i:nth-child(3){left:43%;top:81%;width:14%}
/* Jade currents curl around the sides rather than crossing the title. */
.rank-honor-fungsu{--rh-phase:-1.1s}.rank-honor-fungsu .rh-fx i{width:15%;height:35%;left:6%;top:31%;border:1px solid transparent;border-top-color:var(--honor);border-left-color:#98e2c355;border-radius:50%;background:transparent;box-shadow:none;animation-name:rhCurrent;animation-duration:6.2s}
.rank-honor-fungsu .rh-fx i:nth-child(2){left:78%;top:29%;animation-direction:reverse}.rank-honor-fungsu .rh-fx i:nth-child(3){left:42%;top:67%;width:16%;height:18%}
/* Violet spirit flames lift gently beside the ritual masks. */
.rank-honor-mudang{--rh-phase:-2.3s}.rank-honor-mudang .rh-fx i{width:4px;height:9px;left:10%;top:68%;border-radius:80% 20% 65% 35%;background:linear-gradient(0deg,#bb7aff,var(--honor),transparent);animation-name:rhSpirit;animation-duration:5.3s}
.rank-honor-mudang .rh-fx i:nth-child(2){left:87%;top:62%}.rank-honor-mudang .rh-fx i:nth-child(3){left:50%;top:93%;height:5px}
/* Slow, rising copper embers; no screen-wide flashes. */
.rank-honor-tushin{--rh-phase:-3.5s}.rank-honor-tushin .rh-fx i{border-radius:1px;width:2px;height:4px;animation-name:rhEmber;animation-duration:4.5s}.rank-honor-tushin .rh-fx i:nth-child(2){animation-direction:reverse}
/* Indigo wisps slide outward from the dagger tips. */
.rank-honor-jaghaak{--rh-phase:-4.4s}.rank-honor-jaghaak .rh-fx i{left:4%;top:33%;width:20%;height:14%;border-radius:70% 10%;background:linear-gradient(90deg,transparent,#a7adf766,transparent);box-shadow:none;border-bottom:1px solid #bdcdff88;animation-name:rhShadow;animation-duration:6s}
.rank-honor-jaghaak .rh-fx i:nth-child(2){left:76%;top:53%;animation-direction:reverse}.rank-honor-jaghaak .rh-fx i:nth-child(3){left:39%;top:82%;width:22%;height:8%}
.rank-honor::after,.rank-honor b{animation-delay:var(--rh-phase,0s)}
@keyframes rhSword{0%,65%,100%{opacity:0;transform:translateX(-25%) scaleX(.35)}18%{opacity:.8}40%{opacity:0;transform:translateX(65%) scaleX(1)}}
@keyframes rhCurrent{0%,100%{opacity:0;transform:rotate(-40deg) scale(.7)}40%{opacity:.65}75%{opacity:0;transform:rotate(100deg) scale(1.1)}}
@keyframes rhSpirit{0%,100%{opacity:0;transform:translate(0,4px) scale(.6)}35%{opacity:.75}80%{opacity:0;transform:translate(3px,-12px) scale(.3)}}
@keyframes rhEmber{0%,100%{opacity:0;transform:translate(0,3px) rotate(0deg)}25%{opacity:.9}75%{opacity:0;transform:translate(6px,-13px) rotate(100deg)}}
@keyframes rhShadow{0%,100%{opacity:0;transform:translateX(8%) scaleX(.65)}40%{opacity:.7}80%{opacity:0;transform:translateX(-15%) scaleX(1.2)}}
@media(max-width:480px){.rh-fx{opacity:.5}.rh-fx i{box-shadow:0 0 3px var(--honor)}.cr-avatar>.rank-honor .rh-fx i:nth-child(3){display:none}.cr-avatar>.rank-honor .rh-fx{inset:10% 0}.rank-honor-mudang .rh-fx i{width:3px;height:6px}}
html[data-honor-paused] .rank-honor::after,html[data-honor-paused] .rank-honor b,html[data-honor-paused] .rank-honor .rh-star,html[data-honor-paused] .rank-honor .rh-fx i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.rh-fx{display:none}.rank-honor .rh-fx i{animation:none}}

.cc-profile-art:has(.cc-pose-switch){padding-bottom:38px}.cc-pose-switch{position:absolute;bottom:4px;left:0;right:0;display:flex;gap:6px;justify-content:center;z-index:3}.cc-pose-switch .btn{padding:5px 12px;min-height:32px;font-size:11px}.cc-pose-switch .btn:focus-visible{outline:2px solid #e3c58a;outline-offset:2px}
.guide-world>p,.guide-world-records p{font-size:12px;line-height:1.9;color:#c2b8a5}.guide-world-records{margin:14px 0}.guide-world-records details{padding:10px 0;border-top:1px solid #8f80552b}.guide-world-records summary{cursor:pointer;font-size:13px;color:#d9c699;line-height:1.7}.guide-world-records summary:focus-visible{outline:2px solid #b9a170;outline-offset:3px}.guide-world a{display:inline-block;text-decoration:none}

/* Summoning and collection: two real submenus, one equipped weapon charm. */
.catalog-submenus{display:flex;gap:8px;margin:0 0 18px;padding:7px;border:1px solid #5b4937;border-radius:10px;background:#161419}.catalog-submenus .btn{flex:1;min-width:0;padding:11px 8px;font-size:13px}.catalog-submenus .btn:focus-visible{outline:2px solid #e6c281;outline-offset:3px}.jugu-page{max-width:1000px;margin:auto}.jugu-hero{display:flex;align-items:center;gap:20px;padding:24px;border:1px solid #705a3c;border-radius:14px;background:radial-gradient(ellipse at right,#623b303b,transparent 70%),#1c181c}.jugu-hero>div{flex:1;min-width:0}.jugu-hero>img{width:140px;height:140px;object-fit:contain;max-width:32%;border-radius:12px}.jugu-hero small{font-size:11px;color:#c3a87b;letter-spacing:1px}.jugu-hero h3{font-size:29px;margin:12px 0;color:#ecd2a1}.jugu-hero p,.jugu-rules,.jugu-note p{font-size:12px;line-height:1.9;color:#c0b19f}.jugu-tags{display:flex;gap:6px;flex-wrap:wrap}.jugu-tags span{border:1px solid #79623e55;padding:5px 8px;border-radius:5px;font-size:11px;color:#ddc59e}.jugu-rules{padding:6px 2px}.jugu-wallet{display:flex;justify-content:space-between;color:#c1ae97;font-size:12px}.jugu-wallet b{color:#f0d5a4;font-size:19px}.jugu-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.jugu-actions .btn{padding:16px 10px;font-size:16px;white-space:normal}.jugu-actions strong{display:block;font-size:12px;margin-top:9px}.jugu-summon p,.jugu-equipped p{font-size:12px;line-height:1.8;color:#bcad9c}.jugu-equipped .btn{margin:4px 6px 0 0}.jugu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:16px 0}.jugu-card{overflow:hidden;border:1px solid #4a3d38;border-radius:12px;background:#1a181c;display:flex;flex-direction:column;min-width:0}.jugu-card.equipped{border-color:var(--jugu);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--jugu) 20%,transparent)}.jugu-card-art{position:relative;background:#100f13}.jugu-card-art img{display:block;width:100%;height:150px;object-fit:contain}.jugu-card-art span{position:absolute;bottom:8px;left:10px;padding:3px 7px;background:#09080be6;border:1px solid #8a786044;border-radius:4px;color:var(--jugu);font-size:11px}.jugu-card-body{display:flex;flex-direction:column;flex:1;padding:15px}.jugu-card-body small{font-size:10px;color:#ad9b85}.jugu-card-body h4{font-size:19px;margin:8px 0;color:var(--jugu)}.jugu-card-body p{font-size:12px;line-height:1.8;color:#c1b4a6}.jugu-card-body .btn{width:100%;margin-top:auto;font-size:12px;white-space:normal}.jugu-timing{display:flex;flex-wrap:wrap;gap:5px;font-size:10px;color:#aa9c88}.jugu-timing span{padding:4px 5px;background:#292322;border-radius:3px}.jugu-results>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:14px 0}.jugu-results article{padding:7px 3px;border:1px solid #584832;border-radius:8px;background:#17141a;text-align:center;min-width:0}.jugu-results img{display:block;width:100%;height:75px;object-fit:contain}.jugu-results b,.jugu-results small{display:block;font-size:11px;margin:5px 0;color:#dbc5a2}.jugu-results small{font-size:10px;color:#b8a78d}.jugu-hud{border-color:#927949!important}.jugu-note h4{color:#d8bd90}.jugu-page button:disabled{opacity:.45}
@media(max-width:600px){.jugu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.jugu-hero{padding:18px 13px;gap:8px}.jugu-hero h3{font-size:25px}.jugu-hero p{font-size:11px}.jugu-hero>img{height:100px}.jugu-card-body{padding:12px 10px}.jugu-card-art img{height:125px}.jugu-card-body h4{font-size:17px}.jugu-card-body p{font-size:11px}.jugu-actions{gap:8px}.jugu-actions .btn{font-size:14px}.jugu-results>div{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-submenus .btn{font-size:12px}}
.jugu-actions .btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.jugu-actions strong{margin-top:0;white-space:nowrap}

/* Public character inspection and before/after enhancement comparisons. */
[data-player-id]{cursor:pointer}[data-player-id]:hover{outline:1px solid #bfa46b}[data-player-id]:focus-visible{outline:2px solid #ecd59a;outline-offset:3px}
.player-profile-modal{width:min(720px,calc(100vw - 24px));max-width:720px}.profile-content{overflow-wrap:anywhere}.profile-heading{padding:20px;border:1px solid #75613d;border-radius:12px;background:linear-gradient(125deg,#2e281e,#171d1c)}.profile-heading h2{margin:8px 0;font-size:26px}.profile-heading strong{color:#ebce90;font-size:22px}.profile-eyebrow{font-size:11px;letter-spacing:2px;color:#baa57d}.profile-content h3{margin:24px 0 12px}.profile-content h3 small{font-size:12px;color:#b1a893}.profile-vitals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.profile-vitals>div{display:flex;flex-direction:column;gap:6px;padding:14px 8px;text-align:center;border:1px solid #454237;border-radius:8px}.profile-vitals b{font-size:20px;color:#e2ca95}.profile-path{border:1px solid #494237;border-radius:9px;padding:12px;margin:8px 0}.profile-path h4{margin:0 0 8px;color:#d3b97e}.profile-path details{padding:6px 0}.profile-path summary small{float:right;color:#a9a18e}.profile-gear{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-gear>details,.profile-empty{padding:12px;border:1px solid #444036;border-radius:9px;background:#181b19}.profile-gear summary{display:flex;gap:10px;align-items:center;cursor:pointer}.profile-gear summary img{object-fit:contain;flex-shrink:0}.profile-gear summary span{display:flex;flex-direction:column;gap:5px;min-width:0}.profile-gear summary small{color:#aba38f;font-size:11px}.profile-gear dl div{display:flex;justify-content:space-between;gap:12px;margin:6px 0;font-size:12px}.profile-gear dd{margin:0;color:#e5d5ae}.profile-empty{display:flex;justify-content:space-between;color:#918e81}.profile-status{padding:24px;text-align:center}.enh-comparison{margin:16px 0;overflow:hidden}.enh-comparison h5{margin:18px 0 8px;color:#d9c79f}.enh-comparison p{font-size:12px}.stat-compare{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.stat-compare th,.stat-compare td{padding:10px 5px;border-bottom:1px solid #ffffff10;text-align:right;overflow-wrap:anywhere;vertical-align:middle}.stat-compare th:first-child{text-align:left;width:27%}.stat-compare thead{color:#a69c84;font-size:11px}.stat-compare tbody th{font-weight:400;color:#c7c0ad}.sc-up{color:#93d6ae}.sc-down{color:#f09b98}.sc-same{color:#a6a192;font-size:10px}
@media(max-width:480px){.profile-vitals{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-gear{grid-template-columns:1fr}.player-profile-modal .modal-body{padding:12px}.profile-heading{padding:15px}.stat-compare{font-size:11px}.stat-compare th,.stat-compare td{padding:8px 3px}.enh-comparison{padding:12px!important}}

.player-profile-modal .modal-head{position:sticky;top:0;z-index:3;background:#1c1a15}.profile-gear summary>i{margin-left:auto;flex-shrink:0;font-size:11px;color:#baa57d}.profile-gear details[open] summary>i{transform:rotate(180deg)}

.travel-weather{color:#afc3c4!important;font-size:12px;line-height:1.7;padding:8px 10px;border-left:2px solid #647e80;background:#111c1c88}.travel-weather i{margin-right:6px}

/* Honor text stays opaque even if ornament artwork/gradient compositing fails. */
.profile-rank-honor{margin-top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.profile-rank-honor>small{display:block;font-size:11px;color:#bdb39e;line-height:1.5}

/* Suhyang — static NPC / reserved strife-token exchange */
.peace-actions .peace-npc-button{grid-column:1/-1;flex-direction:row;background:#3b3029;border-color:#b79b6388;color:#f1d6a0}.in-peace #chat-mini{bottom:285px}
.suhyang-modal{width:min(850px,calc(100vw - 24px));max-width:850px;border-color:#89714d;background:#171813}.suhyang-modal .modal-body{padding:0}.suhyang-shop{color:#e9e1ce}.suhyang-intro{display:grid;grid-template-columns:235px 1fr;min-height:310px;background:radial-gradient(ellipse at 23% 65%,#5d564033,transparent 60%),linear-gradient(130deg,#252a21,#1b181a);border-bottom:1px solid #8a764b55}.suhyang-portrait{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:24px 18px 0}.suhyang-portrait img{height:310px;width:auto;max-width:100%;object-fit:contain;display:block;filter:drop-shadow(0 8px 18px #0008)}.suhyang-portrait span{position:absolute;bottom:12px;padding:5px 12px;border:1px solid #a58c5655;border-radius:20px;background:#151911d9;color:#d6c29b;font-size:10px;letter-spacing:.12em}.suhyang-welcome{align-self:center;padding:28px 32px 28px 18px}.suhyang-eyebrow{font-size:10px;color:#c6ac78;letter-spacing:.16em}.suhyang-welcome h2{font-size:27px;font-weight:400;letter-spacing:-.04em;margin:12px 0 20px}.suhyang-welcome h2 b{font-weight:700;color:#f4e0ae;margin-left:7px}.suhyang-line{font-size:14px;line-height:1.9;word-break:keep-all;min-height:80px;color:#e0d5c2;margin:0 0 18px;border-left:2px solid #b59960;padding-left:16px}.suhyang-talk{font-size:11px;border-color:#74664b;color:#d9c7a1}.suhyang-welcome>small{display:block;font-size:10px;color:#9f9e8e;margin-top:10px}.suhyang-currency{margin:20px 24px;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border:1px solid #aa885b66;border-radius:9px;background:linear-gradient(100deg,#3c3022,#26251c)}.suhyang-currency>span{font-size:12px;color:#d6c09a}.suhyang-currency i{color:#d6ac5e;margin-right:8px}.suhyang-currency strong{font-size:24px;color:#f3d491;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.suhyang-currency strong small{font-size:11px;font-weight:400;color:#b5a78b;margin-left:6px}.suhyang-stock{margin:0 24px 20px}.suhyang-stock-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.suhyang-stock-head h3{font-size:14px;margin:0}.suhyang-stock-head>span{font-size:10px;color:#c2ae88;border:1px solid #78674b66;background:#352e2299;border-radius:20px;padding:4px 10px}.suhyang-empty{padding:24px 18px;text-align:center;border:1px dashed #7b705155;border-radius:10px;background:repeating-linear-gradient(135deg,#24251e22 0,#24251e22 8px,#17191433 8px,#17191433 16px)}.suhyang-empty>i{font-size:30px;color:#82704e;margin:4px 0 13px}.suhyang-empty h4{font-size:14px;font-weight:500;color:#cec4af;margin:0 0 10px}.suhyang-empty p{font-size:12px;line-height:1.8;color:#aca28d;margin:0 0 8px;word-break:keep-all}.suhyang-empty>span{font-size:10px;line-height:1.8;color:#908975;display:block;word-break:keep-all}.suhyang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.suhyang-item{padding:14px;border:1px solid #8a765055;border-radius:10px;background:linear-gradient(120deg,#2a251c,#1e1c18);display:flex;flex-direction:column;gap:10px;transition:border-color .2s}.suhyang-item.is-locked{opacity:.6;border-color:#5a504055}.suhyang-item-head{display:flex;gap:10px;align-items:flex-start}.suhyang-item-head i{font-size:18px;color:#d6ac5e;margin-top:2px}.suhyang-item-head b{display:block;font-size:13px;color:#f3d491}.suhyang-item-head small{display:block;font-size:11px;color:#b5a78b;line-height:1.5;margin-top:2px}.suhyang-item-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.suhyang-item-foot span{font-size:11px;color:#c2ae88}.suhyang-item-foot em{font-size:10px;color:#7dff9a;margin-left:6px;font-style:normal}.suhyang-footer{padding:15px 24px;border-top:1px solid #84724b33;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#11150f66}.suhyang-footer>span{font-size:10px;line-height:1.7;color:#aba28c;word-break:keep-all}.suhyang-footer .btn{font-size:11px;flex-shrink:0}
@media(max-width:700px){.in-peace #chat-mini{bottom:290px}.suhyang-modal{width:calc(100vw - 16px)}.suhyang-intro{grid-template-columns:100px 1fr;min-height:250px}.suhyang-portrait{padding:18px 2px 24px;align-items:center}.suhyang-portrait img{height:225px}.suhyang-portrait span{font-size:8px;letter-spacing:0;padding:4px 8px;bottom:8px}.suhyang-welcome{padding:22px 14px 20px 8px}.suhyang-eyebrow{font-size:9px;letter-spacing:.04em}.suhyang-welcome h2{font-size:19px;margin:10px 0 15px}.suhyang-welcome h2 b{margin-left:3px}.suhyang-line{font-size:12px;line-height:1.85;min-height:0;padding-left:10px;margin-bottom:12px}.suhyang-welcome>small{font-size:9px;line-height:1.6}.suhyang-currency{margin:14px 14px;padding:13px}.suhyang-stock{margin:0 14px 16px}.suhyang-empty{padding:20px 12px}.suhyang-footer{padding:12px 14px;flex-direction:column;align-items:stretch}.suhyang-footer>span{text-align:center}.suhyang-footer .btn{min-height:40px}}
/* Imperial court: stationary portraits and dialogue only. */
.peace-actions .palace-walk{grid-column:span 2;flex-direction:row;color:#ebd3a1;border-color:#9f805477;background:#3b2c26}.palace-audience{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:7px}.palace-audience[hidden]{display:none}.palace-audience .btn{font-size:11px;padding:8px 3px;border-color:#9f805455;background:#392721;color:#f0d6a3}.in-palace #peace-hud{background:#251d18f2;border-color:#b6985d77}.in-palace #chat-mini{bottom:325px}
.court-modal{width:min(800px,calc(100vw - 24px));max-width:800px;background:#1b1514;border-color:#8d6d44}.court-modal .modal-body{padding:0}.court-dialogue{display:grid;grid-template-columns:42% 58%;background:radial-gradient(ellipse at 12% 50%,#7e452633,transparent 65%),linear-gradient(125deg,#251e19,#1c1717);color:#e5d8c2}.court-portrait{display:flex;justify-content:center;align-items:center;position:relative;min-height:480px;padding:30px 12px 55px;background:linear-gradient(90deg,#0002,transparent);border-right:1px solid #aa875933}.court-portrait img{height:395px;width:100%;object-fit:contain;filter:drop-shadow(0 12px 22px #0009)}.court-portrait span{position:absolute;bottom:26px;padding:7px 18px;border:1px solid #ad8f5966;border-radius:30px;color:var(--court-color);background:#19110ed9;font-size:10px;letter-spacing:.12em}.court-conversation{padding:32px 28px}.court-eyebrow{font-size:11px;letter-spacing:.12em;color:var(--court-color)}.court-conversation h2{font-size:38px;margin:10px 0 14px;letter-spacing:.12em;color:#f7e2bb}.court-description{font-size:12px;line-height:1.8;color:#b8a992;word-break:keep-all}.court-speech{border-left:2px solid var(--court-color);padding:10px 0 10px 16px;margin:24px 0 18px;min-height:90px;font-size:15px;line-height:1.9;color:#f2e4cd;word-break:keep-all}.court-voice-controls .btn{font-size:11px;color:var(--court-color);border-color:#957a5055}.court-voice-controls small{display:block;color:#9c8c77;font-size:10px;line-height:1.7;margin-top:10px}.court-notice{display:flex;gap:10px;border-top:1px solid #b1936033;padding:20px 0 15px;margin-top:20px;color:#b7a387;font-size:12px}.court-notice>i{padding-top:4px;color:#a28655}.court-notice p{margin:0;line-height:1.8}.court-notice small{display:block;font-size:10px;color:#948571;margin-top:5px}.court-leave{width:100%;font-size:12px}
@media(max-width:700px){.court-modal{width:calc(100vw - 16px)}.court-dialogue{grid-template-columns:1fr}.court-portrait{min-height:0;height:205px;padding:8px 20px 28px;border-right:0;border-bottom:1px solid #aa875933;background:radial-gradient(ellipse at 50% 90%,#74503044,transparent 70%)}.court-portrait img{height:190px;width:100%;object-fit:contain}.court-portrait span{bottom:8px;padding:4px 12px;font-size:9px}.court-conversation{padding:20px}.court-conversation h2{font-size:26px;margin:8px 0 10px}.court-description{font-size:11px;margin-bottom:10px}.court-speech{font-size:13px;min-height:0;margin:16px 0 12px;padding-left:12px}.court-notice{margin-top:14px;padding-top:14px}.palace-audience .btn{font-size:10px}.in-palace #chat-mini{bottom:345px}}
/* Recurring KST weekend event: presentation only; rewards gated in field kills. */
.weekend-hunt-chip{color:#ffe0a0!important;background:#543615d9!important;border-color:#d6a55477!important}.weekend-hunt-chip[hidden]{display:none!important}.weekend-hunt-notice{padding:16px 18px;margin-bottom:16px;border:1px solid #b78a4566;border-radius:12px;background:linear-gradient(110deg,#3b2c1c,#202019);color:#dfc79d}.weekend-hunt-notice>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.weekend-hunt-notice b{font-size:13px;line-height:1.6;color:#f1d09a}.weekend-hunt-notice b i{margin-right:6px}.weekend-hunt-notice [data-weekend-status]{font-size:10px;white-space:nowrap;padding:4px 8px;border:1px solid #90765077;border-radius:20px;color:#bfae91}.weekend-hunt-notice [data-weekend-status].active{color:#ffe3a6;background:#6b481b;border-color:#c59b5277}.weekend-hunt-notice p{font-size:11px;line-height:1.8;margin:8px 0;color:#d4bc94}.weekend-hunt-notice small{font-size:10px;line-height:1.8;display:block;color:#b2a489;word-break:keep-all}@media(max-width:700px){.weekend-hunt-notice{padding:14px 12px}.weekend-hunt-notice b{font-size:12px}}

/* Treasure entitlements: long KST timestamps must fit narrow cards. */
.commerce-status{padding:10px 12px;border:1px solid #ad8c4955;border-radius:8px;background:#ad8c4910;color:#e2c782;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.pack2 [data-passclaim]{width:100%;margin:5px 0 10px}.pack2 [data-passclaim]:disabled{opacity:.5;cursor:not-allowed}

/* Benefits and attendance/event shortcuts share a compact HUD stack. */
.benefit-shortcut-group{display:flex;flex-direction:column;align-items:stretch;gap:7px}.benefit-shortcut-group[hidden],.benefit-shortcut[hidden]{display:none!important}
.benefit-shortcut{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 13px;border:1px solid #bb98576b;border-radius:11px;background:linear-gradient(120deg,#393022f5,#171d18f5);color:#efdaa4;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;box-shadow:0 4px 18px #0005}
.benefit-shortcut>i{font-size:16px}.benefits-dot{display:none;position:absolute;right:3px;top:3px;width:8px;height:8px;background:#f16c68;border:2px solid #241f16;border-radius:50%;box-shadow:0 0 8px #df655b55}.has-rewards>.benefits-dot{display:block}
.benefits-modal{width:min(620px,calc(100vw - 24px));max-width:620px;background:#191b16;border-color:#a4885066}.benefits-modal .modal-body{padding:20px}.benefits-overview{padding:4px 2px 18px;border-bottom:1px solid #b2965733;margin-bottom:16px}.benefits-eyebrow{font-size:10px;letter-spacing:.12em;color:#b59f71}.benefits-overview>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.benefits-overview h3{font-size:20px;letter-spacing:-.04em;margin:0;color:#f0dfb9}.benefits-owned-count{white-space:nowrap;border:1px solid #9d854755;padding:5px 8px;border-radius:20px;font-size:10px;color:#d0bb88}.benefits-overview p{font-size:11px;color:#a9a38e;line-height:1.7;margin:10px 0 0}.benefits-list{display:grid;gap:10px}.benefit-card{padding:15px;border:1px solid #a68e4f44;border-radius:12px;background:linear-gradient(125deg,#292a21,#1e221c)}.benefit-card header{display:flex;align-items:center;gap:9px}.benefit-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#b0974820;color:#e1c185;flex-shrink:0}.benefit-card h4{margin:0;font-size:13px;color:#f1e3c0}.benefit-state{margin-left:auto;white-space:nowrap;color:#949b88;font-size:10px}.benefit-state.ready{color:#f0d28c}.benefit-duration{font-size:10px;line-height:1.7;color:#b9ad90;margin:10px 0}.benefit-reward{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #a68e4f22}.benefit-reward small{display:block;color:#979c88;font-size:10px;margin-bottom:5px}.benefit-reward strong{font-size:12px;line-height:1.7;font-weight:500;color:#e5dcc1}.benefit-reward .btn{font-size:11px;min-width:52px;min-height:36px;flex-shrink:0}.benefit-daily{display:block;font-size:10px;color:#939884}.benefit-card details{margin-top:10px;border-top:1px solid #a68e4f22;padding-top:9px;font-size:11px;color:#b8b39d}.benefit-card summary{cursor:pointer;color:#b8b08f}.benefit-card ul{padding-left:18px;margin-bottom:0;line-height:1.9}.benefits-claim{margin-top:16px;padding:16px;border:1px solid #ae8d4766;background:#302a1d;border-radius:12px}.benefits-claim>div>span{font-size:11px;color:#c9b994;display:block}.benefits-claim>div>span b{color:#efd29b;margin-left:5px}.benefits-claim strong{display:block;font-size:12px;line-height:1.8;color:#e9d8b6;margin:8px 0 12px}.benefits-claim>[data-benefit-claim]{width:100%;min-height:44px;font-size:13px}.benefits-message{font-size:10px;line-height:1.8;color:#b1aa93;margin:10px 0}.benefits-shop-link{width:100%;padding:8px;border:0;background:transparent;color:#d0bc8d;cursor:pointer;font-size:11px}.benefits-shop-link i{margin-left:5px}.benefits-empty{text-align:center;padding:25px 16px;color:#aca68e;line-height:1.8;font-size:12px}.benefits-empty>i{font-size:24px;color:#b89f68}.benefits-modal button:disabled{opacity:.5;cursor:not-allowed}.benefits-modal button:focus-visible,.benefits-modal summary:focus-visible,.benefit-shortcut:focus-visible{outline:2px solid #efd099;outline-offset:3px}
@media(max-width:900px){#mobile-hud-stack .benefit-shortcut-group{align-items:flex-end}#mobile-hud-stack .benefit-shortcut{position:relative;width:40px;height:40px;min-height:40px;padding:0;display:grid;place-items:center}#mobile-hud-stack .benefit-shortcut>.shortcut-label{display:none}.benefits-modal{width:calc(100vw - 16px)}.benefits-modal .modal-body{padding:13px}.benefits-overview h3{font-size:17px}.benefit-card{padding:12px}.benefits-claim{padding:12px}}

.benefits-modal .modal-head{position:sticky;top:0;z-index:4;background:#191b16}.benefits-claim{position:sticky;top:62px;z-index:2;margin:0 0 14px;box-shadow:0 7px 14px #0004}.benefits-claim strong{margin:5px 0 8px}.benefits-message{margin:7px 0 2px}.benefits-shop-link{padding:5px}.benefits-overview{padding-bottom:12px;margin-bottom:12px}
@media(max-height:700px){.benefits-overview p{display:none}.benefits-overview{padding:0 0 8px;margin-bottom:8px}.benefits-claim{padding:10px}.benefits-claim strong{font-size:11px;margin:4px 0 6px}.benefits-message{font-size:9px}.benefits-overview h3{font-size:15px}}

/* Recurring weekday events: one schedule for weekdays and the existing weekend hunt. */
#daily-event-chip{display:inline-flex;align-items:center;gap:6px;color:#f0d7a1;background:#45331eeb;border:1px solid #bc985d66;cursor:pointer;font-family:inherit;max-width:100%;text-align:left;line-height:1.5}#daily-event-chip span{overflow-wrap:anywhere}#daily-event-chip:focus-visible,.weekday-modal button:focus-visible{outline:2px solid #efcc88;outline-offset:3px}
.daily-event-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px;margin-bottom:16px;border:1px solid #b7964d66;background:linear-gradient(110deg,#382c1c,#1e231c);border-radius:12px}.daily-event-notice>div{display:flex;align-items:center;gap:14px}.daily-event-notice>div>i{font-size:24px;color:#d7b46e}.daily-event-notice small{display:block;font-size:10px;color:#b7a98d}.daily-event-notice b{display:block;font-size:15px;color:#eddbb7;margin:5px 0}.daily-event-notice span{display:block;font-size:12px;color:#d2bd91;line-height:1.7}.daily-event-notice .btn{flex-shrink:0;font-size:11px}
.weekday-modal{width:min(660px,calc(100vw - 24px));max-width:660px;border-color:#a98d5166;background:#181d18}.weekday-modal .modal-head{position:sticky;top:0;z-index:2;background:#1a201a}.weekday-intro{padding:6px 2px 17px}.weekday-intro small{color:#c3a974;font-size:10px;letter-spacing:.08em}.weekday-intro h3{font-size:25px;color:#efdfba;margin:8px 0}.weekday-intro strong{color:#e6c77e;font-size:14px}.weekday-intro p{font-size:11px;color:#a9ac94;line-height:1.8;margin-bottom:0}.weekday-schedule{display:grid;gap:9px}.weekday-row{display:grid;grid-template-columns:65px minmax(0,1fr);gap:14px;padding:14px;border:1px solid #87896033;border-radius:10px;background:#20271e}.weekday-row.today{border-color:#d0aa6066;background:linear-gradient(110deg,#44371f,#263122)}.weekday-day{display:flex;flex-direction:column;align-items:center;gap:10px;color:#b9ae8b;font-size:11px;padding-top:2px}.weekday-day>i{font-size:20px;color:#c2a977}.weekday-day>b{font-size:9px;color:#242617;background:#d9b76c;border-radius:10px;padding:2px 9px}.weekday-row h4{margin:0 0 5px;font-size:13px;color:#e9dcc0}.weekday-row strong{font-size:12px;color:#d4c396}.weekday-row p{margin:7px 0 0;font-size:11px;line-height:1.8;color:#a5aa97;word-break:keep-all}.weekday-footnote{font-size:10px;line-height:1.8;color:#a8a189;margin:16px 2px 0}
@media(max-width:900px){#mobile-hud-stack #daily-event-chip{width:40px;height:40px;min-height:40px;padding:0;display:grid;place-items:center}#daily-event-chip span{display:none}.daily-event-notice{padding:13px;gap:10px;flex-wrap:wrap}.daily-event-notice b{font-size:14px}.weekday-modal .modal-body{padding:12px}.weekday-intro h3{font-size:22px}.weekday-row{grid-template-columns:49px minmax(0,1fr);gap:10px;padding:12px}.weekday-row p{font-size:10px}}

/* Targeted silk-box recruitment: disclose odds before spending; keep progress on a miss. */
.cc-recruit{margin:18px 0;padding:18px;border:1px solid #ac92524d;border-radius:12px;background:linear-gradient(115deg,#2c2b1f,#192019)}.cc-recruit>p{font-size:12px;line-height:1.8;color:#bdb7a0}.cc-recruit-grid{display:grid;grid-template-columns:1fr;gap:12px}.cc-recruit-grid article{padding:15px;border:1px solid #a48f4b33;border-radius:10px;background:#151b1588;display:flex;flex-direction:column}.cc-recruit-grid article>small{font-size:10px;letter-spacing:.04em;color:#bba66f}.cc-recruit-grid h5{font-size:13px;font-weight:400;color:#c7c1a5;margin:10px 0}.cc-recruit-grid h5 b{font-size:22px;color:#efd698;margin-left:4px}.cc-recruit-grid p{font-size:11px;line-height:1.8;color:#b3b49e;margin:4px 0 12px}.cc-recruit-grid article>span{font-size:11px;color:#bcb399;margin-bottom:12px}.cc-recruit-grid .btn{width:100%;min-height:40px;font-size:11px;margin-top:auto}.cc-recruit-count{display:flex;justify-content:space-between;font-size:11px;color:#c5b58b;margin-bottom:5px}.cc-recruit-grid progress{width:100%;height:5px;margin-bottom:12px;accent-color:#c1a267}.cc-recruit-note{display:block;font-size:10px;line-height:1.9;color:#9ca48d;margin-top:13px}.cc-recruit-result{display:flex;align-items:center;gap:12px;margin:15px 0;padding:14px;border:1px solid #a5935044;border-radius:10px;background:#34301c88;color:#d9c397}.cc-recruit-result.success{border-color:#64936d66;background:#23372399;color:#b4d8ad}.cc-recruit-result>i{font-size:22px}.cc-recruit-result b{display:block;font-size:12px}.cc-recruit-result span{display:block;font-size:11px;line-height:1.7;margin-top:4px}.cc-recruit button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:600px){.cc-recruit{padding:13px}.cc-recruit-grid{grid-template-columns:1fr}.cc-recruit-grid article{padding:13px}.cc-recruit-grid h5 b{font-size:20px}.cc-recruit-grid p{margin-bottom:8px}}

/* Twelve-star companion growth and explicit hold-to-train confirmation. */
.cc-stars{display:inline-flex;flex-direction:column;gap:2px;line-height:1.15}.cc-stars .cc-star-row{display:flex;gap:2px;color:#776e56}.cc-stars .cc-star-lit{color:#f3ce76}.cc-stars small{font-size:10px;color:#c0b48e;letter-spacing:0;margin-top:3px}
.cc-train-modal{display:grid;gap:14px}
.cc-train-header{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:start;padding:14px;border:1px solid #5a4a32;border-radius:12px;background:radial-gradient(ellipse at 20% 0,#3a2f1a33,transparent 60%),#1a1710}
.cc-train-art{position:relative;width:84px;height:84px;border:1px solid #6a5a3a;border-radius:12px;overflow:hidden;background:#0f0e0a;display:grid;place-items:center}
.cc-train-art img{width:100%;height:100%;object-fit:contain}
.cc-train-level{position:absolute;bottom:4px;left:4px;right:4px;text-align:center;font-size:10px;padding:3px 4px;border-radius:6px;background:#000a;color:#e8d5a5;border:1px solid #6a5a3a}
.cc-train-info h4{margin:0 0 10px;font-size:15px;color:#e8d5a5}.cc-train-info h4 small{font-weight:400;color:#a89a7e}
.cc-train-progress-wrap{margin-bottom:12px}
.cc-train-progress-label{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#b8a88a;margin-bottom:6px}
.cc-train-bar{height:6px;background:#2a2316;border:1px solid #5a4a32;border-radius:20px;overflow:hidden}
.cc-train-bar-fill{height:100%;width:0;background:linear-gradient(90deg,#e1bd72,#f3d89a);transition:width .25s}
.cc-train-bar-fill.max{background:linear-gradient(90deg,#7fd9a0,#b6f0c5)}
.cc-train-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.cc-train-stats>div{padding:8px 10px;border:1px solid #4a3f2a;border-radius:8px;background:#201c12}
.cc-train-stats small{display:block;font-size:9px;color:#9a8c70;margin-bottom:4px}
.cc-train-stats b{font-size:13px;color:#e8d5a5;overflow-wrap:anywhere}
.cc-train-costs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.cc-train-costs>div{padding:10px 12px;border:1px solid #4a3f2a;border-radius:10px;background:#1c1911;display:flex;flex-direction:column;gap:4px}
.cc-train-costs span{font-size:9px;color:#9a8c70}.cc-train-costs b{font-size:12px;color:#e8d5a5}
.cc-train-actions{display:grid;gap:10px}
.cc-train-quick{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px}
.cc-train-quick .btn{min-height:40px}
.cc-training-status{padding:12px 14px;border:1px solid #625434;border-radius:12px;line-height:1.8;background:#1a1710;font-size:11px;color:#c9b896}
.cc-training-hold{touch-action:none;user-select:none;-webkit-user-select:none;width:100%;min-height:48px}
.cc-training-hold.is-holding{filter:brightness(1.15);transform:scale(.98)}
.cc-train-note{font-size:10px;line-height:1.7;margin:0}
@media(max-width:600px){.cc-train-header{grid-template-columns:68px 1fr;gap:10px;padding:12px}.cc-train-art{width:68px;height:68px}.cc-train-stats{grid-template-columns:1fr 1fr}.cc-train-stats>div:last-child{grid-column:1/-1}.cc-train-costs{grid-template-columns:1fr}.cc-train-quick{grid-template-columns:1fr 1fr}}

/* Desktop right HUD keeps the minimap/event flow; quick shortcuts are positioned independently.
   The mobile drawer reparents the same event node and restores this anchor. */
@media(min-width:901px){
 #hud>.hud-corner.tr{width:290px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 148px);min-height:0;pointer-events:none}
  #hud>.hud-corner.tr>.benefit-shortcut-group,#hud>.hud-corner.tr>#minimap{flex-shrink:0;pointer-events:auto}
  #hud>.hud-corner.tr>#world-alert-feed{flex:0 0 auto;pointer-events:auto}
  #hud>.hud-corner.tr .minimap-wrapper,#hud>.hud-corner.tr #minimap-wrapper{pointer-events:auto}
 #hud>.hud-corner.tr #field-event-hud{position:relative;inset:auto;transform:none;width:100%;box-sizing:border-box;margin:0;min-height:0;max-height:none;flex:0 1 auto;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto}
 #hud>.hud-corner.tr .minimap-controls{pointer-events:auto}
 #hud>.hud-corner.tr .minimap-filter-panel{pointer-events:auto}
 /* Anchor the canvas to the same right edge as the PC shortcuts. The right HUD
    column may be wider for event text; it must not create a trailing blank gap. */
 body:not(.addon-left-minimap) #hud>.hud-corner.tr{left:auto;right:max(16px,env(safe-area-inset-right));align-items:flex-end}
 body:not(.addon-left-minimap) #hud>.hud-corner.tr>#minimap-wrapper{align-self:flex-end;margin-left:auto;flex-shrink:0}
 body.addon-left-minimap #hud>.hud-corner.tr>#minimap-wrapper{align-self:flex-start;margin-left:0}
}

.tower-auto{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #4a3f2a;border-radius:8px;background:#1c1911;color:#c9b896;font-size:11px;cursor:pointer;user-select:none}
.tower-auto input{width:16px;height:16px;accent-color:#e1bd72}
.tower-auto small{font-size:9px;color:#9a8c70;margin-left:4px}
.tower-auto:has(input:checked){border-color:#8a6f3a;background:#2a2216;color:#e8d5a5}

/* ── 애드온 시스템 ── */
.addon-card{border-color:#c9a96144}
.addon-list{display:flex;flex-direction:column;gap:10px}
.addon-item{border:1px solid #3a352a;border-radius:12px;padding:12px;background:linear-gradient(180deg,#1a1812,#11100c);transition:border-color .2s, box-shadow .2s}
.addon-item.on{border-color:#c9a96188;box-shadow:0 0 12px #c9a96122 inset}
.addon-item.broken{border-color:#ff4d5e88;background:linear-gradient(180deg,#1f1313,#120c0c)}
.addon-item-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.addon-item-head i{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#00000055;border:1px solid #ffffff0a;color:#c9a961;font-size:14px;flex:none}
.addon-item-head div{flex:1;min-width:0}
.addon-item-head b{display:block;font-size:13px;color:#f0e6c8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.addon-item-head small{display:block;font-size:10px;color:#8d8271;margin-top:2px}
.addon-badge{font-size:9px;padding:3px 6px;border-radius:6px;border:1px solid #ffffff15;flex:none}
.addon-badge.builtin{background:#2a2216;color:#c9a961;border-color:#c9a96144}
.addon-badge.custom{background:#1a2330;color:#7fb8ff;border-color:#5a8ac488}
.addon-item p{margin:6px 0 0;font-size:11px;line-height:1.6}
.addon-item-actions{margin-top:10px;padding-top:8px;border-top:1px solid #ffffff0a}
.addon-item-actions .settings-toggle{padding:8px 10px;background:#00000033;border-radius:8px;border:1px solid #ffffff08}
.addon-help summary{cursor:pointer;padding:8px 0;font-size:12px;color:#c9a961}
.addon-editor textarea:focus{outline:2px solid #c9a96188;outline-offset:1px}
.addon-hud{pointer-events:auto}
.addon-badge.ui{background:#2a2216;color:#ffd23f;border-color:#c9a96144}
.addon-badge.lang{background:#1e2a3a;color:#7fb8ff;border-color:#5a8ac488}

/* ── 추천 보물상자 - PC 우측 반짝 아이콘 ── */
#recommended-chest{
  position:fixed;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  z-index:40;
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  border:0;
  background:transparent;
  cursor:pointer;
  padding:0;
  filter:drop-shadow(0 8px 20px #0008);
  animation: recFloat 3.2s ease-in-out infinite;
}
#recommended-chest .rec-chest-img-wrap{
  position:relative;
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:radial-gradient(ellipse at 35% 25%, #fff6d6 0%, #ffe9a8 18%, #f3c86a 38%, #a67c2a 72%, #2a1e0a 100%);
  border:2px solid #f7d88a;
  box-shadow:0 0 0 2px #3a2a0e, 0 0 18px #ffdf8a88, 0 0 36px #ffb62a55, inset 0 0 18px #fff8c2aa;
  overflow:hidden;
}
#recommended-chest .rec-chest-img-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:20px;
  position:relative;
  z-index:1;
}
#recommended-chest .rec-chest-fallback{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:32px;
  color:#fff3c0;
  z-index:0;
  text-shadow:0 0 10px #ffd76a;
}
#recommended-chest .rec-chest-glow{
  position:absolute;
  inset:-8px;
  border-radius:26px;
  background:conic-gradient(from 0deg, #fff6a8, #ffcc4a, #ff8a2a, #ffd86a, #fff6a8);
  filter:blur(14px);
  opacity:.55;
  z-index:0;
  animation: recRotate 4s linear infinite;
}
#recommended-chest .rec-chest-sparkles{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
#recommended-chest .rec-chest-sparkles i{
  position:absolute;
  width:6px;
  height:6px;
  background:#fff;
  border-radius:50%;
  box-shadow:0 0 6px #fff, 0 0 12px #ffd86a, 0 0 18px #ffb62a;
  left:var(--x);
  top:var(--y);
  animation: recSparkle 1.6s ease-in-out infinite;
  animation-delay:var(--d);
}
#recommended-chest .rec-chest-label{
  position:absolute;
  bottom:-8px;
  left:50%;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#2e2210,#1a1306);
  border:1px solid #c9a96188;
  color:#f7e3a0;
  font-size:10px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:.5px;
  padding:4px 8px;
  border-radius:8px;
  white-space:nowrap;
  box-shadow:0 2px 8px #0006;
  z-index:3;
  text-align:center;
}
#recommended-chest:hover{
  transform:translateY(-50%) scale(1.08);
}
#recommended-chest:hover .rec-chest-img-wrap{
  box-shadow:0 0 0 2px #3a2a0e, 0 0 28px #ffdf8aaa, 0 0 56px #ffb62a77, inset 0 0 22px #fff8c2cc;
}
#recommended-chest:active{
  transform:translateY(-50%) scale(.96);
}
@keyframes recFloat{
  0%,100%{ transform:translateY(-50%) translateY(0); }
  50%{ transform:translateY(-50%) translateY(-8px); }
}
@keyframes recRotate{
  to{ transform:rotate(360deg); }
}
@keyframes recSparkle{
  0%,100%{ transform:scale(.4); opacity:.3; }
  50%{ transform:scale(1.6); opacity:1; }
}
@keyframes recShine{
  0%,100%{ filter:brightness(1) saturate(1); }
  50%{ filter:brightness(1.25) saturate(1.2); }
}
@keyframes recPulse{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.18); }
}
/* PC 전용 - 모바일/태블릿 숨김 */
@media(max-width:1100px){
  #recommended-chest{ display:none !important; }
}
/* 추천 패키지 모달 */
.rec-modal{ width:min(980px,calc(100vw - 24px)); max-width:980px; background:#17150f; border-color:#c9a96188; }
.rec-modal .modal-body{ padding:20px; max-height:85vh; overflow:auto; }
.rec-hero{
  position:relative;
  padding:24px 22px 18px;
  border:1px solid #c9a96144;
  border-radius:16px;
  background:radial-gradient(ellipse at 85% 0%, #ffdf8a22, transparent 60%), linear-gradient(135deg,#2a2212,#17150f);
  overflow:hidden;
  margin-bottom:16px;
}
.rec-eyebrow{ font-size:10px; letter-spacing:2px; color:#d4b56a; font-weight:800; }
.rec-hero h2{ margin:8px 0 8px; font-size:24px; color:#f7e3a0; letter-spacing:-.5px; }
.rec-hero p{ margin:0; font-size:12px; line-height:1.7; color:#b9ab8a; }
.rec-bonus-bar{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin-top:16px; padding-top:14px; border-top:1px solid #c9a96122; }
.rec-bonus-bar div{ background:#1e1a0e; border:1px solid #c9a96122; border-radius:10px; padding:10px 12px; }
.rec-bonus-bar small{ display:block; font-size:9px; color:#9a8c70; margin-bottom:4px; letter-spacing:.5px; }
.rec-bonus-bar b{ font-size:12px; color:#f0d68a; }
.rec-next{ margin-top:12px; padding:10px 12px; background:#2a2416; border:1px solid #c9a96133; border-radius:10px; font-size:11px; color:#d9c49a; }
.rec-next.done{ border-color:#7fbf8a66; color:#a8d8a0; background:#1e2a1e; }
.rec-tabs{ display:flex; gap:6px; margin:16px 0; flex-wrap:wrap; }
.rec-tabs button{ padding:8px 14px; border:1px solid #3a352a; background:#1a1812; color:#a89e86; border-radius:20px; font-size:11px; cursor:pointer; }
.rec-tabs button[aria-pressed=true]{ background:#2e2210; border-color:#c9a96188; color:#f7e3a0; font-weight:700; }
.rec-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.rec-card{
  position:relative;
  padding:18px 16px;
  border:1px solid #3a352a;
  border-radius:14px;
  background:linear-gradient(135deg,#1e1b13,#14120e);
  overflow:hidden;
  transition:border-color .2s, transform .2s;
}
.rec-card:hover{ border-color:var(--rec-color); transform:translateY(-2px); }
.rec-card.is-owned{ border-color:#7fbf8a88; background:linear-gradient(135deg,#1e2a1e,#151a12); }
.rec-card-top{ display:flex; gap:8px; align-items:center; margin-bottom:10px; }
.rec-tier{ font-size:9px; font-weight:900; letter-spacing:1px; padding:3px 7px; border-radius:6px; background:#0006; border:1px solid #ffffff15; color:#c9b896; }
.rec-tag{ font-size:9px; padding:3px 7px; border-radius:6px; background:var(--rec-color); color:#1a1204; font-weight:800; }
.rec-owned-badge{ margin-left:auto; font-size:9px; padding:3px 7px; border-radius:6px; background:#2a4a2a; color:#a8d8a0; border:1px solid #7fbf8a66; }
.rec-icon-wrap{ position:relative; width:52px; height:52px; display:grid; place-items:center; border-radius:14px; background:radial-gradient(ellipse at 30% 20%, #ffffff55, transparent 60%), var(--rec-color); color:#1a1204; font-size:22px; margin-bottom:12px; box-shadow:0 4px 12px #0004; }
.rec-icon-wrap .rec-glow{ position:absolute; inset:-6px; border-radius:18px; background:var(--rec-color); filter:blur(10px); opacity:.4; z-index:-1; }
.rec-card h3{ margin:0 0 6px; font-size:15px; color:#f0e6c8; }
.rec-desc{ margin:0 0 10px; font-size:11px; line-height:1.6; color:#a99d85; min-height:32px; }
.rec-growth{ display:flex; gap:6px; align-items:center; padding:8px 10px; background:#2a2416; border:1px solid #c9a96122; border-radius:8px; font-size:11px; color:#e0c88a; margin-bottom:10px; }
.rec-gives{ margin-bottom:12px; }
.rec-gives small{ font-size:9px; color:#8d8271; display:block; margin-bottom:4px; }
.rec-gives p{ margin:0; font-size:10px; line-height:1.6; color:#b8ae96; }
.rec-price-row{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.rec-price{ font-size:18px; font-weight:900; color:#f7e3a0; }
.rec-real{ font-size:10px; padding:4px 8px; border-radius:6px; background:#1e1a0e; border:1px solid #c9a96133; color:#c9b896; }
.rec-owned-info{ padding:10px; background:#1e2a1e; border:1px solid #7fbf8a33; border-radius:8px; font-size:11px; color:#a8d8a0; text-align:center; }
.rec-buy{ width:100%; min-height:42px; font-size:12px; font-weight:700; }
.rec-note{ display:block; margin-top:8px; font-size:9px; line-height:1.5; color:#7a7566; text-align:center; }
.rec-foot{ margin-top:18px; padding:16px; background:#1a1812; border:1px solid #3a352a; border-radius:12px; }
.rec-foot p{ margin:6px 0; font-size:10px; line-height:1.7; color:#9a8c70; }
.rec-foot p.dim{ color:#6a6556; }
.rec-pay{ text-align:center; }
.rec-pay-icon{ width:64px; height:64px; margin:0 auto 14px; display:grid; place-items:center; border-radius:18px; background:radial-gradient(ellipse at 30% 20%, #ffffff88, transparent 60%), #c9a961; color:#1a1204; font-size:28px; box-shadow:0 6px 18px #0005; }
.rec-pay h3{ margin:0 0 6px; font-size:18px; color:#f0e6c8; }
.rec-pay-price{ font-size:22px; font-weight:900; color:#f7e3a0; margin-bottom:10px; }
.rec-pay p{ font-size:12px; line-height:1.7; color:#b9ab8a; margin:0 0 12px; }
.rec-pay-bonus{ padding:10px; background:#2a2416; border:1px solid #c9a96133; border-radius:10px; font-size:12px; color:#e0c88a; margin-bottom:12px; }
.rec-pay-gives{ text-align:left; padding:12px; background:#1e1a0e; border:1px solid #3a352a; border-radius:10px; margin-bottom:12px; }
.rec-pay-gives small{ font-size:9px; color:#8d8271; }
.rec-pay-gives p{ margin:4px 0 0; font-size:11px; line-height:1.6; color:#b8ae96; }
.rec-pay-notice{ display:flex; gap:10px; text-align:left; padding:12px; background:#1a2a1e; border:1px solid #7fbf8a33; border-radius:10px; font-size:11px; line-height:1.6; color:#a8c8a0; }
.rec-pay-notice i{ font-size:18px; margin-top:2px; }
@media(max-width:700px){
  .rec-grid{ grid-template-columns:1fr; }
  .rec-bonus-bar{ grid-template-columns:1fr; }
  .rec-modal{ width:calc(100vw - 12px); }
  .rec-modal .modal-body{ padding:14px; }
  .rec-hero{ padding:18px 14px; }
  .rec-hero h2{ font-size:20px; }
}
.rec-bonus-panel{ border-color:#c9a96166 !important; background:linear-gradient(135deg,#2a2210,#1a1810) !important; }
.rec-bonus-panel summary{ color:#f0d68a; }
#recommended-chest:focus-visible{ outline:2px solid #f7e3a0; outline-offset:4px; }
.panel-open #recommended-chest{ display:none !important; visibility:hidden !important; pointer-events:none !important; }
#title:not([style*="display: none"]) ~ #recommended-chest, body:has(#title[data-state="gate"]) #recommended-chest{ display:none !important; }
#app[style*="display: none"] ~ #recommended-chest{ display:none !important; }
#hud>.hud-corner.tr:has(.minimap-filter-panel.on) ~ #recommended-chest,
.minimap-wrapper:has(.minimap-filter-panel.on) ~ #recommended-chest{ opacity:0.15; pointer-events:none; }
body:has(.minimap-filter-panel.on) #recommended-chest{ z-index:5 !important; opacity:0.2; pointer-events:none; }
#field-event-hud:not([hidden]) ~ #recommended-chest{ opacity:0.85; }

/* ── 개선된 미니맵 ── */
#minimap {
  border: 1px solid #4a3f2a;
  border-radius: 12px;
  background: rgba(8,9,12,.85);
  box-shadow: 0 4px 20px #000a, inset 0 0 0 1px #ffffff0a;
  cursor: crosshair;
  transition: width .25s, height .25s, transform .2s;
  image-rendering: crisp-edges;
  pointer-events:auto;
}
#minimap:hover {
  border-color: #c9a96188;
  box-shadow: 0 6px 28px #000c, 0 0 16px #c9a96122, inset 0 0 0 1px #c9a96133;
}
.minimap-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 30;
  pointer-events:auto;
}
.minimap-controls {
  display: flex;
  gap: 4px;
  justify-content: flex-end;
  opacity: 0;
  transition: opacity .2s;
  pointer-events: none;
}
.hud-corner.tr:hover .minimap-controls,
.minimap-wrapper:hover .minimap-controls {
  opacity: 1;
  pointer-events: auto;
}
.minimap-btn {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  background: rgba(20,18,12,.85);
  border: 1px solid #4a3f2a;
  border-radius: 6px;
  color: #c9b896;
  font-size: 11px;
  cursor: pointer;
  transition: all .15s;
}
.minimap-btn:hover {
  background: #2a2210;
  border-color: #c9a96188;
  color: #f7e3a0;
  transform: scale(1.08);
}
.minimap-btn:active { transform: scale(.92); }
.minimap-size-0 #minimap { width:132px; height:132px; }
.minimap-size-1 #minimap { width:180px; height:180px; }
.minimap-size-2 #minimap { width:240px; height:240px; }
.minimap-size-3 #minimap { width:320px; height:320px; }
@media(max-width:900px){
  .minimap-size-0 #minimap,
  .minimap-size-1 #minimap,
  .minimap-size-2 #minimap,
  .minimap-size-3 #minimap { width:132px; height:132px; }
  .minimap-controls { display:none; }
}
/* 미니맵 필터 패널 */
.minimap-filter-panel {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 6px;
  width: 180px;
  background: rgba(20,18,14,.97);
  border: 1px solid #c9a96155;
  border-radius: 10px;
  padding: 10px;
  box-shadow: 0 12px 32px #000a, 0 0 0 1px #ffffff0a;
  z-index: 60;
  display: none;
  pointer-events:auto;
}
.minimap-filter-panel.on { display: block; }
.minimap-filter-panel h4 { margin:0 0 8px; font-size:11px; color:#f0d68a; }
.minimap-filter-panel label {
  display:flex; align-items:center; justify-content:space-between;
  font-size:10px; color:#b8ae96; padding:5px 0; cursor:pointer;
}
.minimap-filter-panel input { width:14px; height:14px; accent-color:#c9a961; }

/* 애드온 호환 */
.addon-compact .minimap-wrapper { transform: scale(.92); transform-origin: top right; }
body.addon-left-minimap .minimap-wrapper { order:-1; }
body.addon-left-minimap #hud .hud-corner.tr .minimap-wrapper { align-self:flex-start; }

/* 미니맵 풀스크린 모드 */
.minimap-wrapper.fullscreen {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%,-50%) !important;
  z-index: 9999 !important;
  background: rgba(8,9,12,.96);
  border: 2px solid #c9a961;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 0 0 9999px rgba(0,0,0,.7), 0 20px 60px #000;
}
.minimap-wrapper.fullscreen #minimap {
  width: 480px !important;
  height: 480px !important;
}
.minimap-wrapper.fullscreen .minimap-controls { opacity:1; pointer-events:auto; }

/* 미니맵 범례 */
.minimap-legend {
  display:flex; gap:8px; flex-wrap:wrap;
  font-size:9px; color:#8a7f6a;
  margin-top:4px;
  opacity:0;
  transition:opacity .2s;
}
.minimap-wrapper:hover .minimap-legend { opacity:1; }
.minimap-legend span { display:flex; align-items:center; gap:3px; }
.minimap-legend i { width:8px; height:8px; border-radius:50%; display:inline-block; }

/* 보스 근접 시 테두리 발광 */
#minimap-wrapper.boss-near #minimap {
  border-color: #ff3b46aa !important;
  box-shadow: 0 0 12px #ff3b4688, 0 4px 20px #000a !important;
  animation: minimap-boss-pulse 1.2s ease-in-out infinite;
}
@keyframes minimap-boss-pulse {
  0%,100% { box-shadow: 0 0 8px #ff3b4666, 0 4px 20px #000a; }
  50% { box-shadow: 0 0 20px #ff3b46aa, 0 4px 28px #000c; }
}

/* ── 투기장 UI 깨짐 수정 ── */
.arena-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow-x: hidden;
}
.arena-hero {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
}
.arena-hero-content {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.arena-hero-left,
.arena-hero-right {
  min-width: 0;
  max-width: 100%;
}
.arena-hero h2 {
  word-break: keep-all;
  overflow-wrap: anywhere;
  min-width: 0;
}
.arena-hero p {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.arena-hero-stats {
  min-width: 0;
  width: 100%;
}
.arena-hero-stats>div {
  min-width: 0;
  flex: 1 1 90px;
  max-width: 100%;
  box-sizing: border-box;
}
.arena-tier-progress {
  min-width: 0;
  width: 100%;
}
.arena-tier-steps {
  scrollbar-width: thin;
  scrollbar-color: #6b5430 transparent;
  -webkit-overflow-scrolling: touch;
}
.arena-tier-steps::-webkit-scrollbar { height: 4px; }
.arena-tier-steps::-webkit-scrollbar-thumb { background: #6b5430; border-radius: 2px; }
.arena-controls,
.arena-opponents,
.arena-rules,
.arena-log {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.arena-filter-row {
  width: 100%;
  min-width: 0;
  gap: 8px;
}
.arena-filters {
  min-width: 0;
  flex: 1;
}
.arena-filter-row select {
  min-width: 0;
  max-width: 140px;
  flex-shrink: 0;
}
.arena-opponents .arena-opps-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  width: 100%;
  min-width: 0;
}
.arena-opp-card {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
.arena-opp-top {
  min-width: 0;
  max-width: 100%;
}
.arena-opp-info {
  min-width: 0;
  overflow: hidden;
}
.arena-opp-name {
  min-width: 0;
  max-width: 100%;
}
.arena-opp-name b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 120px;
}
.arena-opp-stats {
  min-width: 0;
}
.arena-opp-reward {
  min-width: 0;
  flex-wrap: wrap;
  gap: 6px;
}
.arena-opp-actions {
  min-width: 0;
  flex-wrap: wrap;
}
.arena-rules-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr));
}
.arena-log .log-list {
  width: 100%;
  min-width: 0;
}
.arena-log .logrow {
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
  gap: 4px 8px;
  word-break: keep-all;
}
.arena-detail {
  min-width: 0;
  max-width: 100%;
}
.arena-detail-stats {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 120px), 1fr));
}
.arena-entry-card,
.arena-last,
.arena-tier-rewards {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.arena-entry-actions {
  flex-wrap: wrap;
}
.arena-result-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media(max-width:700px){
  .arena-hero-content { padding: 16px; gap: 14px; }
  .arena-hero h2 { font-size: 19px; }
  .arena-hero p { font-size: 11px; }
  .arena-hero-stats { gap: 8px; }
  .arena-hero-stats>div { flex: 1 1 calc(50% - 8px); min-width: 0; }
  .arena-opponents .arena-opps-grid { grid-template-columns: 1fr; }
  .arena-opp-name b { max-width: 100px; }
  .arena-filter-row { flex-direction: column; align-items: stretch; }
  .arena-filter-row select { max-width: 100%; width: 100%; }
  .arena-result-stats { grid-template-columns: 1fr; }
  .arena-tier-steps { gap: 4px; }
  .arena-tier-step { min-width: 48px; padding: 5px 2px; }
}
@media(max-width:400px){
  .arena-hero-stats>div { flex: 1 1 100%; }
  .arena-opp-card { padding: 10px; }
  .arena-opp-avatar { width: 48px; height: 48px; }
}
#panel-body .arena-page {
  overflow-x: hidden;
}
.arena-page * {
  box-sizing: border-box;
}
.arena-page img {
  max-width: 100%;
}

/* 모달 내 투기장 상세 깨짐 방지 */
.modal-body .arena-detail,
.modal-body .arena-confirm,
.modal-body .arena-result {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.modal-body .arena-detail h3 {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.modal-body .arena-detail-stats>div {
  min-width: 0;
}

/* 투기장 HUD 겹침 방지 */
#arena-hud {
  max-width: calc(100vw - 24px);
  box-sizing: border-box;
}
#arena-hud .ah-vs {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 120px;
}

/* 투기장 패널 넓게 */
#panel.arena-panel { width: min(940px, 96vw); }
#panel.arena-panel #panel-body { padding: 16px 18px; }
@media(max-width:900px){
  #panel.arena-panel { width: 100%; }
  #panel.arena-panel #panel-body { padding: 12px; }
}

/* ── 외형·칭호 설정 카드 ── */
.settings-appearance .settings-toggle {
  border-bottom: 1px dashed #ffffff0a;
}
.settings-appearance .settings-toggle:last-of-type {
  border-bottom: 1px solid #ffffff0b;
}
.settings-appearance .settings-hint {
  background: rgba(201,169,97,0.08);
  border: 1px solid rgba(201,169,97,0.15);
  border-radius: 8px;
  padding: 10px 12px;
  margin-top: 14px;
}

/* 게임 내 칭호 캔버스 스타일 참고용 - HTML 미리보기 */
.rank-honor {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 12px;
  background: linear-gradient(90deg, #2a2010, #1a1508);
  border: 1px solid #c9a96155;
  color: #ffd23f;
  font-size: 11px;
  font-weight: 700;
  text-shadow: 0 0 6px #ffd23f88;
}

/* ── 돌발 퀘스트 이미지 최적화 ── */
#field-event-hud #fe-name {
  display: flex;
  align-items: center;
  gap: 6px;
}
#field-event-hud #fe-name img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: 6px;
  background: #00000055;
  border: 1px solid #c9a96133;
  flex-shrink: 0;
}
#field-event-hud {
  backdrop-filter: blur(8px);
  background: rgba(16,14,10,0.88);
  border: 1px solid #c9a96133;
}

/* 봉인석/호송대 인게임 글로우 */
.field-event-glow {
  filter: drop-shadow(0 0 8px #a88cff88);
}

/* ── 출석/이벤트 페이지 ── */
#panel.attendance-panel{width:min(900px,96vw);background:#151711;border-color:#756747}
#panel.attendance-panel #panel-body{padding:16px 18px 22px;flex:1;min-height:0;scrollbar-color:#766443 #171812}
.attendance-page{max-width:980px;margin:0 auto;color:#e8e0cb}
.attendance-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,310px);gap:20px;align-items:center;padding:22px;border:1px solid #796642;border-radius:13px;background:radial-gradient(ellipse at 82% 14%,#9d7d3b22,transparent 60%),linear-gradient(135deg,#25251b,#171a16)}
.attendance-hero.claimed{border-color:#61704f}
.attendance-eyebrow{font-size:9px;letter-spacing:.16em;color:#d2b77b}
.attendance-hero h2{margin:8px 0;font:28px/1.2 Georgia,serif;letter-spacing:.04em;color:#f1dfb6}
.attendance-hero-copy p{margin:0 0 9px;color:#c3bba4;font-size:12px;line-height:1.7}
.attendance-hero-copy>small{font-size:10px;color:#8f927e}
.attendance-today-reward{padding:13px;border:1px solid #84704766;border-radius:10px;background:#171912cc}
.attendance-today-reward>small{display:block;margin-bottom:9px;color:#c7b78f;font-size:10px}
.attendance-today-reward>div{display:flex;flex-wrap:wrap;gap:6px}
.attendance-today-reward>.btn{width:100%;min-height:42px;margin-top:12px}
.attendance-reward-chip{display:inline-flex;align-items:center;gap:5px;min-width:0;padding:6px 7px;border:1px solid #8b75464a;border-radius:6px;background:#ffffff05;color:#c8bea2;font-size:9px;line-height:1.3;white-space:nowrap}
.attendance-reward-chip i{color:#d3b675}
.attendance-reward-chip strong{color:#f0dfb6;font-size:10px;font-variant-numeric:tabular-nums}
.attendance-calendar,.attendance-pending{margin-top:18px;padding:17px;border:1px solid #4c4936;border-radius:12px;background:#171812}
.attendance-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.attendance-section-head h3{margin:0;color:#e7d8b0;font:18px Georgia,serif}
.attendance-section-head p{margin:5px 0 0;color:#969581;font-size:10px;line-height:1.6}
.attendance-section-head>span{flex-shrink:0;padding:5px 8px;border:1px solid #8d774c66;border-radius:20px;color:#d6bd83;font-size:10px}
.attendance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.attendance-day{min-width:0;padding:11px;border:1px solid #484637;border-radius:9px;background:linear-gradient(145deg,#212118,#191a15)}
.attendance-day.today{border-color:#d2ae60;background:linear-gradient(145deg,#342a18,#201d15);box-shadow:inset 0 0 0 1px #d2ae6022}
.attendance-day.done{border-color:#62764f;background:linear-gradient(145deg,#20291c,#191d16)}
.attendance-day-head{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}
.attendance-day-head>b{color:#e3ca91;font-size:10px;letter-spacing:.08em}
.attendance-day-head>span{color:#858875;font-size:9px;text-align:right}
.attendance-day.today .attendance-day-head>span{color:#f0d38d}
.attendance-day.done .attendance-day-head>span{color:#a9ca8b}
.attendance-day-rewards{display:flex;flex-wrap:wrap;gap:4px}
.attendance-day-rewards .attendance-reward-chip{padding:5px 6px;font-size:8px}
.attendance-day-rewards .attendance-reward-chip b{font-weight:500}
.attendance-day-rewards .attendance-reward-chip strong{font-size:9px}
.attendance-pending-list{display:grid;gap:8px}
.attendance-pending-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid #514936;border-radius:9px;background:#201f18}
.attendance-pending-copy{display:grid;gap:4px;min-width:0}
.attendance-pending-copy>span{font-size:9px;color:#a99669}
.attendance-pending-copy>b{font-size:11px;color:#e2d4b3}
.attendance-pending-copy>small{font-size:10px;color:#a7a28d;overflow-wrap:anywhere}
.attendance-pending-card .btn{min-width:70px;min-height:36px;flex-shrink:0}
.attendance-empty{display:flex;align-items:center;gap:9px;padding:17px;border:1px dashed #4e5140;border-radius:8px;color:#9aa08b;font-size:11px}
.attendance-empty i{color:#9eb781}
.attendance-footnote{margin:12px 2px 0;color:#818374;font-size:9px;line-height:1.7}
.attendance-page button:disabled{opacity:.5;cursor:not-allowed}
.attendance-page button:focus-visible{outline:2px solid #efd099;outline-offset:3px}
@media(max-width:900px){#panel.attendance-panel{width:100%;height:94dvh}#panel.attendance-panel #panel-body{padding:12px 12px max(18px,env(safe-area-inset-bottom))}.attendance-hero{grid-template-columns:minmax(0,1fr);gap:13px;padding:16px}.attendance-hero h2{font-size:23px}.attendance-today-reward{padding:11px}.attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.attendance-calendar,.attendance-pending{padding:12px;margin-top:13px}.attendance-day{padding:9px 7px}.attendance-day-head{align-items:flex-start;flex-direction:column;gap:4px}.attendance-day-head>span{text-align:left}.attendance-reward-chip{font-size:8px;padding:5px}.attendance-reward-chip strong{font-size:9px}}
@media(max-width:420px){.attendance-section-head h3{font-size:16px}.attendance-section-head p{font-size:9px}.attendance-day-rewards{gap:3px}.attendance-day-rewards .attendance-reward-chip{gap:3px;padding:4px 5px}.attendance-pending-card{padding:9px;gap:7px}.attendance-pending-card .btn{min-width:58px;padding:7px}.attendance-pending-copy>small{font-size:9px}}

/* 혜택 상세 정보 */
.benefit-description{margin:8px 0;color:#c2baa3;font-size:11px;line-height:1.6}
.benefit-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}
.benefit-facts>div{min-width:0;padding:8px;border:1px solid #a68e4f26;border-radius:7px;background:#ffffff04}
.benefit-facts small{display:block;margin-bottom:4px;color:#959986;font-size:9px}
.benefit-facts b{display:block;color:#e2d2a9;font-size:10px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.benefit-policy{margin:8px 0 0;color:#9b9a87;font-size:10px;line-height:1.7}
@media(max-width:600px){.benefit-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit-facts>div{padding:7px}.benefit-facts b{font-size:9px}}

/* PC 혜택·출석 바로가기는 우측 하단에 세로 배치. 모바일은 우측 HUD 퀵 버튼 영역에 쌓습니다. */
@media(min-width:901px){#hud>.hud-corner.tr>.benefit-shortcut-group{pointer-events:none}#hud>.hud-corner.tr .benefit-shortcut{position:fixed;top:auto;right:max(16px,env(safe-area-inset-right));left:auto;z-index:24;pointer-events:auto}#hud>.hud-corner.tr #benefits-shortcut{bottom:calc(92px + env(safe-area-inset-bottom))}#hud>.hud-corner.tr #attendance-event-shortcut{bottom:calc(42px + env(safe-area-inset-bottom))}}
/* Independent post-advancement skill choices */
.adv-identity-card{border-color:#494536;position:relative;overflow:hidden}.adv-identity-card.is-active{border-color:var(--adv-color,#d5b979);box-shadow:0 0 0 1px #ffffff12,0 10px 28px #0005}.adv-identity-skills{color:#dfcca3!important}
.adv-skill-choice-wrap{margin:20px 0;padding:18px;border:1px solid #615438;border-radius:14px;background:linear-gradient(145deg,#201f18,#121713)}.adv-skill-slots{display:grid;gap:14px}.adv-skill-slot{padding:14px;border:1px solid #454332;border-radius:11px;background:#11161188}.adv-skill-slot>h5{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;color:#ead9b5;font-size:14px}.adv-skill-slot>h5 span{font-size:10px;color:#d9bd7c;font-weight:500}.adv-skill-card{border-color:#484738;display:flex;flex-direction:column;gap:10px}.adv-skill-card.is-active{border-color:var(--adv-color,#d5b979);box-shadow:0 0 0 1px #ffffff12}.adv-skill-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.adv-skill-card-head small,.adv-skill-art-note{color:#a9a18e;font-size:10px}.adv-category-tag{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #776545;color:#e9d8ad;background:#ffffff08;border-radius:999px;font-size:10px;white-space:nowrap}.adv-skill-title-row{display:flex;align-items:center;gap:10px;min-height:44px}.adv-skill-title-row img{width:42px;height:42px;object-fit:contain;border:1px solid #77654566;border-radius:9px;background:#0c100d}.adv-skill-title-row h5{margin:0;color:#f0e7d3;font-size:14px}.adv-skill-card>p{margin:0;color:#c0bdae;font-size:11px;line-height:1.75;flex:1}.adv-skill-card>.btn{margin-top:3px}
@media(max-width:560px){.adv-skill-choice-wrap{padding:12px}.adv-skill-slot{padding:10px}.adv-skill-slot>h5{align-items:flex-start;flex-direction:column;gap:3px}.adv-skill-card-head{align-items:flex-start}.adv-skill-card{padding:13px}}
.profile-adv-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-adv-skills>div{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid #5b503a;border-radius:8px;background:#191a16}.profile-adv-skills span{font-size:10px;color:#d5b979}.profile-adv-skills b{font-size:14px;color:#eee3ca}@media(max-width:480px){.profile-adv-skills{grid-template-columns:1fr}}

/* ── 세력 맹약 · 천명 서사 UI ── */
.fate-subnav{display:flex;gap:7px;margin:0 0 12px;padding:4px;border:1px solid #7d8b6940;border-radius:6px;background:#0e1919;width:max-content;max-width:100%}
.fate-subnav button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 15px;border:1px solid transparent;border-radius:4px;background:transparent;color:#82917d;font:inherit;font-size:11px;cursor:pointer}
.fate-subnav button.active{color:#e1d0a7;border-color:#a88e594d;background:linear-gradient(120deg,#28342c,#1a2724);box-shadow:inset 0 -2px #bea46c}
.fate-subnav button:hover:not(.active){color:#c3c7aa;background:#ffffff08}
.mandate-page{--mandate-line:#7c906d55;color:#dedacb}
.mandate-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px;border:1px solid color-mix(in srgb,var(--faction) 42%,transparent);border-radius:7px;background:radial-gradient(ellipse at 85% 5%,color-mix(in srgb,var(--faction) 17%,transparent),transparent 63%),linear-gradient(120deg,#172321,#151b20);margin-bottom:14px}
.mandate-banner .fate-eyebrow{color:var(--faction);letter-spacing:2px}.mandate-banner h2{font:25px/1.4 serif;color:#efe2c4;margin:7px 0}.mandate-banner p{max-width:680px;color:#a5ad9d;font-size:11px;line-height:1.8;margin:0}
.mandate-points{min-width:115px;text-align:center;border-left:1px solid #ffffff18;padding-left:18px}.mandate-points strong{display:block;color:#e4cc91;font:42px/1 Georgia,serif}.mandate-points span,.mandate-points small{display:block;color:#b1ad91;font-size:10px;margin-top:5px}.mandate-points small{color:#858c7d}
.mandate-factions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.mandate-faction{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid #71806d30;border-radius:6px;background:#151f1e;color:#7b897e;text-align:left}.mandate-faction>i:first-child{font-size:18px;opacity:.65}.mandate-faction>i:last-child{margin-left:auto;font-size:11px}.mandate-faction span{display:grid;gap:4px;min-width:0}.mandate-faction b{font-size:12px}.mandate-faction small{font-size:9px;color:#7e8a7e}.mandate-faction.is-active{border-color:color-mix(in srgb,var(--faction) 70%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--faction) 13%,#131d1d),#192523);color:#eee4cb;box-shadow:inset 0 -2px var(--faction)}
.mandate-budget{display:flex;align-items:center;gap:12px;margin:7px 0 12px;color:#9ca58c;font-size:10px}.mandate-budget progress{flex:1;height:4px;accent-color:#d0b27a}.mandate-budget .btn{font-size:10px;padding:6px 9px}
.mandate-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:12px;align-items:start}.mandate-tree{display:grid;gap:8px}.mandate-node{--faction:#9ca58c;display:grid;grid-template-columns:38px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid #6b776738;border-radius:6px;background:#141d1c;color:#888f83;text-align:left;cursor:pointer}.mandate-node.available{border-color:color-mix(in srgb,var(--faction) 45%,transparent);color:#e0dfcf}.mandate-node.learned{border-color:color-mix(in srgb,var(--faction) 70%,transparent);background:color-mix(in srgb,var(--faction) 12%,#17211f);color:#ece5d2}.mandate-node.selected{outline:2px solid color-mix(in srgb,var(--faction) 70%,transparent);outline-offset:1px}.mandate-node-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid #586555;border-radius:50%;color:#727f72}.mandate-node.available .mandate-node-mark,.mandate-node.learned .mandate-node-mark{border-color:var(--faction);color:var(--faction)}.mandate-node.learned .mandate-node-mark{background:color-mix(in srgb,var(--faction) 18%,transparent)}.mandate-node-copy{display:grid;gap:3px;min-width:0}.mandate-node-copy small{color:#9d987e;font-size:9px}.mandate-node-copy b{font:15px/1.4 serif}.mandate-node-copy em{font-style:normal;color:#7f897e;font-size:9px}.mandate-node>i{font-size:10px;color:#727d71}.mandate-detail{padding:18px;border:1px solid color-mix(in srgb,var(--faction) 35%,#353b34);border-top:2px solid var(--faction);border-radius:6px;background:linear-gradient(145deg,#202925,#161d1c)}.mandate-detail>span{color:var(--faction);font-size:10px}.mandate-detail h3{font:22px/1.4 serif;color:#f0e3c8;margin:10px 0}.mandate-detail>p{font-size:11px;line-height:1.8;color:#aab0a0}.mandate-detail-meta{display:grid;gap:7px;padding:10px 0;border-block:1px solid #ffffff12;color:#8e998b;font-size:10px}.mandate-detail-meta span{display:flex;justify-content:space-between;gap:10px}.mandate-detail-meta b{color:#e0d2ae;font-weight:500}.mandate-detail .mandate-safety{padding:10px;background:#101918;border-radius:4px;color:#a2b6a1;font-size:10px}.mandate-detail .mandate-safety i{color:#c4b080;margin-right:6px}.mandate-detail .btn{width:100%;min-height:42px;margin-top:5px;font-size:11px}.mandate-status{min-height:28px;margin-bottom:0;color:#b4aa8a;font-size:10px;line-height:1.6}.mandate-locked{text-align:center;margin-top:14px;padding:28px 18px;border:1px solid #78836b30;border-radius:6px;background:#131d1c;color:#92998c}.mandate-locked>i{font-size:24px;color:#b59d69}.mandate-locked h3{font:20px serif;color:#dfd4ba}.mandate-locked p{max-width:560px;margin:8px auto;color:#9ca394;font-size:11px;line-height:1.8}
.court-faction-notice{align-items:flex-start;flex-wrap:wrap}.court-faction-notice>i{margin-top:4px}.court-faction-notice>p{flex:1;min-width:170px}.court-faction-notice .btn{font-size:10px;padding:7px 10px}.court-faction-actions{display:flex;gap:6px;margin-left:28px;width:calc(100% - 28px)}.court-faction-notice small{max-width:520px}
.faction-route-modal{width:min(760px,94vw)}.faction-route-chooser{padding:2px}.faction-route-warning{padding:11px 13px;border:1px solid #b79c5b42;border-radius:5px;background:#1e211b;color:#c9bd9e;font-size:11px;line-height:1.7}.faction-route-warning i{color:#d1b577;margin-right:6px}.faction-route-grid{display:grid;gap:8px;margin-top:12px}.faction-route-grid article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid color-mix(in srgb,var(--faction) 38%,transparent);border-left:3px solid var(--faction);border-radius:5px;background:linear-gradient(100deg,color-mix(in srgb,var(--faction) 9%,#151b1b),#14191a)}.faction-route-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--faction) 55%,transparent);border-radius:50%;color:var(--faction);font-size:16px}.faction-route-grid article small{color:var(--faction);font-size:9px}.faction-route-grid h3{font:15px/1.5 serif;color:#e7dfcd;margin:2px 0}.faction-route-grid p{color:#969d91;font-size:10px;line-height:1.6;margin:0}.faction-route-grid .btn{font-size:10px;white-space:nowrap}.faction-no-reward{font-size:10px;line-height:1.7;margin:12px 4px 2px}
.faction-scene-modal{width:min(600px,94vw)}.faction-scene{--faction:#b8a87a;padding:5px 2px 2px}.faction-scene-progress{display:flex;justify-content:space-between;gap:8px;color:var(--faction);font-size:10px}.faction-scene-progress b{font-variant-numeric:tabular-nums}.faction-scene-seal{display:grid;place-items:center;width:54px;height:54px;margin:18px auto 8px;border:1px solid color-mix(in srgb,var(--faction) 70%,transparent);border-radius:50%;color:var(--faction);font-size:22px;box-shadow:0 0 28px color-mix(in srgb,var(--faction) 16%,transparent)}.faction-scene h3{text-align:center;font:24px/1.45 serif;color:#f0e2c3;margin:8px 0 14px}.faction-scene>p{font-size:13px;line-height:2;color:#d0c5b0;white-space:pre-line;word-break:keep-all}.faction-scene .faction-scene-hint{color:#a8a48f;font-size:10px}.faction-final-warning{display:flex;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--faction) 38%,transparent);background:color-mix(in srgb,var(--faction) 7%,#101617);border-radius:5px;color:var(--faction)}.faction-final-warning>span{display:grid;gap:5px}.faction-final-warning small{color:#c0b69d;font-size:10px;line-height:1.7}.faction-scene-status{min-height:22px;color:#f0a98e;font-size:10px;margin-top:8px}.faction-scene [data-faction-scene-next]{width:100%;min-height:46px;border-color:color-mix(in srgb,var(--faction) 70%,transparent);background:linear-gradient(100deg,color-mix(in srgb,var(--faction) 23%,#201d19),#24211b);color:#f0e0bd;font-size:11px}.faction-scene-foot{display:block;margin:8px 0 0;color:#8d9288;text-align:center;font-size:9px}
#instance-hud.factionQuest .inst-title{color:#ead7aa}#instance-hud.factionQuest .inst-title i{color:#bda36e}#instance-hud.factionQuest .inst-card{border-color:#c7a96855;background:linear-gradient(140deg,#1b211ded,#100f0cee)}#instance-hud.factionQuest #inst-bar-fill{background:linear-gradient(90deg,#86764d,#e3cf9d)}
@media(max-width:760px){.fate-subnav{margin-bottom:8px}.fate-subnav button{min-height:42px;padding:8px 12px}.mandate-banner{align-items:flex-start;padding:16px;gap:8px}.mandate-banner h2{font-size:18px}.mandate-banner p{font-size:10px}.mandate-points{min-width:78px;padding-left:9px}.mandate-points strong{font-size:32px}.mandate-points span,.mandate-points small{font-size:8px}.mandate-factions{gap:5px}.mandate-faction{padding:8px 5px;gap:5px;flex-wrap:wrap}.mandate-faction>i:first-child{font-size:14px}.mandate-faction>i:last-child{font-size:9px}.mandate-faction b{font-size:10px}.mandate-faction small{font-size:8px}.mandate-layout{grid-template-columns:1fr}.mandate-detail{padding:15px}.mandate-budget{flex-wrap:wrap}.mandate-budget progress{min-width:70px}.faction-route-grid article{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:10px}.faction-route-icon{width:32px;height:32px}.faction-route-grid article .btn{grid-column:2;justify-self:stretch}.faction-route-grid h3{font-size:13px}.faction-route-grid p{font-size:9px}.faction-scene>p{font-size:12px;line-height:1.85}.court-faction-actions{margin-left:0;width:100%}}


/* PC navigation: compact quick rail plus a searchable, grouped menu. */
#desktop-menu[hidden],#desktop-menu [hidden],.desktop-menu-empty[hidden]{display:none!important}
@media(min-width:901px){
 #hud>.rail{width:108px;box-sizing:border-box;padding:7px;gap:4px}
 #hud>.rail .nav-btn{width:100%;min-width:0;min-height:38px;box-sizing:border-box;padding:7px 8px;font-size:11px}
 #hud>.rail .nav-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #hud>.rail #btn-desktop-menu{margin-top:3px;border-top:1px solid #c9a96138;border-radius:0 0 9px 9px;color:#ead5a6}
 #hud>.rail #btn-desktop-menu.menu-open{background:#2e2518;color:#ffe7b1}
 #desktop-menu{position:fixed;z-index:32;left:12px;top:12px;display:none;flex-direction:column;width:min(640px,calc(100vw - 168px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);min-height:250px;box-sizing:border-box;overflow:hidden;border:1px solid #887044;border-radius:14px;background:linear-gradient(145deg,#171711f5,#0e100ff5);box-shadow:0 20px 55px #000b,0 0 0 1px #ffffff08;backdrop-filter:blur(14px);color:#e9dfc9}
 #desktop-menu.open{display:flex}
 #desktop-menu .desktop-menu-header{display:grid;grid-template-columns:auto minmax(160px,1fr) 36px;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #806a403d;background:#11120ff5}
 .desktop-menu-brand{display:flex;align-items:center;gap:9px;white-space:nowrap}
 .desktop-menu-brand>i{display:grid;place-items:center;width:34px;height:34px;border:1px solid #94784666;border-radius:9px;background:#c9a96113;color:#e2c581}
 .desktop-menu-brand span{display:flex;flex-direction:column;gap:2px}
 .desktop-menu-brand strong{font-size:13px;color:#f0e1c1}
 .desktop-menu-brand small{font-size:9px;color:#a69a7e}
 .desktop-menu-search{display:flex;align-items:center;gap:8px;min-width:0;height:38px;padding:0 10px;border:1px solid #65543a;border-radius:8px;background:#0a0d0c;color:#bda678}
 .desktop-menu-search:focus-within{outline:2px solid #c9a96166;outline-offset:1px}
 .desktop-menu-search input{width:100%;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#eee2c9;font:inherit;font-size:12px;outline:0;box-shadow:none}
 .desktop-menu-search input::placeholder{color:#817761}
 .desktop-menu-close{width:36px;height:36px;border:1px solid #65543a;border-radius:8px;background:#ffffff06;color:#c9b78f;cursor:pointer}
 .desktop-menu-close:hover{background:#ffffff12;color:#fff0c9}
 .desktop-menu-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;padding:10px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#806a40 #11120f}
 .desktop-menu-group{min-width:0;padding:9px;border:1px solid #ffffff12;border-radius:9px;background:linear-gradient(140deg,#ffffff05,#00000012)}
 .desktop-menu-group h3{display:flex;align-items:center;gap:7px;margin:0 0 7px;padding:0 2px;color:#d7c49b;font-size:10px;letter-spacing:.04em}
 .desktop-menu-group h3:before{content:"";width:3px;height:12px;border-radius:3px;background:#c9a961}
 .desktop-menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .desktop-menu-item{position:relative;display:flex;align-items:center;gap:7px;min-width:0;min-height:34px;padding:6px 7px;border:1px solid transparent;border-radius:7px;background:#ffffff05;color:#b9b09d;text-align:left;font:inherit;font-size:11px;cursor:pointer}
 .desktop-menu-item>i{width:15px;flex:none;color:#bda26a;text-align:center;font-size:12px}
 .desktop-menu-item>span:not(.menu-new-dot){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .desktop-menu-item:hover{border-color:#8b744355;background:#c9a96112;color:#f2e5ca}
 .desktop-menu-item.active{border-color:#b5955655;background:linear-gradient(100deg,#c9a96122,#ffffff05);color:#f1d59c}
 .desktop-menu-item.menu-featured{color:#e8cc8e}
 .desktop-menu-item:focus-visible,.desktop-menu-close:focus-visible{outline:2px solid #ecd092;outline-offset:2px}
 .desktop-menu-item .menu-new-dot{right:5px;top:4px;width:6px;height:6px;min-width:6px}
 .desktop-menu-empty{padding:18px;color:#a99a7c;text-align:center;font-size:11px}
}
@media(min-width:1440px){#desktop-menu{width:min(690px,calc(100vw - 168px))}.desktop-menu-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){#desktop-menu,#btn-desktop-menu{display:none!important}}


/* PC combat dock: legible skill keycaps and a clear keyboard focus state. */
@media(min-width:901px){
 #hud>.hud-bottom{z-index:15;gap:10px;max-width:calc(100vw - 256px)}
 #hud>.hud-bottom>.skill-dock-wrap{flex:0 0 auto}
 #hud>.hud-bottom #skill-dock{display:grid;grid-template-columns:repeat(6,44px);gap:5px;padding:7px;border-radius:14px;box-shadow:inset 0 1px #ffffff0b,0 6px 20px #0006}
 #hud>.hud-bottom .skill-btn{width:44px;height:44px;border-radius:10px;box-shadow:inset 0 1px #ffffff0b,0 3px 8px #0005}
 #hud>.hud-bottom .skill-btn .knum{top:4px;left:4px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border:1px solid #c9a96166;border-radius:5px;background:#080807e8;color:#ead39e;font-size:9px;line-height:1;font-variant-numeric:tabular-nums;z-index:3}
 #hud>.hud-bottom .skill-btn .name{left:0;bottom:3px;width:100%;padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e0d1ae;font-size:9px;line-height:1.1;text-shadow:0 1px 3px #000;z-index:3}
 #hud>.hud-bottom .skill-btn:focus-visible{outline:2px solid #f5d48b;outline-offset:3px;z-index:4}
 #hud>.hud-bottom .combat-action:focus-visible{outline-offset:4px}
}


/* PC top-left HUD: align player, quest, and location blocks without touching the right minimap. */
@media(min-width:901px){
 #hud>.hud-corner.tl{width:min(540px,calc(100vw - 440px));max-width:calc(100vw - 360px);gap:8px}
 #hud>.hud-corner.tl>.hud-id,#hud>.hud-corner.tl>#hud-quest-row,#hud>.hud-corner.tl>.hud-chips{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
 #hud>.hud-corner.tl>.hud-id{padding:8px 12px;border-color:#c9a96135;box-shadow:0 5px 16px #0004}
 #hud>.hud-corner.tl #hud-info{min-width:0;max-width:100%;gap:8px}
 #hud>.hud-corner.tl #hud-info>.cls{min-width:0;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #hud>.hud-corner.tl #hud-info>.title-tag{min-width:0;max-width:min(190px,36vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #hud>.hud-corner.tl #hud-hp{width:100%;--hud-health-height:13px;column-gap:9px;row-gap:4px}
 #hud>.hud-corner.tl #hud-hp>.bar{box-shadow:inset 0 0 0 1px #ffbbc52b}
 #hud>.hud-corner.tl #hud-hp>span{color:#f0e5d0;font-size:10.5px;font-variant-numeric:tabular-nums}
 #hud>.hud-corner.tl>#hud-quest-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #hud>.hud-corner.tl>#hud-quest-row>button{min-height:54px;padding:8px 11px}
 #hud>.hud-corner.tl>.hud-chips{align-items:flex-start;gap:6px}
 #hud>.hud-corner.tl>.hud-chips>.chip{min-width:0;max-width:100%;line-height:1.35}
}


/* PC right HUD: preserve the minimap and keep alerts scrollable on short desktops. */
@media(min-width:901px){
 #hud>.hud-corner.tr>#world-alert-feed{display:flex;flex-direction:column;flex:0 1 auto;min-height:32px}
 #hud>.hud-corner.tr #world-alert-feed .world-alert-head{flex:0 0 auto}
 #hud>.hud-corner.tr #world-alert-list{min-height:0;flex:0 1 auto}
}
@media(min-width:901px) and (max-height:720px){
 #hud>.hud-corner.tr{gap:6px}
 #hud>.hud-corner.tr #world-alert-list{max-height:120px}
 #hud>.hud-corner.tr #field-event-hud{padding:8px 10px;font-size:10.5px}
}
@media(min-width:901px) and (max-height:560px){
 #hud>.hud-corner.tr #world-alert-list{max-height:80px}
 #hud>.hud-corner.tr #field-event-hud{padding:7px 9px;font-size:10px}
}

/* Server-authoritative gem growth sinks: PC-first growth dashboard. */
#panel.gem-growth-panel{width:min(1180px,96vw);background:#101714;border-color:#6f8c68}#panel.gem-growth-panel #panel-body{padding:20px 22px 28px;scrollbar-color:#58725a #101714}
.gem-growth-page{--gg-bg:#131c18;--gg-panel:#18241e;--gg-line:#6f8b5a55;--gg-gold:#dec184;--gg-muted:#9da993;color:#e9eadb;display:grid;gap:14px;min-width:0}
.gg-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid #aa986252;border-radius:8px;background:linear-gradient(115deg,#243529ee,#111b19f5),radial-gradient(ellipse at 85% 25%,#677d4c55,transparent 44%)}
.gg-hero>div:first-child{min-width:0}.gg-eyebrow,.gg-kicker{display:block;color:#c6ac71;font-size:10px;letter-spacing:.12em}.gg-hero h2{margin:6px 0 7px;color:#f2dfb6;font:26px/1.3 Georgia,'Noto Serif KR',serif}.gg-hero p{max-width:760px;margin:0;color:#b6c2a9;font-size:12px;line-height:1.8}
.gg-wallet{flex:0 0 auto;min-width:135px;padding:13px 16px;border:1px solid #a9976455;border-radius:6px;background:#0d1512aa;text-align:right}.gg-wallet span{display:block;color:#b8b69c;font-size:10px}.gg-wallet span i{margin-right:5px;color:#8fd9e9}.gg-wallet b{display:block;margin-top:5px;color:#8fe1ee;font-size:23px;font-variant-numeric:tabular-nums}
.gg-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.gg-summary>div{padding:12px 15px;border:1px solid var(--gg-line);border-radius:6px;background:linear-gradient(145deg,#1a2720,#121a17)}.gg-summary span{display:block;color:#a6b39e;font-size:10px}.gg-summary b{display:block;margin-top:5px;color:#e8d2a1;font-size:18px;font-variant-numeric:tabular-nums}.gg-summary b small{font-size:10px;color:#98a38d;font-weight:400}
.gg-guarantee{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 16px;border:1px solid #78926455;border-left:3px solid #9fbd83;border-radius:6px;background:#19261f}.gg-guarantee-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#77985c20;color:#bfd697;font-size:17px}.gg-guarantee>div:nth-child(2)>b{color:#d8d2ac;font-size:12px}.gg-guarantee p{margin:4px 0 0;color:#aab69f;font-size:10px;line-height:1.75}.gg-guarantee p strong{color:#f0d18c}.gg-quality-key{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.gg-quality{display:inline-flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid #ffffff17;border-radius:4px;background:#0d1511;font-size:9px;white-space:nowrap}.gg-quality b{font-size:10px}.q-common{color:#ccd0bf}.q-fine{color:#90c9a2}.q-rare{color:#e0b2ef}
.gg-last-result{display:flex;align-items:center;gap:11px;padding:12px 15px;border:1px solid #a58b4d66;border-radius:6px;background:linear-gradient(105deg,#362e1d,#1b2118);color:#efd395}.gg-last-result>i{font-size:18px;color:#a9d291}.gg-last-result small,.gg-last-result b{display:block}.gg-last-result small{margin-bottom:4px;color:#b8a87f;font-size:9px}.gg-last-result b{font-size:12px;line-height:1.6}
.gg-system{min-width:0;padding:18px 19px;border:1px solid var(--gg-line);border-radius:8px;background:linear-gradient(145deg,#19251f,#121a17)}.gg-mind{border-top:2px solid #93b47b}.gg-gear{border-top:2px solid #94b0aa}.gg-weekly{border-top:2px solid #b49a68}.gg-presets{border-top:2px solid #aa92c5}.gg-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.gg-section-head>div{display:flex;align-items:center;gap:12px;min-width:0}.gg-section-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #b79d6355;border-radius:7px;background:#0d1712;color:#dbc187;font-size:17px}.gg-section-head h3{margin:3px 0 0;color:#eee0bd;font:20px Georgia,'Noto Serif KR',serif}.gg-section-head .gg-kicker{font-size:9px;letter-spacing:.06em}.gg-counter{flex:0 0 auto;padding:6px 9px;border:1px solid #90a47a45;border-radius:4px;color:#c0cca9;background:#111a15;font-size:10px;font-variant-numeric:tabular-nums}.gg-intro{margin:12px 0 15px;color:#aeb9a5;font-size:11px;line-height:1.8}
.gg-node-track{max-height:284px;overflow:auto;border:1px solid #53674a66;border-radius:6px;background:#101814;scrollbar-color:#526947 #101814}.gg-node-track ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;margin:0;padding:5px 12px;list-style:none}.gg-node-track li{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 4px;border-bottom:1px solid #ffffff0b;color:#87927e}.gg-node-track li.is-next{color:#f0dda9;background:linear-gradient(90deg,#c6a65d12,transparent)}.gg-node-track li.is-done{color:#b7d1a5}.gg-node-track li.is-major .gg-node-number{border-radius:5px;border-color:#b89b5c;color:#efd18c}.gg-node-number{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid #52624b;border-radius:50%;color:#9aa68d;font-size:9px;font-variant-numeric:tabular-nums}.gg-node-copy{min-width:0;flex:1}.gg-node-copy b,.gg-node-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gg-node-copy b{font-size:10px}.gg-node-copy small{margin-top:3px;color:#93a08c;font-size:9px}.gg-node-state{flex:0 0 auto;color:#899581;font-size:8px}.gg-node-track .is-next .gg-node-state{color:#e5c77e}.gg-node-track .is-done .gg-node-state{color:#a4ce92}
.gg-focus-wrap{margin-top:14px;padding:13px;border:1px solid #546b4b55;border-radius:6px;background:#111a15}.gg-focus-wrap h4{margin:0 0 9px;color:#c4c9ad;font-size:11px}.gg-focus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.gg-focus-option{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px;border:1px solid #5b6a4a66;border-radius:5px;background:#17211a;color:#aeb89b;text-align:left;cursor:pointer}.gg-focus-option b{color:#e2d4ac;font-size:11px}.gg-focus-option span{color:#95a38b;font-size:9px}.gg-focus-option.selected{border-color:#c5a565;background:linear-gradient(130deg,#3b3322,#1b261e);box-shadow:inset 0 -2px #c5a565}.gg-focus-option:focus-visible,.gem-growth-page button:focus-visible{outline:2px solid #eed18d;outline-offset:2px}.gg-odds-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:10px}.gg-odds-row{display:grid;grid-template-columns:auto 37px minmax(0,1fr);align-items:center;gap:5px;padding:7px 8px;border:1px solid #ffffff0e;border-radius:4px;background:#0e1712;font-size:9px}.gg-odds-row .gg-quality{padding:0;border:0;background:transparent;font-size:9px}.gg-odds-row>b{color:#e4d29e;text-align:right;font-variant-numeric:tabular-nums}.gg-odds-row>span:last-child{overflow:hidden;color:#aab49f;text-align:right;text-overflow:ellipsis;white-space:nowrap}.gg-focus-odds{margin-top:9px}.gg-primary-action{display:block;width:100%;min-height:43px;margin-top:13px;border-color:#a58b55;background:linear-gradient(115deg,#c8aa6c,#997d48);color:#172019;font-size:12px;font-weight:700}.gem-growth-page .btn:disabled{opacity:.58;cursor:not-allowed;filter:saturate(.45)}.gg-lock-note{margin:10px 0 0;padding:9px;border:1px solid #745f4155;border-radius:4px;background:#261f18;color:#d0b68a;font-size:10px}.gg-lock-note i{margin-right:6px}
.gg-gear-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.gg-gear-card{display:flex;flex-direction:column;min-width:0;padding:12px;border:1px solid #586f6555;border-radius:6px;background:#111a17}.gg-gear-card>header{display:flex;align-items:center;gap:9px;min-width:0}.gg-slot-icon,.gg-weekly-seal{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid #7f9a8355;border-radius:6px;background:#19241e;color:#a9c4af}.gg-gear-card header>div{min-width:0;flex:1}.gg-gear-card h4,.gg-weekly-card h4{margin:0;color:#e0d8bd;font-size:12px}.gg-gear-card header small{display:block;margin-top:4px;color:#a4b19d;font-size:9px;line-height:1.5}.gg-state-tag{flex:0 0 auto;padding:4px 6px;border:1px solid #53644d66;border-radius:4px;color:#9caa91;font-size:8px;white-space:nowrap}.gg-state-tag.done{border-color:#a3bb7855;color:#c4d59b}.gg-gear-card .gg-odds-list{grid-template-columns:1fr;gap:4px;margin-top:11px}.gg-gear-card .gg-odds-row{padding:6px 7px}.gg-gear-card>p{min-height:35px;margin:9px 0;color:#9eac9c;font-size:9px;line-height:1.65}.gg-gear-card>.btn,.gg-weekly-card>.btn{width:100%;min-height:38px;margin-top:auto;white-space:normal;font-size:10px}.gg-gear-card.is-unlocked{border-color:#82976566;background:linear-gradient(145deg,#1b2b20,#111a17)}
.gg-weekly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.gg-weekly-card{display:flex;flex-direction:column;min-width:0;padding:13px;border:1px solid #7564435c;border-radius:6px;background:#171f19}.gg-weekly-card.is-claimed{border-color:#70886555;background:#142019}.gg-weekly-card-head{display:flex;align-items:center;gap:9px}.gg-weekly-card-head>div{flex:1;min-width:0}.gg-weekly-card-head small{display:block;margin-top:4px;color:#9eaa8e;font-size:9px}.gg-weekly-seal{border-color:#8e785255;color:#cfb67e}.gg-price{color:#8fdae5;font-size:14px;white-space:nowrap}.gg-price small{font-size:8px;font-weight:400}.gg-weekly-card>p{margin:13px 0 5px;color:#e4d5ae;font-size:12px}.gg-muted{display:block;margin-bottom:13px;color:#94a08d;font-size:9px}.gg-weekly-card>.btn{margin-top:auto}
.gg-preset-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:11px 0}.gg-preset-prices>span{position:relative;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:10px;border:1px solid #655a7655;border-radius:5px;background:#191720;color:#ddd1e8}.gg-preset-prices>span b{font-size:11px}.gg-preset-prices>span small{color:#b6a9c5;font-size:9px}.gg-preset-prices>span.is-bought{border-color:#7b9d7055;background:#17231a;color:#b9d4a9}.gg-preset-prices>span i{color:#a7d08d}.gg-destiny-link{width:100%;min-height:38px;margin-top:7px;border-color:#72648755;background:#211d28;color:#cfbde5;font-size:10px}.gg-footnote{margin:0;padding:10px 12px;border-left:2px solid #687459;color:#9ca795;background:#111813;font-size:9px;line-height:1.7}.gg-confirm>p{font-size:13px;line-height:1.8;color:#ded5c1}.gg-confirm .gg-confirm-note{padding:10px;border:1px solid #63745855;border-radius:5px;color:#b6c5a8;background:#182319;font-size:10px}.gg-confirm .row-btns{display:flex;gap:8px;margin-top:14px}.gg-confirm .row-btns .btn{flex:1;min-height:40px}.gg-growth-entry{display:flex;align-items:center;gap:12px;width:100%;margin-top:14px;padding:13px 15px;border:1px solid #74895a77;border-radius:8px;background:linear-gradient(110deg,#253426,#131b17);color:#e7d3a1;text-align:left;cursor:pointer}.gg-growth-entry>i:first-child{font-size:17px;color:#d9c078}.gg-growth-entry>span{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.gg-growth-entry b{font-size:12px}.gg-growth-entry small{color:#a6b29a;font-size:10px;line-height:1.5}.gg-growth-entry>i:last-child{color:#9fa98b}
@media(max-width:900px){#panel.gem-growth-panel{width:min(100vw,760px)}#panel.gem-growth-panel #panel-body{padding:14px 13px 24px}.gem-growth-page{gap:11px}.gg-hero{padding:16px;gap:10px}.gg-hero h2{font-size:21px}.gg-hero p{font-size:10px}.gg-wallet{min-width:94px;padding:10px}.gg-wallet b{font-size:19px}.gg-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.gg-guarantee{grid-template-columns:32px minmax(0,1fr);align-items:start;padding:11px}.gg-guarantee-icon{width:29px;height:29px;font-size:14px}.gg-quality-key{grid-column:1/-1;justify-content:flex-start}.gg-system{padding:14px}.gg-node-track ol{grid-template-columns:repeat(2,minmax(0,1fr))}.gg-gear-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gg-weekly-grid{grid-template-columns:1fr}.gg-weekly-card{padding:12px}.gg-weekly-card>p{margin:9px 0 4px}.gg-muted{margin-bottom:9px}.gg-preset-prices>span{align-items:flex-start;flex-direction:column}.gg-preset-prices>span i{position:absolute;right:8px;top:8px}}
@media(max-width:560px){.gg-hero{align-items:flex-start;flex-direction:column}.gg-wallet{width:100%;box-sizing:border-box;text-align:left}.gg-summary>div{padding:10px}.gg-summary b{font-size:16px}.gg-section-head h3{font-size:18px}.gg-section-icon{flex-basis:33px;width:33px;height:33px;font-size:15px}.gg-counter{font-size:9px;padding:5px 7px}.gg-node-track{max-height:330px}.gg-node-track ol{grid-template-columns:1fr;padding:4px 9px}.gg-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gg-odds-list{grid-template-columns:1fr}.gg-odds-row{grid-template-columns:68px 40px minmax(0,1fr)}.gg-gear-grid{grid-template-columns:1fr}.gg-gear-card>p{min-height:0}.gg-weekly-grid{grid-template-columns:1fr}.gg-preset-prices{grid-template-columns:1fr}.gg-preset-prices>span{align-items:center;flex-direction:row}.gg-guarantee p{font-size:9px}.gg-quality-key{gap:4px}.gg-quality{font-size:8px;padding:4px 6px}.gg-intro{font-size:10px}.gg-last-result b{font-size:10px}}
/* 원옥 품질 정련 */
.gg-wallet>small{display:block;margin-top:7px;color:#cfb67e;font-size:10px}
.gg-refine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gg-refine-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:11px;border:1px solid #8e785255;border-radius:6px;background:linear-gradient(145deg,#211e17,#121a16)}
.gg-refine-card>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.gg-refine-card>div>b{overflow:hidden;color:#e0d8bd;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.gg-refine-card>div>small{color:#a4b19d;font-size:9px}
.gg-refine-step{color:#d9c48e;font-size:10px}
.gg-refine-card>.btn{width:100%;min-height:35px;margin-top:auto;font-size:9px;white-space:normal}
.gg-empty-refine{grid-column:1/-1;margin:0;padding:18px;border:1px dashed #6b755355;border-radius:5px;color:#9eaa8e;font-size:10px;text-align:center}
@media(max-width:900px){.gg-refine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.gg-refine-grid{grid-template-columns:1fr}}
/* 천하방 순위 항목은 키보드·포인터로 열 수 있습니다. */
.cr-podium[role="button"],.cr-row[role="button"]{cursor:pointer}
.cr-podium[role="button"]:hover,.cr-row[role="button"]:hover{filter:brightness(1.12)}
.cr-podium[role="button"]:focus-visible,.cr-row[role="button"]:focus-visible{outline:2px solid #e2ca95;outline-offset:3px;position:relative;z-index:2}
.profile-heading .profile-faction{color:#d1ba84}

/* 로컬 강호 소식 — 서버 채팅/세계 알림과 분리된 캐릭터 사건 연대기 */
#panel.world-news-panel{width:min(760px,94vw);background:#11130f;border-color:#66563d}
#panel.world-news-panel #panel-body{padding:15px 18px 22px;scrollbar-color:#74603d #15150f}
.world-news-page{display:flex;flex-direction:column;gap:12px;color:#e3ddc9}
.world-news-hero{position:relative;overflow:hidden;padding:21px 22px;border:1px solid #776542;border-radius:10px;background:radial-gradient(ellipse at 83% 15%,#9b774626,transparent 52%),repeating-linear-gradient(135deg,#ffffff07 0 1px,transparent 1px 20px),linear-gradient(135deg,#252117,#171913 62%,#1a2119)}
.world-news-eyebrow{color:#c7a96a;font-size:9px;letter-spacing:2.5px}
.world-news-hero h2{margin:8px 0 6px;color:#f0dfb4;font:27px/1.2 Georgia,serif;letter-spacing:3px}
.world-news-hero p{max-width:470px;margin:0;color:#a9a58f;font-size:10px;line-height:1.7}
.world-news-count{position:absolute;right:19px;bottom:17px;display:flex;align-items:center;gap:6px;color:#a89d7c;font-size:9px}
.world-news-count i{color:#d6bd7b}.world-news-count b{color:#ead9ac;font-size:16px;font-variant-numeric:tabular-nums}
.world-news-filters{display:flex;gap:6px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:thin}
.world-news-filters button{flex:0 0 auto;padding:7px 11px;border:1px solid #4c493b;border-radius:20px;background:#1a1b16;color:#aaa78f;font-size:9px;cursor:pointer}
.world-news-filters button[aria-pressed="true"]{border-color:#a98b54;background:#3a3020;color:#efdbad;box-shadow:inset 0 0 0 1px #a98b5433}
.world-news-filters button:focus-visible{outline:2px solid #e2c98e;outline-offset:2px}
.world-news-list{display:flex;flex-direction:column;gap:7px}
.world-news-entry{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:11px 12px;border:1px solid #34352b;border-left:2px solid #82724f;border-radius:6px;background:linear-gradient(100deg,#1c1c16,#151711);box-shadow:inset 0 1px #ffffff05}
.world-news-entry.kind-boss{border-left-color:#ba765f}.world-news-entry.kind-arena{border-left-color:#9b6b63}.world-news-entry.kind-loot{border-left-color:#b99959}.world-news-entry.kind-rival{border-left-color:#8b7aaa}.world-news-entry.kind-field{border-left-color:#79906f}
.world-news-icon{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border:1px solid #75644366;border-radius:7px;background:#262318;color:#ceb77b;font-size:12px}
.kind-boss .world-news-icon{color:#df9b83}.kind-arena .world-news-icon{color:#d29c8f}.kind-loot .world-news-icon{color:#e1c273}.kind-rival .world-news-icon{color:#c4addc}.kind-field .world-news-icon{color:#b4c597}
.world-news-copy{min-width:0;flex:1}
.world-news-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px;min-width:0}
.world-news-meta>b{color:#e7dcbf;font-size:10px}
.world-news-meta>span{padding:2px 5px;border:1px solid #595341;border-radius:3px;color:#b1a783;font-size:8px}
.world-news-meta time{margin-left:auto;color:#858474;font-size:8px;font-variant-numeric:tabular-nums;white-space:nowrap}
.world-news-copy p{margin:6px 0 0;color:#b6b3a1;font-size:10px;line-height:1.65;overflow-wrap:anywhere}
.world-news-copy small{display:block;margin-top:5px;color:#807f70;font-size:8px}
.world-news-empty{display:flex;align-items:center;flex-direction:column;gap:9px;padding:35px 15px;border:1px dashed #4b4939;border-radius:8px;background:#191a14;color:#a6a18c;text-align:center}
.world-news-empty>i{color:#b49a63;font-size:23px}.world-news-empty>b{color:#e0d5b4;font-size:11px}.world-news-empty>span{max-width:340px;color:#929181;font-size:9px;line-height:1.7}
.world-news-foot{padding:9px 11px;border-top:1px solid #35352a;color:#858777;font-size:8px;line-height:1.7}
.world-news-foot i{margin-right:5px;color:#b5a271}
@media(max-width:650px){#panel.world-news-panel{width:100%;height:94dvh}#panel.world-news-panel #panel-body{padding:11px 12px 20px}.world-news-hero{padding:17px 15px 44px}.world-news-hero h2{font-size:23px}.world-news-count{right:14px;bottom:13px}.world-news-entry{gap:8px;padding:9px}.world-news-icon{flex-basis:27px;width:27px;height:27px}.world-news-copy p{font-size:9px}.world-news-meta>time{margin-left:0}}

/* 역할 조합은 다음 동료 무공 연계를 위한 표시 전용 기반입니다. */
.cc-party-tactics{margin:12px 0;padding:12px;border:1px solid #5a4d3e;border-radius:9px;background:linear-gradient(130deg,#211d1c,#17181a)}
.cc-party-role-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.cc-party-role{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 9px;border:1px solid #463d34;border-radius:6px;background:#1c1a1a;color:#ad9d87;font-size:9px}
.cc-party-role strong{color:#e2ca93;font-size:14px;font-variant-numeric:tabular-nums}
.cc-party-synergies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}
.cc-party-synergy{min-width:0;padding:9px;border:1px solid #403a37;border-radius:6px;background:#19181a}
.cc-party-synergy.is-ready{border-color:#68724c;background:linear-gradient(135deg,#253023,#191a18)}
.cc-party-synergy>div{display:flex;align-items:center;justify-content:space-between;gap:6px}
.cc-party-synergy>div>b{color:#d6c8a9;font-size:9px}
.cc-party-synergy>div>span{color:#968b78;font-size:7px;text-align:right}
.cc-party-synergy.is-ready>div>span{color:#c0d098}
.cc-party-synergy p{min-height:27px;margin:6px 0;color:#a59c8c;font-size:8px;line-height:1.55}
.cc-party-synergy>small{display:block;color:#8f8879;font-size:7px;line-height:1.5}
.cc-party-synergy.is-ready>small{color:#9eaf86}
.cc-party-tactics>p{margin:9px 1px 0;color:#8e897c;font-size:8px;line-height:1.6}
@media(max-width:600px){.cc-party-tactics{padding:9px}.cc-party-role-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-party-synergies{grid-template-columns:1fr}.cc-party-synergy p{min-height:0}.cc-party-synergy>div>b{font-size:10px}.cc-party-synergy>div>span,.cc-party-synergy>small{font-size:8px}}

/* 보석 성장: grouped submenu navigation, resource guidance, and accessible tab movement */
.gg-access-note{display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid #9b754d66;border-left:3px solid #d3a967;border-radius:6px;background:linear-gradient(100deg,#2c2419,#1b1d18);color:#d7c49d;font-size:10px;line-height:1.6}
.gg-access-note>i{flex:0 0 auto;color:#e0bb78}
.gg-growth-content,.gg-subpage{min-width:0}
.gg-submenu-home{padding:16px;border:1px solid var(--gg-line);border-radius:8px;background:linear-gradient(145deg,#19251f,#121a17)}
.gem-growth-page .gg-submenu-home[hidden],.gem-growth-page .gg-subpage[hidden],.gem-growth-page [data-gg-panel][hidden]{display:none!important}
.gg-submenu-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.gg-submenu-header h3{margin:4px 0;color:#eee0bd;font:20px Georgia,'Noto Serif KR',serif}
.gg-submenu-header p{margin:0;color:#aeb9a5;font-size:10px;line-height:1.7}
.gg-submenu-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.gg-submenu-group{min-width:0;padding:11px;border:1px solid #68795666;border-radius:7px;background:linear-gradient(145deg,#17221b,#111915)}
.gg-submenu-group>h3{margin:0 0 8px;color:#c6ac71;font-size:10px;letter-spacing:.06em}
.gg-submenu-group>div{display:grid;gap:6px}
.gg-submenu-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto 12px;align-items:center;gap:9px;width:100%;min-width:0;min-height:62px;padding:9px;border:1px solid #ffffff12;border-radius:6px;background:#101814;color:#e4d8b9;font:inherit;text-align:left;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}
.gg-submenu-card:hover{transform:translateY(-1px);border-color:#b89d5e99;background:#20291f}
.gg-submenu-card:focus-visible{outline:2px solid #eed18d;outline-offset:2px}
.gg-submenu-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #9b8a5d66;border-radius:7px;background:#20251c;color:#dfc47e}
.gg-submenu-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.gg-submenu-copy>b{overflow:hidden;color:#e6d8b5;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.gg-submenu-copy>small{color:#9da995;font-size:8px;line-height:1.5}
.gg-submenu-count{padding:4px 6px;border:1px solid #77855d55;border-radius:4px;background:#19221a;color:#cbd5a9;font-size:8px;white-space:nowrap}
.gg-submenu-arrow{color:#8f987d;font-size:9px}
.gg-subpage{min-width:0}
.gg-back-menu{display:inline-flex;align-items:center;gap:7px;min-height:34px;margin:0 0 9px;padding:6px 10px;border:1px solid #77855d66;border-radius:5px;background:#151e18;color:#d8c695;font:inherit;font-size:10px;cursor:pointer}
.gg-back-menu:hover{border-color:#c6a868;color:#f0dfb7}
.gg-panels{min-width:0}
.gg-complete-note{margin:0;padding:12px;border:1px solid #788b6255;border-radius:5px;background:#17231a;color:#b8c9a6;font-size:10px;line-height:1.7}
.gg-cost-warning{display:block;margin:5px 0;padding:7px 9px;border:1px solid #a47a4855;border-radius:4px;background:#2a2118;color:#e1bc83;font-size:9px;line-height:1.55}
.gg-gear-card>.gg-cost-warning{margin:0 0 8px}
.gg-weekly-card>.gg-cost-warning{margin:0 0 9px}
.gg-refine-card>.gg-cost-warning{margin:0}
@media(max-width:900px){.gg-submenu-groups{gap:8px}.gg-submenu-group{padding:9px}.gg-submenu-card{grid-template-columns:32px minmax(0,1fr) auto 10px;gap:7px;padding:8px}}
@media(max-width:560px){.gg-submenu-home{padding:11px}.gg-submenu-groups{grid-template-columns:1fr}.gg-submenu-header h3{font-size:18px}.gg-submenu-header p{font-size:9px}.gg-submenu-group{padding:9px}.gg-submenu-card{min-height:58px}.gg-submenu-copy>small{font-size:8px}}
@media(max-width:560px){.gg-access-note{align-items:flex-start;padding:9px;font-size:9px}.gg-cost-warning{font-size:9px}}

/* 출석: 실제 월간 달력과 30일 보상 */
.attendance-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:5px;text-align:center}
.attendance-calendar-weekdays>span{padding:5px 2px;color:#aaa58f;font-size:9px;font-weight:700}
.attendance-calendar-weekdays>span:last-child{color:#c68e83}
.attendance-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.attendance-day{display:flex;flex-direction:column;min-height:112px;padding:8px 6px}
.attendance-day-head{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:6px}
.attendance-day-head>b{font-size:10px}
.attendance-day-head>span{max-width:100%;overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.attendance-calendar-full{display:flex;flex-wrap:wrap;gap:3px}
.attendance-calendar-compact{display:none}
.attendance-calendar-spacer{min-height:1px}
.attendance-day.future{opacity:.72}
.attendance-day.pending{border-style:dashed;border-color:#c49a56}
.attendance-day.no-reward{border-style:dashed;opacity:.62}
.attendance-day.before-start{opacity:.5}
.attendance-no-reward{color:#8f907d;font-size:8px;line-height:1.4}
.attendance-gem-cap{margin-top:9px;padding-top:8px;border-top:1px solid #84704744}
.attendance-gem-cap>span{display:flex;justify-content:space-between;gap:6px;color:#a9a489;font-size:8px}
.attendance-gem-cap b{color:#d7bf83;font-variant-numeric:tabular-nums}
.attendance-gem-cap progress{display:block;width:100%;height:5px;margin-top:5px;accent-color:#c9a75d}
.attendance-hero.month-ended{border-color:#647151}
@media(max-width:900px){.attendance-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.attendance-day{min-height:98px;padding:7px 4px}.attendance-day-head>span{font-size:7px}.attendance-calendar-full .attendance-reward-chip{white-space:normal;gap:3px;padding:4px}}
@media(max-width:560px){.attendance-calendar-weekdays{gap:3px}.attendance-calendar-weekdays>span{padding:4px 1px;font-size:8px}.attendance-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.attendance-day{min-height:61px;padding:5px 3px;border-radius:6px}.attendance-day-head{gap:3px;margin-bottom:4px}.attendance-day-head>b{font-size:8px}.attendance-day-head>span{font-size:6px;line-height:1.2}.attendance-calendar-full{display:none}.attendance-calendar-compact{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.attendance-calendar-compact>b{color:#e2cc90;font-size:8px;font-variant-numeric:tabular-nums}.attendance-calendar-compact>small{color:#9a9a83;font-size:6px}.attendance-no-reward{font-size:6px}.attendance-gem-cap>span{font-size:7px}.attendance-gem-cap b{font-size:7px}}
