:root{--bg: #0f0d0a;--bg-2: #1a1613;--bg-3: #231d18;--fg: #e6d9c2;--fg-dim: #988871;--accent: #ffc34c;--border: #3a2e23;--slot-bg: #110d09;--slot-border: #443525}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:Friz Quadrata,Palatino,Georgia,serif;min-height:100vh}body{background-image:radial-gradient(ellipse at top,rgba(255,195,76,.06),transparent 60%),linear-gradient(180deg,#0f0d0a,#05040a)}.app{max-width:1200px;margin:0 auto;padding:24px 20px 80px}.app.loading,.app.error{text-align:center;padding-top:20vh;color:var(--fg-dim)}.char-header{border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:24px}.char-name{font-size:42px;font-weight:700;letter-spacing:1px;text-shadow:0 0 12px rgba(255,195,76,.2)}.char-sub{font-size:16px;display:flex;flex-wrap:wrap;gap:12px;margin-top:4px;color:var(--fg-dim)}.char-sub .guild{color:#a0ffa0;font-style:italic}.char-meta{margin-top:8px;display:flex;gap:18px;color:var(--fg-dim);font-size:14px;flex-wrap:wrap}.char-meta .updated{margin-left:auto;font-style:italic;color:#6a5a45}main{display:grid;grid-template-columns:1fr 340px;gap:28px}@media (max-width: 900px){main{grid-template-columns:1fr}}.paperdoll{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:var(--bg-2);border:1px solid var(--border);padding:24px;border-radius:6px;position:relative}.paperdoll-col{display:flex;flex-direction:column;gap:10px}.paperdoll-center{grid-column:span 2;grid-row:1;text-align:center;order:-1;display:flex;justify-content:center;align-items:center;margin-bottom:16px}.portrait{background:linear-gradient(135deg,var(--bg-3),#0a0806);border:1px solid var(--border);padding:18px 30px;border-radius:4px}.portrait-name{font-size:22px;color:var(--accent);letter-spacing:1px}.portrait-sub{color:var(--fg-dim);font-size:13px;margin-top:4px}.paperdoll-bottom{grid-column:span 2;display:flex;justify-content:center;gap:10px;margin-top:12px}.item-slot{display:flex;align-items:center;gap:12px;background:var(--slot-bg);border:1px solid var(--slot-border);padding:8px 12px 8px 8px;min-height:60px;text-decoration:none;color:var(--fg);transition:background .15s,border-color .15s,transform .1s;border-radius:3px;overflow:hidden}.item-slot:hover{background:#1a130c;border-color:var(--accent)!important;transform:translateY(-1px)}.item-slot-icon{flex:0 0 44px;width:44px;height:44px;border:1px solid #000;background:#000;position:relative;overflow:hidden;transition:box-shadow .15s}.item-slot-icon img{display:block;width:100%;height:100%;object-fit:cover;background-repeat:no-repeat}.item-slot-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.item-slot-label{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--fg-dim);line-height:1}.item-slot-name{font-size:14px;line-height:1.2;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-slot-meta{font-size:11px;color:var(--fg-dim);line-height:1}.item-slot-empty{opacity:.55}.item-slot-empty .item-slot-icon{background:linear-gradient(135deg,transparent calc(50% - .5px),#2a2118 calc(50% - .5px),#2a2118 calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(45deg,transparent calc(50% - .5px),#2a2118 calc(50% - .5px),#2a2118 calc(50% + .5px),transparent calc(50% + .5px)),#0a0806;border-color:#2a2118}.item-slot-empty-label{font-style:italic;color:var(--fg-dim)}.stats-panel{background:var(--bg-2);border:1px solid var(--border);padding:16px 20px;border-radius:6px}.stats-panel section{margin-bottom:18px}.stats-panel h3{margin:0 0 8px;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border);padding-bottom:4px}.stat-row{display:flex;justify-content:space-between;padding:2px 0;font-size:14px}.stat-label{color:var(--fg-dim)}.stat-value{color:var(--fg);font-variant-numeric:tabular-nums}.talents{background:var(--bg-2);border:1px solid var(--border);padding:16px 20px;border-radius:6px;margin-top:18px}.talents h3{margin:0 0 10px;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}.talent-distribution{display:flex;gap:8px;border:1px solid var(--border);padding:10px;border-radius:4px}.talent-tab{flex:1;text-align:center}.talent-tab-name{font-size:12px;color:var(--fg-dim)}.talent-tab-points{font-size:20px;font-weight:700}.talent-total{text-align:center;color:var(--fg-dim);font-size:12px;margin-top:6px}footer{text-align:center;margin-top:50px;color:var(--fg-dim);font-size:12px}
