:root{--bg: #0e1116;--bg-elevated: #171c26;--bg-card: #1d2430;--border: #2a3342;--text: #e6e9ef;--text-dim: #97a0b0;--gold: #d8b96a;--gold-bright: #f0d089;--accent: #5b8def;--danger: #e5716f;--tier-basic: #6fbf73;--tier-intermediate: #e0c34c;--tier-expert: #e5716f;--radius: 10px;--radius-sm: 7px;--shadow: 0 6px 20px rgba(0, 0, 0, .35);--maxw: 960px;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(1200px 600px at 50% -200px,#1a2333,var(--bg));color:var(--text);line-height:1.5}a{color:inherit;text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--border);background:#0e1116b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-size:26px;color:var(--gold);filter:drop-shadow(0 0 6px rgba(216,185,106,.5))}.brand-text{display:flex;flex-direction:column;font-weight:700;letter-spacing:.3px}.brand-text small{font-weight:400;font-size:12px;color:var(--text-dim)}.mock-badge{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--gold-bright);border:1px solid var(--gold);border-radius:999px;padding:3px 10px;background:#d8b96a14}.app-main{flex:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:32px 24px 56px}.app-footer{text-align:center;padding:20px;font-size:12px;color:var(--text-dim);border-top:1px solid var(--border)}.page-title{font-size:30px;margin:0 0 6px}.page-subtitle{color:var(--text-dim);margin:0 0 24px}.search-form{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.input{flex:1 1 260px;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:15px;outline:none;transition:border-color .15s}.input--server{flex:0 1 200px}.input:focus{border-color:var(--gold)}.button{padding:12px 22px;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#201a0c;font-weight:700;font-size:15px;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:transform .08s,filter .15s}.button:hover{filter:brightness(1.05)}.button:active{transform:translateY(1px)}.result-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.result-card{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,transform .08s}.result-card:hover{border-color:var(--gold);transform:translateY(-1px)}.result-info{display:flex;flex-direction:column}.result-info small{color:var(--text-dim)}.result-arrow{margin-left:auto;color:var(--gold);font-size:20px}.avatar{border-radius:50%;object-fit:cover;border:2px solid var(--border);background:var(--bg-elevated);flex-shrink:0}.avatar--fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--gold);background:linear-gradient(135deg,#232c3a,#171c26)}.back-link{display:inline-block;color:var(--text-dim);margin-bottom:20px;transition:color .15s}.back-link:hover{color:var(--gold)}.char-header{position:relative;display:grid;grid-template-columns:auto 1fr;gap:8px 24px;align-items:center;padding:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:32px}.refresh-control{position:absolute;top:14px;right:16px;display:flex;align-items:center;gap:8px}.refresh-label{font-size:11px;color:var(--text-dim);white-space:nowrap}.refresh-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);color:var(--gold-bright);cursor:pointer;transition:border-color .15s,color .15s}.refresh-button:hover:not(:disabled){border-color:var(--gold)}.refresh-button:disabled{color:var(--text-dim);opacity:.5;cursor:not-allowed}.refresh-icon{font-size:16px;line-height:1}.refresh-icon--spin{animation:refresh-spin .8s linear infinite}@keyframes refresh-spin{to{transform:rotate(360deg)}}.char-identity{display:flex;flex-direction:column;gap:2px}.char-title{margin:0;color:var(--gold);font-size:13px;font-style:italic}.char-name{margin:0;font-size:28px}.char-world,.char-race{margin:0;color:var(--text-dim);font-size:14px}.stat-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.stat-card{display:flex;flex-direction:column;gap:2px;padding:12px 16px;min-width:120px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.stat-value{font-size:18px;font-weight:700;color:var(--gold-bright)}.stat-label{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px}.section-title{font-size:20px;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.job-levels-section{margin-bottom:36px}.job-levels{display:flex;flex-direction:column;gap:20px}.job-role-title{margin:0 0 10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim)}.job-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px}.job-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:transform .08s,border-color .15s}.job-card:hover{transform:translateY(-2px);border-color:var(--gold)}.job-card--max{border-color:var(--gold);background:linear-gradient(180deg,rgba(216,185,106,.14),var(--bg-card))}.job-card--unstarted{opacity:.45}.job-abbr{font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--text-dim)}.job-level{font-size:18px;font-weight:700}.job-card--max .job-level{color:var(--gold-bright)}.job-exp-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--bg-elevated)}.job-exp-fill{display:block;height:100%;background:var(--accent)}.category-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.chip{padding:6px 14px;font-size:13px;background:var(--bg-elevated);color:var(--text-dim);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:all .15s}.chip:hover{color:var(--text)}.chip--active{background:#d8b96a1f;color:var(--gold-bright);border-color:var(--gold)}.category-filter--sub{margin-top:-8px;padding-bottom:12px;border-bottom:1px solid var(--border)}.chip--sub{padding:4px 11px;font-size:12px}.achievement-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.achievement-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:var(--radius-sm);transition:transform .08s,border-color .15s}.achievement-card:hover{transform:translateY(-2px);border-left-color:var(--gold-bright);z-index:30}.achievement-tip{position:absolute;bottom:calc(100% + 7px);left:0;right:0;z-index:40;padding:8px 11px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;line-height:1.4;color:var(--text);box-shadow:0 14px 34px #000c,0 0 20px -4px #d8b96a73,0 0 0 1px #00000080;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .12s,transform .12s;pointer-events:none}.achievement-card:hover .achievement-tip,.rec-card:hover .achievement-tip{opacity:1;visibility:visible;transform:translateY(0)}.achievement-card--unearned{border-left-color:var(--border)}.achievement-card--unearned>*:not(.achievement-tip){opacity:.62}.achievement-card--unearned:hover{border-left-color:var(--text-dim)}.achievement-card--unearned:hover>*:not(.achievement-tip){opacity:.85}.achievement-card--unearned .achievement-points{color:var(--text-dim)}.achievement-status{color:var(--text-dim);font-style:italic}.achievement-status--earned{color:var(--tier-basic);font-style:normal}.achievement-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.achievement-name{font-weight:600;font-size:14px}.achievement-points{flex-shrink:0;font-size:12px;font-weight:700;color:var(--gold)}.achievement-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:12px;color:var(--text-dim)}.tag{padding:2px 8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;font-size:11px;white-space:nowrap}.achievement-meta>:last-child{margin-left:auto}.empty-hint{color:var(--text-dim);font-style:italic}.collectible-panel{display:flex;flex-direction:column;gap:14px}.rarity-tracker{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 24px;padding:16px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.tab-panel>.rarity-tracker{margin-bottom:20px}.collectible-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.collectible-search{flex:1 1 220px;max-width:340px;padding:8px 12px;font-size:13px;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.collectible-search:focus{outline:none;border-color:var(--gold)}.collectible-sort-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim)}.collectible-sort{padding:8px 10px;font-size:13px;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.segmented-btn{padding:8px 14px;font-size:13px;color:var(--text-dim);background:var(--bg-elevated);border:none;border-left:1px solid var(--border);cursor:pointer;white-space:nowrap}.segmented-btn:first-child{border-left:none}.segmented-btn--active{color:var(--bg);background:var(--gold);font-weight:600}.collectible-card--unearned{opacity:.62}.collectible-card--unearned .collectible-icon{filter:grayscale(.7)}.collectible-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.collectible-card{display:flex;align-items:stretch;gap:10px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.collectible-icon{flex-shrink:0;align-self:center;width:40px;height:40px;border-radius:6px;object-fit:cover;background:var(--bg-elevated)}.collectible-icon--fallback{border:1px dashed var(--border)}.collectible-text{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:3px;min-width:0}.collectible-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collectible-text .rarity-badge{font-size:11px}.collectible-sub{display:flex;align-items:center;gap:8px}.collectible-patch{margin-left:auto;font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.state-message{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;text-align:center;background:var(--bg-elevated);border:1px dashed var(--border);border-radius:var(--radius)}.state-message--error{border-color:var(--danger);background:#e5716f0f}.state-icon{font-size:36px}.state-title{margin:0;font-weight:600;font-size:17px}.state-detail{margin:0;max-width:460px;color:var(--text-dim);font-size:14px}.dash-column-title{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);font-weight:600}.dashboard-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;padding:20px 24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px}.dash-column{display:flex;flex-direction:column;gap:14px;min-width:0}.stat-bar{display:flex;flex-direction:column;gap:5px}.stat-bar-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;gap:8px}.stat-bar-label{font-weight:600;white-space:nowrap}.stat-bar-value{color:var(--text-dim);white-space:nowrap}.stat-bar-value small{font-size:11px}.stat-bar-track{height:6px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);overflow:hidden}.stat-bar-fill{height:100%;border-radius:999px;background:var(--accent)}.stat-bar-fill--basic{background:var(--tier-basic)}.stat-bar-fill--intermediate{background:var(--tier-intermediate)}.stat-bar-fill--expert{background:var(--tier-expert)}.stat-bar--unavailable .stat-bar-value{font-style:italic;color:var(--text-dim);opacity:.7}.stat-bar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:20px}.stat-bar-select{display:block;width:100%;text-align:left;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:inherit;font:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .08s}.stat-bar-select:hover{border-color:var(--gold)}.stat-bar-select:active{transform:translateY(1px)}.stat-bar-select--active{border-color:var(--gold);background:#d8b96a1a}.stat-bar-select--static{cursor:default;opacity:.6}.stat-bar-select--static:hover{border-color:var(--border)}.duty-detail{margin-top:24px}.rec-intro{color:var(--text-dim);font-size:14px;line-height:1.5;margin:0 0 20px;max-width:70ch}.rec-section{margin-bottom:28px}.rec-section-hint{color:var(--text-dim);font-size:13px;margin:-6px 0 14px}.rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.rec-card{position:relative;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:8px}.rec-card:hover{z-index:30}.rec-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.rec-name{font-weight:700;font-size:14px}.rec-points{font-size:12px;color:var(--text-dim);white-space:nowrap}.rec-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rec-tag{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--bg-elevated, #22242b);color:var(--text-dim)}.rec-tag--exp{background:transparent;border:1px solid var(--border)}.rec-reason{font-size:12px;color:var(--text-dim)}.rec-reason strong{color:var(--text);font-weight:600}.hunt-card{padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:6px}.hunt-card--farm{border-left-color:var(--gold)}.hunt-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.hunt-mount{font-weight:700;font-size:14px}.hunt-status{font-size:11px;color:var(--text-dim);white-space:nowrap}.hunt-status--farm{color:var(--gold-bright);font-weight:600}.hunt-source{font-size:12px;color:var(--text-dim)}.rarity-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600}.rarity-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.rarity-pct{color:var(--text-dim);font-weight:400}.side-content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.side-card{display:block;width:100%;text-align:left;padding:16px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:inherit;font:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .08s}.side-card:hover{border-color:var(--gold)}.side-card:active{transform:translateY(1px)}.side-card--selected{border-color:var(--gold);background:#d8b96a14}.side-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.side-card-title{font-weight:700;font-size:15px}.side-card-count{font-size:13px;color:var(--gold-bright);font-weight:700;white-space:nowrap}.side-card-count small{color:var(--text-dim);font-weight:400}.side-card-bar{height:8px;margin-bottom:14px}.side-exp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.side-exp-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px}.side-exp-label{font-size:12px;font-weight:600;color:var(--text-dim)}.side-exp-track{height:6px}.side-exp-count{font-size:11px;color:var(--text-dim);white-space:nowrap;min-width:42px;text-align:right}.compact-stat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.compact-stat-list li{display:flex;justify-content:space-between;gap:10px;font-size:13px}.compact-stat-label{color:var(--text-dim)}.compact-stat-value{font-weight:700;color:var(--gold-bright)}.compact-stat-value--muted{font-weight:400;font-style:italic;color:var(--text-dim);opacity:.7}.tabs{margin-top:8px}.tabs-bar{display:flex;flex-wrap:nowrap;gap:2px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.tabs-bar::-webkit-scrollbar{display:none}.tab-button{flex:none;padding:10px 12px;font-size:14px;font-weight:600;white-space:nowrap;color:var(--text-dim);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.tab-button:hover{color:var(--text)}.tab-button--active{color:var(--gold-bright);border-bottom-color:var(--gold)}.section-subtitle{font-size:15px;margin:24px 0 14px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.quest-subgroup-title{font-size:12px;font-weight:600;margin:16px 0 10px;color:var(--text-dim);letter-spacing:.4px;opacity:.85}.next-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.next-section-card{display:flex;flex-direction:column;gap:3px}.next-section-card-title{font-size:1.05rem;font-weight:700}.next-section-card--active .next-section-card-title,.stat-bar-select--active .next-section-card-title{color:var(--gold-bright)}.next-section-card-count{font-size:.85rem;color:var(--text-dim)}.next-group{margin-bottom:8px}.next-more{margin:8px 0 0;font-size:12px;font-style:italic;color:var(--text-dim)}.section-count{color:var(--gold-bright);font-weight:700;text-transform:none;letter-spacing:0}.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}.tier-grid--uniform{grid-auto-rows:1fr}.tier-card{padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:10px}.tier-card--complete{border-left:3px solid var(--gold)}.tier-card--image{background-image:linear-gradient(#0e101685,#0e1016cc),var(--card-image);background-size:cover;background-position:center;background-repeat:no-repeat}.tier-card--image .tier-name,.tier-card--image .tier-series,.tier-card--image .clear-bar-label,.tier-card--image .clear-bar-count,.tier-card--image .alliance-raid-row{text-shadow:0 1px 4px rgba(0,0,0,.95)}.alliance-raid-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.alliance-raid-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim)}.alliance-raid-row--cleared{color:var(--text)}.alliance-raid-mark{flex-shrink:0;width:14px;text-align:center;font-weight:700;color:var(--border)}.alliance-raid-row--cleared .alliance-raid-mark{color:var(--gold-bright)}.alliance-raid-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.society-card{min-height:130px}.tier-card-header.job-quest-header{flex-direction:row;justify-content:space-between;align-items:baseline;gap:10px}.job-quest-level{flex-shrink:0;font-size:13px;font-weight:700;color:var(--gold-bright)}.job-quest-level-next{color:var(--text-dim);font-weight:600}.society-rank{margin-left:auto;padding-left:8px;font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.tier-card-header{display:flex;flex-direction:column;gap:2px}.tier-name{font-weight:700}.tier-series{font-size:12px;color:var(--text-dim)}.tier-badges{display:flex;flex-wrap:wrap;gap:8px}.tier-badges+.tier-badges{margin-top:8px}.tier-badge{padding:4px 10px;font-size:12px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-dim)}.tier-badge--cleared,.tier-badge--owned{color:var(--gold-bright);border-color:var(--gold)}.clear-bars{display:flex;flex-direction:column;gap:8px}.clear-bar-row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:10px}.clear-bar-row--wide{grid-template-columns:84px 1fr auto}.clear-bar-label{font-size:12px;color:var(--text-dim)}.clear-bar-track{position:relative;height:8px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);overflow:hidden}.clear-bar-fill{height:100%;border-radius:999px}.clear-bar-fill--green{background:var(--tier-basic)}.clear-bar-fill--blue{background:var(--accent)}.clear-bar-fill--gold{background:var(--gold-bright)}.clear-bar-tick{position:absolute;top:0;bottom:0;width:1px;background:#00000059;z-index:1}.clear-bar-tick--1{left:10%}.clear-bar-tick--5{left:50%}.clear-bar-count{font-size:11px;color:var(--text-dim);white-space:nowrap}@media (max-width: 780px){.tier-grid{grid-template-columns:1fr}}@media (max-width: 560px){.char-header{grid-template-columns:1fr;justify-items:center;text-align:center}.char-identity{align-items:center}}.relic-category-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:14px}.relic-category-row .side-card{display:flex;flex-direction:column;align-items:stretch}.relic-expansion-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.relic-expansion-grid .side-exp-list:empty{display:none}.relic-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-top:12px}.relic-role-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.relic-role-card--complete{border-left:3px solid var(--gold)}.relic-role-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border)}.relic-role-count{color:var(--gold);font-weight:600}.relic-job{display:flex;align-items:center;gap:8px;padding:5px 0}.relic-job-icon{width:26px;height:26px;flex:none}.relic-job-name{font-size:.9rem;font-weight:600;white-space:nowrap}.relic-job-name--done:after{content:" ✓";color:var(--tier-basic);font-weight:700}.relic-steps{display:flex;gap:5px;flex:none;margin-left:auto}.relic-step,.relic-milestone{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);overflow:hidden;display:grid;place-items:center}.relic-step img,.relic-milestone img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.5);opacity:.5;transition:filter .15s,opacity .15s}.relic-step--earned img{filter:none;opacity:1}.relic-step--earned{border-color:var(--gold)}.relic-step-blank{width:55%;height:55%;border-radius:3px;background:repeating-linear-gradient(45deg,var(--border),var(--border) 3px,transparent 3px,transparent 6px)}.relic-capstones{margin-top:16px}.relic-milestones{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}.relic-milestone{width:auto;height:auto;flex-direction:row;display:flex;align-items:center;gap:9px;padding:7px 9px;background:var(--bg-card)}.relic-milestone img{width:34px;height:34px;flex:none;border-radius:var(--radius-sm)}.relic-milestone-name{font-size:.8rem;color:var(--text-dim);line-height:1.2}.relic-milestone.relic-step--earned .relic-milestone-name{color:var(--text)}.job-prog-row{gap:9px}.job-prog-row .job-abbr{width:34px;flex:none}.job-prog-row .relic-job-name{flex:1;min-width:0}.job-prog-level{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none}.job-prog-level-num{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-elevated);font-size:.8rem;font-weight:700;color:var(--text-dim);font-variant-numeric:tabular-nums}.job-prog-level-num--max{border-color:var(--gold);color:var(--gold-bright);box-shadow:0 0 7px -2px var(--gold)}.job-prog-exp{width:34px;height:3px;border-radius:2px;background:var(--bg-elevated);overflow:hidden}.job-prog-exp-fill{display:block;height:100%;background:var(--accent)}.job-quest-pills{display:flex;gap:5px;flex-wrap:wrap;flex:none}.job-quest-pill{min-width:26px;padding:2px 6px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-dim);font-size:.72rem;font-weight:600;text-align:center;line-height:1.4}.job-quest-pill--earned{border-color:var(--gold);color:var(--gold-bright);background:color-mix(in srgb,var(--gold) 15%,transparent)}.job-quest-pill--role{min-width:34px;letter-spacing:.02em}.job-role-card{display:flex;flex-direction:column}.job-role-card .job-role-quests{margin-top:auto}.job-role-quests{display:flex;align-items:center;gap:9px;margin-top:8px;padding-top:9px;border-top:1px dashed var(--border)}.job-role-quests-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.job-role-quests .job-quest-pills{margin-left:auto}.job-quest-pills--master{margin-top:10px}.job-prog-icon{width:28px;height:28px;flex:none}.relic-role-head-label{display:flex;align-items:center;gap:6px}.job-role-icon{width:20px;height:20px;flex:none}.job-quest-tally{display:flex;align-items:center;gap:3px;flex:none}.job-quest-tally-icon{width:20px;height:20px;flex:none}.job-quest-tally-count{font-size:.8rem;font-weight:700;color:var(--text-dim);font-variant-numeric:tabular-nums}.job-quest-tally--done .job-quest-tally-count{color:var(--gold-bright)}.relic-role-count--partial{color:var(--text-dim)}.quest-progress-card{position:relative;overflow:hidden}.quest-card-watermark{position:absolute;right:-12px;bottom:-14px;width:84px;height:84px;opacity:.09;pointer-events:none;z-index:0}.quest-progress-card>.tier-card-header,.quest-progress-card>.clear-bars{position:relative;z-index:1}
