/* LiorPedia — a Wikipedia-skin personal page, same shape as oliverkarasin.com.
   Colours and metrics match MediaWiki's Vector look: link #0645ad, visited #0b0080,
   rules #a2a9b1, infobox #f8f9fa, page ground #f6f6f6, text #202122. */
:root { --ink:#202122; --mute:#54595d; --link:#0645ad; --visited:#0b0080; --rule:#a2a9b1; --rule2:#c8ccd1; --box:#f8f9fa; --ground:#f6f6f6; }
* { box-sizing:border-box; }
html, body { margin:0; }
body { background:var(--ground); color:var(--ink); font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif; padding:24px 16px 40px; }
a { color:var(--link); text-decoration:none; }
a:visited { color:var(--visited); }
a:hover { text-decoration:underline; }
a.ext::after { content:"\2197"; font-size:.75em; margin-left:.15em; color:var(--mute); }

.header-top { max-width:960px; margin:0 auto; display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; padding:.4rem 1rem .2rem; }
.wordmark { font:28px/1 Georgia,"Times New Roman",serif; color:var(--ink); }
.wordmark small { display:block; font:13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--mute); margin-top:4px; }
.search { border:1px solid var(--rule); background:#fff; border-radius:2px; padding:5px 8px; font-size:13px; color:var(--mute); min-width:200px; }

.tabs { max-width:960px; margin:0 auto; background:#fff; border-top:1px solid #fff; border-bottom:1px solid var(--rule); display:flex; align-items:center; gap:1rem; padding:.2rem 1rem; font-size:13.5px; }
.tabs a { padding:.35rem .25rem; border-bottom:2px solid transparent; }
.tabs a.on { color:var(--ink); border-bottom-color:var(--link); font-weight:600; }
.tabs .right { margin-left:auto; color:var(--mute); }

.body { max-width:960px; margin:.5rem auto 0; display:flex; align-items:flex-start; gap:24px; }
.side { width:160px; flex:none; font-size:12.5px; padding-top:1.2rem; }
.side h4 { margin:0 0 .3rem; font-size:12px; color:var(--mute); font-weight:600; letter-spacing:.02em; }
.side ul { list-style:none; margin:0 0 1rem; padding:0 0 .6rem; border-bottom:1px solid var(--rule2); }
.side li { margin:.15rem 0; }

.article { flex:1; min-width:0; background:#fff; border:1px solid var(--rule2); border-radius:2px; padding:20px 24px; box-shadow:0 1px 1px rgba(32,33,36,.04); overflow:auto; }
h1 { font:28px/1.25 Georgia,"Times New Roman",serif; font-weight:400; margin:0 0 .25rem; padding-bottom:.2rem; border-bottom:1px solid var(--rule); }
.from { font-size:12.5px; color:var(--mute); margin-bottom:1rem; }
h2 { font:22px/1.3 Georgia,"Times New Roman",serif; font-weight:400; margin:1.6rem 0 .5rem; padding-bottom:.15rem; border-bottom:1px solid var(--rule); }
h3 { font-size:16px; margin:1.2rem 0 .4rem; }
p { margin:.5rem 0 .8rem; }
ul { margin:.3rem 0 .8rem 1.4rem; padding:0; }
li { margin:.2rem 0; }
sup.ref { font-size:.7em; color:var(--link); }
.note { color:var(--mute); font-size:13px; }
.tag { display:inline-block; font-size:11px; border:1px solid var(--rule); border-radius:2px; padding:0 .35rem; color:var(--mute); margin-left:.3rem; vertical-align:middle; }

/* infobox */
.infobox { float:right; width:100%; max-width:270px; margin:0 0 1rem 1rem; background:var(--box); border:1px solid var(--rule); border-radius:2px; border-collapse:collapse; font-size:.85rem; }
.infobox caption { font-weight:700; font-size:1.05rem; padding:.5rem .4rem .3rem; }
.infobox th, .infobox td { padding:.3rem .5rem; vertical-align:top; text-align:left; border-top:1px solid #eaecf0; }
.infobox th { width:38%; color:var(--ink); font-weight:600; }
.infobox .photo { text-align:center; border-top:0; padding:.2rem .4rem .5rem; }
.infobox .photo img { width:100%; max-width:240px; height:auto; display:block; margin:0 auto; border:1px solid var(--rule2); }
.infobox .photo .placeholder { width:220px; height:220px; margin:0 auto; background:#e9ecef; border:1px solid var(--rule2); display:grid; place-items:center; color:var(--mute); font-size:12px; }
.infobox .cap { font-size:.78rem; color:var(--mute); text-align:center; }

/* toc */
.toc { display:inline-block; background:var(--box); border:1px solid var(--rule); padding:.5rem 1rem .5rem .6rem; margin:0 0 .8rem; font-size:14px; }
.toc .toctitle { font-weight:700; text-align:center; margin-bottom:.3rem; }
.toc ol { margin:0 0 0 1.4rem; padding:0; }
.toc ol ol { margin-left:1.3rem; }
.toc li { margin:.1rem 0; }

/* project table */
table.wikitable { border-collapse:collapse; width:100%; font-size:14px; margin:.4rem 0 1rem; }
.wikitable th, .wikitable td { border:1px solid var(--rule); padding:.35rem .5rem; vertical-align:top; }
.wikitable th { background:#eaecf0; text-align:left; }

footer { max-width:960px; margin:1.2rem auto 0; font-size:12.5px; color:var(--mute); padding:0 1rem; }

@media (max-width: 760px) {
  body { padding:12px 10px 32px; }
  .side { display:none; }
  .article { padding:16px 14px; }
  .infobox { float:none; max-width:100%; margin:0 0 1rem; }
  .header-top { flex-direction:column; align-items:flex-start; }
  .search { display:none; }
  h1 { font-size:24px; }
}

/* ---- additions for the full build: search, accessibility, project infobox, references ---- */
.sr { position:absolute; left:-9999px; }
.skip { position:absolute; left:-9999px; top:8px; background:#fff; padding:.4rem .6rem; border:1px solid var(--rule); }
.skip:focus { left:16px; z-index:10; }
.wordmark { text-decoration:none; }
.wordmark:hover { text-decoration:none; }
.header-top form.search { position:relative; padding:0; border:0; background:transparent; min-width:0; }
.header-top form.search input { width:260px; max-width:70vw; border:1px solid var(--rule); background:#fff; border-radius:2px; padding:6px 9px; font:13.5px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); }
.header-top form.search input:focus { outline:2px solid #36c; outline-offset:0; }
#results { position:absolute; right:0; top:34px; width:360px; max-width:80vw; margin:0; padding:0; list-style:none; background:#fff; border:1px solid var(--rule); box-shadow:0 4px 14px rgba(32,33,36,.12); z-index:20; font-size:13.5px; text-align:left; }
#results li { margin:0; }
#results li a { display:block; padding:.5rem .7rem; border-bottom:1px solid #eaecf0; color:var(--ink); }
#results li a:hover, #results li.active a { background:#eaf3ff; text-decoration:none; }
#results li a b { color:var(--link); }
#results .sec { color:var(--mute); font-size:12px; margin-left:.3rem; }
#results .snip { display:block; color:var(--mute); font-size:12px; margin-top:.15rem; }
#results .none { padding:.5rem .7rem; color:var(--mute); }
.side a[aria-current=page] { color:var(--ink); font-weight:600; }
.tabs a.on { color:var(--ink); }
.crumb { font-size:12.5px; color:var(--mute); margin-bottom:.4rem; }
.crumb a { color:var(--link); }
.status { display:inline-block; font-size:11.5px; border-radius:2px; padding:0 .4rem; border:1px solid var(--rule); background:#f8f9fa; color:var(--ink); vertical-align:middle; }
.status.live { border-color:#1b7b3a; color:#1b7b3a; background:#f0f8f2; }
.status.plan { border-color:#a94442; color:#a94442; background:#fdf5f4; }
blockquote { margin:1rem 0; padding:.2rem 1rem; border-left:3px solid var(--rule); color:var(--ink); font-style:italic; }
blockquote cite { display:block; font-style:normal; font-size:12.5px; color:var(--mute); margin-top:.3rem; }
ol.refs { font-size:12.5px; color:var(--mute); margin-left:1.4rem; }
ol.refs li { margin:.15rem 0; }
.hatnote { font-size:13px; color:var(--mute); font-style:italic; margin:0 0 .6rem 1.2rem; }
.wikitable .status { margin:0; }
.notfound { text-align:center; padding:2rem 0 3rem; }
.notfound h1 { border:0; font-size:52px; }
@media (max-width:760px) { .header-top form.search { width:100%; } .header-top form.search input { width:100%; max-width:none; } #results { left:0; right:0; width:auto; max-width:none; } }
