:root{--bg:#0f1720;--card:#182430;--ink:#e8eef4;--mut:#9fb0c0;--acc:#36c;--line:#243445;
--gA:#2e9e5b;--gB:#2b86c5;--gC:#c08a2e;--gx:#5b6b7a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,Segoe UI,Roboto,sans-serif}
a{color:#7db6ff;text-decoration:none}a:hover{text-decoration:underline}
header.site{display:flex;gap:1rem;align-items:center;padding:.8rem 1.2rem;background:#0b1118;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{font-weight:800;font-size:1.3rem;color:#fff;letter-spacing:.5px}
.search{margin-left:auto;display:flex;gap:.4rem}
.search input{background:var(--card);border:1px solid var(--line);color:var(--ink);padding:.5rem .7rem;border-radius:8px;width:min(46vw,320px)}
.search button{background:var(--acc);color:#fff;border:0;padding:.5rem .9rem;border-radius:8px;cursor:pointer}
main{max-width:920px;margin:0 auto;padding:1.4rem 1.2rem 3rem}
.hero{padding:1.5rem 0 1rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem}
.hero h1{margin:.2rem 0;font-size:1.9rem}.hero p{color:var(--mut);margin:0}
h2{margin:1.8rem 0 .8rem;font-size:1.25rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem}
.card.topic{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.3rem;transition:.15s}
.card.topic:hover{border-color:var(--acc);text-decoration:none;transform:translateY(-2px)}
.card.topic .t{font-weight:700;color:#fff}.card.topic .n{color:var(--mut);font-size:.85rem}
.doclist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.9rem}
.doclist li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem}
.doclist li>a{font-weight:650;font-size:1.05rem}
.meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:.45rem 0}
.sum{color:var(--mut);margin:.3rem 0 0}
.grade{font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;color:#fff}
.g-a{background:var(--gA)}.g-b{background:var(--gB)}.g-c{background:var(--gC)}.g-x,.g-—{background:var(--gx)}
.tag{font-size:.78rem;color:var(--mut);background:#0d1620;border:1px solid var(--line);padding:.12rem .5rem;border-radius:999px}
.yr{font-size:.8rem;color:var(--mut)}
.crumb{color:var(--mut);font-size:.9rem;margin-bottom:.6rem}
.muted{color:var(--mut)}.err{color:#ff9b9b;background:#2a1414;border:1px solid #512;padding:1rem;border-radius:10px}
article.doc h1{font-size:1.5rem;margin:.3rem 0}
.doc .lead{font-size:1.08rem}.doc .body{color:#cdd9e5}
.doc .doi{margin-top:1.2rem;color:var(--mut);font-size:.9rem}
.doc .disc{margin-top:1.5rem;color:var(--mut);font-size:.82rem;border-top:1px solid var(--line);padding-top:.8rem}
.pager{display:flex;gap:1rem;align-items:center;justify-content:center;margin-top:1.5rem;color:var(--mut)}
footer.site{border-top:1px solid var(--line);color:var(--mut);text-align:center;padding:1.4rem;font-size:.85rem}
.ok{color:#9be6b4;background:#13251a;border:1px solid #275;padding:.8rem 1rem;border-radius:10px}
/* kullanıcı çubuğu (header) */
.userbar{display:flex;gap:.7rem;align-items:center;font-size:.9rem}
.userbar .who{color:var(--mut)}
.userbar .logout{color:#ff9b9b}
/* giriş sayfası */
body.auth{display:flex;min-height:100vh}
.loginwrap{margin:auto;max-width:360px;width:100%}
.loginbox{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.8rem}
.loginbox .brand{font-size:1.6rem;color:#fff;font-weight:800;letter-spacing:.5px}
.loginbox form{display:flex;flex-direction:column;gap:.9rem;margin-top:1.2rem}
.loginbox label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--mut)}
.loginbox input{background:var(--bg);border:1px solid var(--line);color:var(--ink);padding:.6rem .7rem;border-radius:8px}
.loginbox button{background:var(--acc);color:#fff;border:0;padding:.65rem;border-radius:8px;cursor:pointer;font-size:1rem}
/* kullanıcı yönetimi */
.userform{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.userform input,.userform select{background:var(--card);border:1px solid var(--line);color:var(--ink);padding:.5rem .6rem;border-radius:8px}
.userform button{background:var(--acc);color:#fff;border:0;padding:.5rem .9rem;border-radius:8px;cursor:pointer}
.utbl{width:100%;border-collapse:collapse;margin-top:.8rem}
.utbl th,.utbl td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);font-size:.92rem}
.utbl th{color:var(--mut);font-weight:600}
.linkbtn{background:none;border:0;color:#7db6ff;cursor:pointer;padding:0;font-size:.9rem}
