: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-header-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.char-header-right{display:flex;align-items:center;gap:10px}.char-name{font-size:42px;font-weight:700;letter-spacing:1px;text-shadow:0 0 12px rgba(255,195,76,.2)}.char-switcher{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-dim)}.char-switcher-label{letter-spacing:2px;text-transform:uppercase}.char-switcher-select{background:var(--bg-2);color:var(--fg);border:1px solid var(--border);padding:6px 10px;font-family:inherit;font-size:14px;border-radius:3px;cursor:pointer;min-width:240px;transition:border-color .15s,box-shadow .15s}.char-switcher-select:hover,.char-switcher-select:focus{outline:none;box-shadow:0 0 0 2px #ffc34c40}.char-switcher-select option{background:var(--bg-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}.add-view{max-width:780px;margin:0 auto;line-height:1.6}.add-view code{background:var(--bg-3);border:1px solid var(--border);padding:1px 6px;border-radius:3px;font-size:.92em;color:#f0d9a0;font-family:Consolas,Courier New,monospace;white-space:nowrap}.add-view-back{background:transparent;border:1px solid var(--border);color:var(--fg-dim);font-family:inherit;font-size:13px;padding:6px 12px;border-radius:3px;cursor:pointer;margin-bottom:24px;transition:color .15s,border-color .15s}.add-view-back:hover{color:var(--accent);border-color:var(--accent)}.add-view-title{font-size:36px;color:var(--accent);margin:0 0 8px;letter-spacing:1px}.add-view-lede{font-size:17px;color:var(--fg);margin:0 0 8px}.add-view-privacy{font-size:13px;color:var(--fg-dim);font-style:italic;margin:0 0 28px}.add-view-download{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:20px 24px;display:flex;align-items:center;gap:18px;margin-bottom:32px}.add-view-download-btn{background:linear-gradient(180deg,#3d2d18,#241a0e);color:var(--accent);border:1px solid var(--accent);padding:10px 22px;border-radius:3px;text-decoration:none;font-size:16px;font-weight:700;letter-spacing:.5px;transition:background .15s,transform .1s,box-shadow .15s}.add-view-download-btn:hover{background:linear-gradient(180deg,#54401f,#362712);box-shadow:0 0 12px #ffc34c4d;transform:translateY(-1px)}.add-view-download-note{color:var(--fg-dim);font-size:13px}.add-view-steps{padding-left:24px;margin:0 0 40px}.add-view-steps li{margin-bottom:14px}.add-view-steps li strong{color:var(--accent)}.add-view-troubleshooting-title{font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border);padding-bottom:4px;margin:32px 0 12px}.add-view-troubleshooting{padding-left:24px;color:var(--fg-dim);font-size:14px}.add-view-troubleshooting li{margin-bottom:8px}.add-view-troubleshooting em{color:var(--fg);font-style:normal}.add-view-back-link{text-align:center;margin-top:40px}.add-view-back-link a{color:var(--fg-dim);text-decoration:none;border-bottom:1px dotted var(--fg-dim)}.add-view-back-link a:hover{color:var(--accent);border-bottom-color:var(--accent)}
