:root{
  --bg:#0b0b0b;
  --panel:#7a5230;
  --panel-2:#5c3d27;
  --accent:#d5a869;
  --light:#d3b182;
  --white:#ffffff;
}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:Inter, Poppins, system-ui, -apple-system, 'Segoe UI', Roboto, Arial;color:var(--white);-webkit-font-smoothing:antialiased;}
.app{max-width:1100px;margin:26px auto;padding:10px}
.header h1{margin:0 0 12px 0;color:var(--light);text-align:center;font-size:1.45rem}

/* layout */
.layout{display:flex;gap:22px}
.left{width:360px;display:flex;flex-direction:column;align-items:center;gap:12px}
.right{flex:1;display:flex;flex-direction:column;gap:14px}

/* icons & character */
.icons-row{width:100%;display:flex;justify-content:space-between;align-items:center}
.icon{width:72px;height:72px;object-fit:contain;border-radius:8px;border:2px solid var(--accent);pointer-events:none;display:block;background:transparent}
.character-box{width:220px;height:320px;background:var(--light);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid rgba(0,0,0,0.18)}
.character-box img{max-width:100%;max-height:100%;object-fit:contain}

/* element info */
.element-info-panel{width:100%}
.element-title{color:var(--accent);font-weight:700;margin-bottom:6px;text-align:center}
.element-details{background:var(--panel-2);padding:10px;border-radius:8px;color:var(--white);white-space:pre-line;line-height:1.25;font-size:0.95rem}

/* controls row */
.controls-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.level-area{display:flex;align-items:center;gap:8px}
.small-label{font-size:0.9rem}
.level-box{display:inline-flex;align-items:center;gap:6px;background:var(--panel-2);border:1px solid var(--accent);padding:8px 10px;border-radius:8px;font-weight:700}
.btn{background:var(--panel-2);border:1px solid var(--accent);color:var(--white);padding:8px 12px;border-radius:8px;cursor:pointer}
.btn:hover{background:#6b3f24}
.icon-btn{background:transparent;border:0;padding:0;margin-left:6px;cursor:pointer}
.icon-btn img{width:36px;height:36px;object-fit:contain;background:transparent;border-radius:6px}

/* select */
.select{background:var(--panel-2);border:1px solid var(--accent);color:var(--white);padding:8px;border-radius:8px}

/* actual stats panel */
.panel{background:var(--panel-2);padding:12px;border-radius:10px;border:1px solid rgba(0,0,0,0.12)}
.actual-panel{border:2px solid var(--accent)}
.actual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:1rem}

/* points row */
.points-row{display:flex;align-items:center;gap:10px}
.points-text{font-size:1rem}

/* allocation column (single column) */
.allocation-column{display:flex;flex-direction:column;gap:10px;margin-top:6px}

/* stat row */
.stat-row{display:flex;align-items:center;justify-content:space-between;background:var(--panel-2);padding:8px;border-radius:8px;border:1px solid rgba(0,0,0,0.12);gap:8px;position:relative}
.stat-left{display:flex;align-items:center;gap:10px;min-width:220px}
.stat-left img{width:20px;height:20px;object-fit:contain}
.stat-name{font-weight:700}
.stat-right{display:flex;align-items:center;gap:8px}

/* stat value box */
.stat-value{min-width:56px;text-align:center;background:var(--panel);border:1px solid var(--accent);padding:6px;border-radius:8px;font-weight:700}

/* stat button group */
.stat-actions{display:flex;gap:6px}
.stat-actions button{background:var(--panel);border:1px solid var(--accent);color:var(--white);padding:6px 10px;border-radius:8px;cursor:pointer}
.stat-actions button:hover{background:#6b3f24}

/* tooltip */
.tooltip{position:absolute;display:none;background:rgba(0,0,0,0.92);border:1px solid var(--accent);padding:10px;border-radius:8px;color:var(--white);font-size:0.85rem;z-index:60;max-width:420px;white-space:pre-line}
.tooltip.show{display:block}

/* element text color classes (for bold Innate ability if used) */
.fire{color:#ff6b3a}
.water{color:#3ac2ff}
.earth{color:#a67b4e}
.lightning{color:#ffe24a}
.wind{color:#9af3c4}

/* strong/weak */
.green{color:#32cd32}
.red{color:#ff4a4a}

/* Official Links Section */
.official-links {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 2px solid var(--accent);
}

.official-links h3 {
  color: var(--accent);
  text-align: center;
  margin-bottom: 20px;
  font-size: 1.3rem;
}

.links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 15px;
}

.link-item {
  display: flex;
  align-items: center;
  background: var(--panel-2);
  border: 1px solid var(--accent);
  border-radius: 8px;
  padding: 12px 15px;
  text-decoration: none;
  color: var(--white);
  transition: all 0.3s ease;
}

.link-item:hover {
  background: #6b3f24;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

.link-icon {
  font-size: 24px;
  margin-right: 15px;
  width: 40px;
  text-align: center;
  color: var(--accent);
}

.link-text {
  flex: 1;
}

.link-title {
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 4px;
}

.link-desc {
  font-size: 0.85rem;
  opacity: 0.8;
}

/* responsive */
@media (max-width:900px){
  .layout{flex-direction:column}
  .left{width:100%}
  .character-box{width:100%;height:300px}
  .actual-grid{grid-template-columns:repeat(2,1fr)}
  .links-grid{grid-template-columns:1fr}
}