/* Geist Sans (self-hosted, subset to the ranges actually used) */
@font-face{
  font-family:"Geist";
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("../fonts/geist-sans-cyrillic.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:"Geist";
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("../fonts/geist-sans-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Geist";
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("../fonts/geist-sans-latin.woff2") format("woff2");
  unicode-range:U+00-FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  --background:#fff;
  --foreground:#171717;
  --muted:#6b7280;
  --radius:16px;
}

*{box-sizing:border-box;margin:0;padding:0}
a{color:#1a1a1a}
html,body{width:100%;height:100%;margin:0;overflow-x:hidden;overflow-y:auto}
body{
  color:var(--foreground);
  background:var(--background);
  font-family:"Geist",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  min-height:100dvh;
  padding-bottom:100px;
  display:grid;
}

.u1{margin-bottom:.5rem;font-size:1.8rem;font-weight:700}
.u2{margin:1rem 0;font-size:1.2rem;font-weight:400}

.main{
  max-width:1200px;
  margin:2rem auto;
  padding:0 1rem;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
}
.main ul{padding-left:1.2rem;list-style:inside}

.container{display:flex;flex-flow:wrap;justify-content:flex-start;gap:6px}

.break{
  width:100%;
  margin-bottom:20px;
  margin-left:20px;
  padding-bottom:20px;
  border-bottom:1px solid gray;
}

.articleEntry{
  min-width:250px;
  margin-bottom:1rem;
  padding:1rem;
  border:1px solid #e5e7eb;
  border-radius:12px;
}
.articleEntry div{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}

.altArticleEntry{
  display:flex;
  flex-wrap:nowrap;
  gap:12px;
  margin-bottom:20px;
  margin-left:20px;
}

.typeStyle{
  padding:2px 8px;
  border:1px solid #e3e3e3;
  border-radius:999px;
  font-size:12px;
}

.errorColor{color:#b00020}
.backButton{display:block;margin-bottom:20px}
.lastUpdate{margin-bottom:1rem;font-size:.9rem;opacity:.65}

@media (max-width:600px){
  .altArticleEntry{flex-direction:column}
}

@media (prefers-color-scheme:dark){
  html{color-scheme:dark}
}

/* Homepage */
.home-wrapper{
  display:grid;
  grid-row:2;
  place-self:center;
  place-items:center;
  padding:max(1rem,min(2vw,2rem));
}
.home-container{width:min(1100px,100%)}
.home-header{text-align:center;margin-bottom:2rem}
.home-header h1{margin:0 0 4rem;font-size:max(1.6rem,min(3vw,2.4rem))}
.home-header p{margin:0 0 1rem;color:var(--muted)}

.home-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:max(12px,min(2vw,20px));
}

.home-card{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  padding:1.2rem;
  border-radius:var(--radius);
  border:1px solid rgba(0,0,0,.08);
  background:linear-gradient(rgba(0,0,0,.02),rgba(0,0,0,.01));
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.home-card:hover{
  border-color:rgba(59,130,246,.35);
  transform:translateY(-3px);
  box-shadow:0 16px 40px rgba(0,0,0,.15);
}
.home-card img{display:block;width:100%;height:auto;color:transparent}
.home-card p{margin:0;color:var(--muted)}
.home-card a{
  align-self:start;
  width:100%;
  margin:0 auto;
  padding:.6rem .9rem;
  border:1px solid rgba(0,0,0,.12);
  border-radius:calc(var(--radius) - 6px);
  background:rgba(0,0,0,.02);
  color:var(--fg,var(--foreground));
  text-align:center;
  text-decoration:none;
  font-weight:600;
  transition:background .2s,border-color .2s;
}
.home-card a:hover{
  background:rgba(59,130,246,.12);
  border-color:rgba(59,130,246,.55);
}

.home-footer{
  display:flex;
  grid-row:3;
  justify-self:center;
  gap:24px;
}
.home-footer a{display:flex;align-items:center;gap:8px}
@media (hover:hover) and (pointer:fine){
  .home-footer a:hover{text-underline-offset:4px;text-decoration:underline}
}

@media (max-width:900px){
  .home-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .home-grid{grid-template-columns:1fr}
}

@media (prefers-color-scheme:dark){
  .home-card{
    background:linear-gradient(rgba(255,255,255,.06),rgba(255,255,255,.02));
    border-color:rgba(255,255,255,.08);
    box-shadow:0 10px 25px rgba(0,0,0,.25);
  }
  .home-card:hover{
    border-color:rgba(59,130,246,.45);
    box-shadow:0 16px 40px rgba(0,0,0,.35);
  }
  .home-card a{
    background:rgba(255,255,255,.02);
    border-color:rgba(255,255,255,.12);
  }
}

/* 404 page */
.notfound{
  height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";
}
.notfound-h1{
  display:inline-block;
  margin:0 20px 0 0;
  padding:0 23px 0 0;
  border-right:1px solid rgba(0,0,0,.3);
  font-size:24px;
  font-weight:500;
  vertical-align:top;
  line-height:49px;
}
.notfound-sub{display:inline-block}
.notfound-sub h2{margin:0;font-size:14px;font-weight:400;line-height:49px}
@media (prefers-color-scheme:dark){
  .notfound-h1{border-right-color:rgba(255,255,255,.3)}
}
