@import url("styles/reset.css");
@import url("styles/general.css");
@import url("styles/nav.css");
@import url("styles/sidebar.css");
@import url("styles/post.css");

* { box-sizing: border-box; }
html { min-width: 320px; }
body { min-height: 100vh; }
img, video, iframe { max-width: 100%; height: auto; }
iframe { border: 0; }
object, embed { max-width:100%; }
a:focus-visible, button:focus-visible, input:focus-visible { outline:2px solid #0ea7f4; outline-offset:2px; }
.skip-link { position:fixed; left:12px; top:8px; z-index:1000; padding:8px 12px; background:#fff; color:#222; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.layout::after, .nav ul::after { content:""; display:table; clear:both; }
.site-header { overflow:hidden; margin:12px 0 15px; border:1px solid rgba(255,255,255,.18); border-radius:9px; background:#18191a; box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 6px rgba(0,0,0,.28); }
.site-brand { position:relative; display:block; height:clamp(50px,8.67vw,74px); overflow:hidden; color:#fff; }
.site-brand img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.site-brand::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.9) 61%,rgba(0,0,0,.28) 100%); }
.site-brand-copy { position:absolute; z-index:1; left:clamp(10px,2vw,18px); top:50%; width:calc(100% - 28px); transform:translateY(-50%); }
.site-brand-copy strong { display:block; font:normal clamp(24px,4.3vw,38px)/.92 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; letter-spacing:-1px; text-shadow:0 1px 1px #000; }
.site-brand-copy strong b { color:#18c6d8; font-weight:inherit; }
.site-brand-copy small { display:block; margin-top:5px; overflow:hidden; color:#b8b8b8; font:700 clamp(6px,1.05vw,9px)/1.1 Verdana,Arial,sans-serif; letter-spacing:-.15px; white-space:nowrap; text-overflow:clip; }
.header-image { display:block; width:100%; margin:0 0 10px; }
.entry-content { overflow-wrap:anywhere; }
.entry-content pre { max-width:100%; overflow:auto; }
.entry-content iframe { display:block; width:100%; aspect-ratio:16 / 9; }
.entry-content img { content-visibility:auto; }
.entry-content table { display:block; max-width:100%; overflow-x:auto; }
.post-tags a, .meta a { color:inherit; }
.archive-list { padding:0 24px 20px; }
.archive-list li { font-size:75%; padding:5px 0; border-bottom:1px dotted #999; }
.archive-list time { display:inline-block; min-width:120px; color:#888; }
.read-more { margin-top:-3px!important; text-align:right; }
.read-more a { font-weight:bold; text-decoration:none; }
.pagenavigation { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; padding:10px 24px 18px; border-top:1px dotted #aaa; font-size:70%; }
.pagenavigation a { color:#6d6d6d; font-weight:bold; text-decoration:none; }
.pagenavigation .page-status { color:#999; white-space:nowrap; }
.pagenavigation .older-page { text-align:right; }
.article-navigation { margin:4px 24px 0; padding:12px 0 18px; border-top:1px dotted #999; font-size:65%; }
.article-position { margin:0 0 12px; color:#999; text-align:center; }
.article-position a { color:inherit; }
.article-navigation-links { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.article-navigation-links a { color:#777; line-height:1.35; text-decoration:none; }
.article-navigation-links a:hover { color:#333; }
.article-navigation-links strong { display:block; margin-top:3px; color:#444; font-size:110%; font-weight:bold; }
.article-navigation-links .older-article { text-align:right; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.nav-toggle { display:none; }
.theme-toggle { margin:8px 8px 0; padding:5px 8px; border:1px solid #aaa; border-radius:3px; background:transparent; color:#555; font:normal 65% Verdana,Arial,sans-serif; cursor:pointer; }
#searchbox .searchinput { color:#222; caret-color:#222; }
#search-results > p { color:#666; }
#search-results li { margin-bottom:10px; }
#search-results li a { display:block; font-size:115%; font-weight:bold; }
#search-results li p { margin:2px 0; color:#666; font-size:95%; }
.contact-form { position:relative; display:grid; gap:12px; margin:18px 0 6px; }
.contact-field label { display:block; margin:0 0 4px; color:#555; font-size:70%; font-weight:bold; }
.contact-field input,.contact-field textarea { display:block; width:100%; padding:7px 8px; border:1px solid #aaa; border-radius:6px; background:#fff; color:#222; font:normal 75%/1.45 Verdana,Arial,sans-serif; box-shadow:inset 0 1px 2px rgba(0,0,0,.14); }
.contact-field textarea { min-height:150px; resize:vertical; }
.contact-submit { justify-self:start; padding:7px 14px; border:1px solid #242122; border-radius:7px; background:linear-gradient(to bottom,rgba(255,255,255,.18) 0%,rgba(255,255,255,.035) 48%,transparent 49%),linear-gradient(to bottom,#5b5758 0%,#393536 48%,#252223 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -1px 0 rgba(0,0,0,.48),0 1px 2px rgba(0,0,0,.25); color:#fff; font:700 65% Verdana,Arial,sans-serif; text-shadow:0 -1px 0 rgba(0,0,0,.75); cursor:pointer; }
.contact-submit:hover { color:#c7c7c7; }
.contact-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contact-status { margin:12px 0!important; padding:9px 11px; border:1px solid; border-radius:6px; font-weight:bold; }
.contact-status.is-success { border-color:#6c9561; background:#edf7ea; color:#315c28; }
.contact-status.is-error { border-color:#a86c6c; background:#f9eded; color:#772f2f; }

/* Pygments output, tuned to the original neutral Borgo.tv palette. */
.highlight { margin:12px 0; border:1px solid #d6d6d6; background:#f4f4f4; color:#222; }
.highlight pre { padding:12px; font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; }
.highlight .c,.highlight .c1,.highlight .cm { color:#777; font-style:italic; }
.highlight .k,.highlight .kd,.highlight .kn,.highlight .nt { color:#7b2f76; font-weight:bold; }
.highlight .s,.highlight .s1,.highlight .s2,.highlight .na { color:#477a16; }
.highlight .m,.highlight .mi,.highlight .mf { color:#075f92; }
.highlight .nf,.highlight .nc { color:#835c00; }
.highlight .o { color:#555; }

html[data-theme="dark"] body { background:#171717; color:#ddd; }
html[data-theme="dark"] .nav { --nav-top:#484647; --nav-middle:#302d2e; --nav-bottom:#1e1c1d; border-color:#151415; box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(0,0,0,.7),0 1px 3px rgba(0,0,0,.5); }
html[data-theme="dark"] .maincontent { background:#242424; }
html[data-theme="dark"] .maintop, html[data-theme="dark"] .mainbottom { background-image:none; background:#242424; }
html[data-theme="dark"] .maintop { border-radius:8px 8px 0 0; }
html[data-theme="dark"] .mainbottom { border-radius:0 0 8px 8px; }
html[data-theme="dark"] .post h1, html[data-theme="dark"] .post h2 { border-color:#666; }
html[data-theme="dark"] .post h1 a, html[data-theme="dark"] .post h2 a,
html[data-theme="dark"] #recentpost ul li a { color:#eee; }
html[data-theme="dark"] .post p, html[data-theme="dark"] .post li { color:#ddd; }
html[data-theme="dark"] .post blockquote { background:#333; }
html[data-theme="dark"] #recentpost ul li, html[data-theme="dark"] .archive-list li { border-color:#666; }
html[data-theme="dark"] .widget h2 { color:#bbb; border-color:#666; }
html[data-theme="dark"] .theme-toggle, html[data-theme="dark"] #search-results > p,
html[data-theme="dark"] #search-results li p { color:#bbb; }
html[data-theme="dark"] #searchbox .searchinput { border:1px solid #666; background:#292929; color:#f3f3f3; caret-color:#f3f3f3; }
html[data-theme="dark"] #searchbox .searchbtn { border-color:#151415; background:linear-gradient(to bottom,rgba(255,255,255,.14) 0%,rgba(255,255,255,.025) 48%,transparent 49%),linear-gradient(to bottom,#484647 0%,#302d2e 48%,#1e1c1d 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(0,0,0,.7),0 1px 3px rgba(0,0,0,.5); }
html[data-theme="dark"] #searchbox .search-hint { color:#aaa; }
html[data-theme="dark"] .contact-field label { color:#bbb; }
html[data-theme="dark"] .contact-field input,html[data-theme="dark"] .contact-field textarea { border-color:#666; background:#292929; color:#f3f3f3; }
html[data-theme="dark"] .contact-submit { border-color:#151415; background:linear-gradient(to bottom,rgba(255,255,255,.14) 0%,rgba(255,255,255,.025) 48%,transparent 49%),linear-gradient(to bottom,#484647 0%,#302d2e 48%,#1e1c1d 100%); }
html[data-theme="dark"] .contact-status.is-success { border-color:#597752; background:#243020; color:#b8ddaf; }
html[data-theme="dark"] .contact-status.is-error { border-color:#805555; background:#362323; color:#efb2b2; }
html[data-theme="dark"] .pagenavigation, html[data-theme="dark"] .article-navigation { border-color:#666; }
html[data-theme="dark"] .pagenavigation a, html[data-theme="dark"] .article-navigation-links a { color:#bbb; }
html[data-theme="dark"] .article-navigation-links strong { color:#eee; }
html[data-theme="dark"] .highlight { border-color:#555; background:#181818; color:#ddd; }
html[data-theme="dark"] .highlight .c,html[data-theme="dark"] .highlight .c1,html[data-theme="dark"] .highlight .cm { color:#aaa; }
html[data-theme="dark"] .highlight .k,html[data-theme="dark"] .highlight .kd,html[data-theme="dark"] .highlight .kn,html[data-theme="dark"] .highlight .nt { color:#e49adf; }
html[data-theme="dark"] .highlight .s,html[data-theme="dark"] .highlight .s1,html[data-theme="dark"] .highlight .s2,html[data-theme="dark"] .highlight .na { color:#a8d876; }
html[data-theme="dark"] .highlight .m,html[data-theme="dark"] .highlight .mi,html[data-theme="dark"] .highlight .mf { color:#80c8ef; }

@media (prefers-color-scheme: dark) {
  html:not([data-theme]) body { background:#171717; color:#ddd; }
  html:not([data-theme]) .nav { --nav-top:#484647; --nav-middle:#302d2e; --nav-bottom:#1e1c1d; border-color:#151415; box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(0,0,0,.7),0 1px 3px rgba(0,0,0,.5); }
  html:not([data-theme]) .maincontent, html:not([data-theme]) .maintop, html:not([data-theme]) .mainbottom { background-color:#242424; }
  html:not([data-theme]) .maintop, html:not([data-theme]) .mainbottom { background-image:none; }
  html:not([data-theme]) .post h1 a, html:not([data-theme]) .post h2 a, html:not([data-theme]) #recentpost ul li a { color:#eee; }
  html:not([data-theme]) .post p, html:not([data-theme]) .post li { color:#ddd; }
  html:not([data-theme]) #searchbox .searchinput { border:1px solid #666; background:#292929; color:#f3f3f3; caret-color:#f3f3f3; }
  html:not([data-theme]) #searchbox .searchbtn { border-color:#151415; background:linear-gradient(to bottom,rgba(255,255,255,.14) 0%,rgba(255,255,255,.025) 48%,transparent 49%),linear-gradient(to bottom,#484647 0%,#302d2e 48%,#1e1c1d 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(0,0,0,.7),0 1px 3px rgba(0,0,0,.5); }
  html:not([data-theme]) #searchbox .search-hint { color:#aaa; }
  html:not([data-theme]) .contact-field label { color:#bbb; }
  html:not([data-theme]) .contact-field input,html:not([data-theme]) .contact-field textarea { border-color:#666; background:#292929; color:#f3f3f3; }
  html:not([data-theme]) .contact-submit { border-color:#151415; background:linear-gradient(to bottom,rgba(255,255,255,.14) 0%,rgba(255,255,255,.025) 48%,transparent 49%),linear-gradient(to bottom,#484647 0%,#302d2e 48%,#1e1c1d 100%); }
  html:not([data-theme]) .contact-status.is-success { border-color:#597752; background:#243020; color:#b8ddaf; }
  html:not([data-theme]) .contact-status.is-error { border-color:#805555; background:#362323; color:#efb2b2; }
  html:not([data-theme]) .widget h2 { color:#bbb; border-color:#666; }
  html:not([data-theme]) .pagenavigation, html:not([data-theme]) .article-navigation { border-color:#666; }
  html:not([data-theme]) .pagenavigation a, html:not([data-theme]) .article-navigation-links a { color:#bbb; }
  html:not([data-theme]) .article-navigation-links strong { color:#eee; }
}

@media (max-width: 880px) {
  #container { width:min(100% - 24px, 840px); }
  #container .logo { padding-left:6px; padding-right:6px; height:auto; }
  .mainarea { width:calc(100% - 236px); }
  .maintop,.maincontent,.mainbottom { width:100%; background-size:100% 100%; }
  .post img { max-width:100%; }
}
@media (max-width: 680px) {
  #container { width:min(100% - 20px, 604px); }
  #container .logo { margin:10px 0; line-height:1.35; }
  .mainarea,.sidebar { float:none; width:100%; margin:0; }
  .sidebar { padding-top:12px; }
  #searchbox,#recentpost { width:100%; }
  #searchbox .searchinput { width:100%; }
  .nav { height:auto; min-height:30px; padding:0; }
  .nav-toggle { display:block; width:100%; padding:7px 10px; border:0; background:transparent; color:#fff; text-align:left; font-weight:bold; }
  .nav ul { display:none; padding:0 10px 8px; }
  .nav.is-open ul { display:block; }
  .nav ul li { float:none; height:auto; margin:0; padding:4px 0; }
  .nav ul li::before,.nav ul li.link::before { content:""; padding:0; }
  .post { padding-left:18px; padding-right:18px; }
  .post h1 { line-height:1.25; }
  .article-navigation-links { grid-template-columns:1fr; gap:14px; }
  .article-navigation-links .older-article { text-align:left; }
}
@media print {
  body { background:#fff; }
  .nav,.sidebar { display:none; }
  #container,.mainarea,.maincontent { width:100%; }
  .maintop,.mainbottom { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:0.01ms!important; animation-duration:0.01ms!important; animation-iteration-count:1!important; }
}
