/* ===== Sylene – Spielerportal | Design tokens ===== */
:root{
  --bg:#060a14; --bg2:#0b1220; --panel:rgba(14,22,40,.78); --panel2:rgba(20,30,52,.9);
  --line:rgba(140,180,255,.16); --line2:rgba(140,180,255,.32);
  --text:#dfe8f7; --muted:#8fa3c4; --dim:#5f7193;
  --ice:#7fd8ff; --ice2:#b8ecff; --jade:#3fd39b; --gold:#f2c14e; --red:#ff5a6a; --violet:#b48cff; --gov:#ffffff;
  --mitsuko:#ff5a6a; --awhari:#f2c14e; --moutton:#b48cff; --jadeclan:#3fd39b; --navy:#7fd8ff;
  --radius:14px; --shadow:0 10px 40px rgba(0,0,0,.45);
  --font:"Inter","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}
body{background:
  radial-gradient(1200px 600px at 80% -10%, rgba(63,211,155,.08), transparent 60%),
  radial-gradient(900px 500px at -10% 30%, rgba(127,216,255,.08), transparent 60%),
  var(--bg);}
a{color:var(--ice);text-decoration:none}
a:hover{color:var(--ice2);text-decoration:underline}
h1,h2,h3,h4{line-height:1.15;margin:0 0 .4em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,3.5vw,2.8rem)} h2{font-size:clamp(1.4rem,2.4vw,1.9rem)} h3{font-size:1.15rem} h4{font-size:1rem}
p{margin:.4em 0 .8em}
code,kbd{font-family:var(--mono);font-size:.9em;background:rgba(255,255,255,.06);padding:.1em .35em;border-radius:5px}
.small{font-size:.85rem;color:var(--muted)}
.muted{color:var(--muted)} .dim{color:var(--dim)}
.mono{font-family:var(--mono)}

/* ===== Nav ===== */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:14px;padding:10px 20px;
  background:rgba(6,10,20,.75);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:.95rem}
.nav .brand .logo{width:26px;height:26px}
.nav .links{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.nav .links a{padding:7px 12px;border-radius:999px;color:var(--muted);font-size:.9rem;font-weight:600;border:1px solid transparent}
.nav .links a:hover{color:var(--text);text-decoration:none;background:rgba(255,255,255,.05)}
.nav .links a.active{color:var(--ice2);border-color:var(--line2);background:rgba(127,216,255,.08)}
.nav .search{position:relative}
.nav .search input{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:999px;color:var(--text);padding:7px 12px 7px 32px;width:200px;font-size:.9rem}
.nav .search svg{position:absolute;left:10px;top:9px;width:15px;height:15px;opacity:.6}
.nav .search input:focus{outline:none;border-color:var(--ice);width:260px;transition:.2s}
@media (max-width:760px){.nav{padding:8px 12px}.nav .links a{padding:6px 9px;font-size:.82rem}.nav .search input{width:130px}.nav .search input:focus{width:170px}}

/* ===== Layout ===== */
.wrap{max-width:1180px;margin:0 auto;padding:28px 20px 80px}
.hero{padding:40px 0 20px}
.hero .kicker{color:var(--ice);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.75rem}
.hero p.lead{font-size:1.15rem;color:var(--muted);max-width:760px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
section{margin:34px 0}
.sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.sec-head h2{margin:0}
.sec-head .sub{color:var(--muted)}
.anchor{scroll-margin-top:80px}

/* ===== Cards ===== */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.card.glow::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--c,var(--ice)),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7;pointer-events:none}
.card h3{display:flex;align-items:center;gap:10px}
.card .tag{margin-left:auto}
.card.clickable{cursor:pointer;transition:transform .15s,border-color .15s}
.card.clickable:hover{transform:translateY(-2px);border-color:var(--line2)}
.card .icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.06);color:var(--c,var(--ice))}
.card .icon svg{width:20px;height:20px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.92rem;margin:.6em 0}
.kv dt{color:var(--dim);font-weight:600;white-space:nowrap}.kv dd{margin:0}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:.5em 0}
.fact{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:.85rem}
.fact b{color:var(--ice2)}

/* ===== Tags / badges ===== */
.tag{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  background:rgba(255,255,255,.07);color:var(--muted);border:1px solid var(--line);white-space:nowrap}
.tag.ice{color:var(--ice);border-color:rgba(127,216,255,.4)} .tag.jade{color:var(--jade);border-color:rgba(63,211,155,.4)}
.tag.gold{color:var(--gold);border-color:rgba(242,193,78,.4)} .tag.red{color:var(--red);border-color:rgba(255,90,106,.4)}
.tag.violet{color:var(--violet);border-color:rgba(180,140,255,.4)} .tag.gov{color:#fff;border-color:rgba(255,255,255,.4)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--c,var(--ice));display:inline-block;box-shadow:0 0 8px var(--c,var(--ice))}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.07);font-size:.8rem;margin:2px}
.canon{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;padding:2px 8px;border-radius:6px;background:rgba(255,90,106,.12);color:#ffb3ba;border:1px dashed rgba(255,90,106,.5)}
.canon.ok{background:rgba(63,211,155,.12);color:#9ff0cf;border-color:rgba(63,211,155,.5)}
.canon.neu{background:rgba(242,193,78,.12);color:#ffe2a0;border-color:rgba(242,193,78,.55)}
.note{border-left:3px solid var(--gold);background:rgba(242,193,78,.07);padding:10px 14px;border-radius:0 10px 10px 0;margin:12px 0;font-size:.92rem}
.note.ice{border-color:var(--ice);background:rgba(127,216,255,.07)}
.note.red{border-color:var(--red);background:rgba(255,90,106,.07)}

/* ===== Stats ===== */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.stat .v{font-size:1.7rem;font-weight:800;color:var(--ice2);font-family:var(--mono);letter-spacing:-.02em}
.stat .l{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

/* ===== Timeline ===== */
.timeline{position:relative;margin:10px 0;padding-left:26px}
.timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--ice),var(--jade),transparent)}
.tl{position:relative;margin:0 0 16px}
.tl::before{content:"";position:absolute;left:-23px;top:7px;width:11px;height:11px;border-radius:50%;background:var(--c,var(--ice));box-shadow:0 0 10px var(--c,var(--ice))}
.tl .when{font-family:var(--mono);font-size:.78rem;color:var(--ice);letter-spacing:.06em}
.tl .what{font-weight:700}
.tl .desc{color:var(--muted);font-size:.92rem}

/* ===== Bars (size chart) ===== */
.bars{display:grid;gap:8px}
.bar{display:grid;grid-template-columns:150px 1fr 90px;align-items:center;gap:10px;font-size:.88rem}
.bar .track{height:14px;background:rgba(255,255,255,.05);border-radius:7px;overflow:hidden;border:1px solid var(--line)}
.bar .fill{height:100%;border-radius:7px;background:linear-gradient(90deg,var(--c,var(--ice)),rgba(255,255,255,.15))}
.bar .n{font-family:var(--mono);color:var(--muted);text-align:right}
@media (max-width:600px){.bar{grid-template-columns:100px 1fr 70px}}

/* ===== Tables ===== */
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;position:sticky;top:0;background:var(--bg2);z-index:1}
tr:hover td{background:rgba(255,255,255,.03)}
.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}

/* ===== Buttons / controls ===== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid var(--line2);background:rgba(127,216,255,.1);color:var(--ice2);font-weight:700;cursor:pointer;font-size:.9rem}
.btn:hover{background:rgba(127,216,255,.18);text-decoration:none}
.btn.ghost{background:transparent;color:var(--muted)}
.btn.sm{padding:5px 11px;font-size:.8rem}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--muted);font-size:.82rem;cursor:pointer;user-select:none}
.chip.on,.chip:hover{color:var(--text);border-color:var(--line2);background:rgba(127,216,255,.1)}
input.search-box{width:100%;padding:12px 16px;border-radius:12px;border:1px solid var(--line2);background:rgba(255,255,255,.05);color:var(--text);font-size:1rem}
input.search-box:focus{outline:none;border-color:var(--ice)}

/* ===== Details ===== */
details{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:8px 0}
details summary{cursor:pointer;padding:12px 16px;font-weight:700;list-style:none;display:flex;align-items:center;gap:10px}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"▸";color:var(--ice);transition:transform .15s}
details[open] summary::before{transform:rotate(90deg)}
details .body{padding:0 16px 14px}

/* ===== Person cards ===== */
.person{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:start}
.avatar{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:1.1rem;color:#061018;background:linear-gradient(145deg,var(--c,var(--ice)),rgba(255,255,255,.6));box-shadow:0 0 18px color-mix(in srgb,var(--c,var(--ice)) 50%,transparent)}
.person .role{color:var(--muted);font-size:.85rem}
.person .links a{font-size:.8rem;margin-right:8px}

/* ===== Footer ===== */
footer{border-top:1px solid var(--line);padding:30px 20px;color:var(--dim);font-size:.82rem;text-align:center}

/* ===== Quick-nav sidebar (optional) ===== */
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 20px}
.toc a{padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.toc a:hover{color:var(--text);border-color:var(--line2);text-decoration:none}

/* ===== Modal ===== */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);display:none;z-index:90;align-items:center;justify-content:center;padding:20px}
.modal-bg.open{display:flex}
.modal{background:var(--panel2);border:1px solid var(--line2);border-radius:16px;max-width:760px;width:100%;max-height:85vh;overflow:auto;padding:22px;box-shadow:var(--shadow)}
.modal .close{float:right;cursor:pointer;color:var(--muted);font-size:1.3rem}

/* ===== Global search results ===== */
.gs-results{position:absolute;top:40px;right:0;width:min(520px,90vw);max-height:60vh;overflow:auto;background:var(--panel2);border:1px solid var(--line2);border-radius:12px;box-shadow:var(--shadow);display:none;z-index:99}
.gs-results.open{display:block}
.gs-results a{display:block;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text)}
.gs-results a:hover{background:rgba(255,255,255,.05);text-decoration:none}
.gs-results .t{font-size:.7rem;color:var(--ice);text-transform:uppercase;letter-spacing:.08em}
.gs-results .s{font-size:.8rem;color:var(--muted)}
mark{background:rgba(242,193,78,.35);color:inherit;border-radius:3px;padding:0 2px}
