/* Picotron Fantasy Workstation inspired theme */
:root{
  --bg: #1d2b53; /* deep blue desktop */
  --bg-darker: #141e3c;
  --window-bg: #29366f; /* window background */
  --window-title: #ff77a8; /* pink title bar */
  --window-title-alt: #ffccaa; /* peach */
  --accent: #00e436; /* bright green */
  --accent-alt: #29adff; /* cyan */
  --highlight: #ffec27; /* yellow */
  --muted: #83769c; /* lavender gray */
  --text: #fff1e8; /* off-white */
  --shadow: rgba(0,0,0,0.4);
  --pixel-border: #5f574f; /* dark border */
}
*{box-sizing:border-box;image-rendering:pixelated}
body{
  margin:0;
  font-family: 'VT323', monospace;
  font-size:18px;
  background: var(--bg);
  background-image: 
    radial-gradient(circle at 20% 80%, rgba(41,173,255,0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(255,119,168,0.1) 0%, transparent 50%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-darker) 100%);
  color:var(--text);
  min-height:100vh;
  line-height:1.4;
}

/* Scanline effect overlay */
body::before{
  content:'';
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0,0,0,0.03) 2px,
    rgba(0,0,0,0.03) 4px
  );
  pointer-events:none;
  z-index:9999;
}

/* Header - styled like a Picotron title bar */
.site-header{
  text-align:center;
  padding:0;
  background: linear-gradient(180deg, #3b5dc9, #1d2b53);
  border-bottom:4px solid var(--accent);
  position:relative;
}
.site-header::before{
  content:'';
  display:block;
  height:8px;
  background: repeating-linear-gradient(
    90deg,
    var(--window-title) 0px,
    var(--window-title) 8px,
    var(--accent-alt) 8px,
    var(--accent-alt) 16px,
    var(--highlight) 16px,
    var(--highlight) 24px,
    var(--accent) 24px,
    var(--accent) 32px
  );
}
.header-content{
  padding:20px 12px;
}
.title{
  font-family: 'Press Start 2P', cursive;
  margin:0;
  font-size:16px;
  color:var(--highlight);
  text-shadow: 2px 2px 0 var(--window-title), 4px 4px 0 rgba(0,0,0,0.3);
  letter-spacing:1px;
}
.subtitle{
  margin:12px 0 0;
  font-size:16px;
  color:var(--muted);
  letter-spacing:0.5px;
}

/* Container */
.container{
  max-width:960px;
  margin:24px auto;
  padding:0 16px;
}

/* Window styling for sections */
.view{
  background: var(--window-bg);
  border:4px solid var(--pixel-border);
  border-radius:8px;
  box-shadow: 
    0 4px 0 var(--pixel-border),
    0 8px 24px var(--shadow),
    inset 0 1px 0 rgba(255,255,255,0.1);
  overflow:hidden;
}
.view h2{
  margin:0;
  padding:10px 14px;
  background: linear-gradient(180deg, var(--window-title) 0%, #c75b8c 100%);
  color:var(--bg-darker);
  font-family: 'Press Start 2P', cursive;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:1px;
  border-bottom:3px solid var(--pixel-border);
  display:flex;
  align-items:center;
  gap:10px;
}
.view h2::before{
  content:'◆';
  color:var(--highlight);
}
.view h2::after{
  content:'';
  flex:1;
  height:2px;
  background: repeating-linear-gradient(90deg, var(--bg-darker) 0px, var(--bg-darker) 4px, transparent 4px, transparent 8px);
}

/* Posts list grid */
.posts-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:16px;
  padding:16px;
}

/* Card styling - mini windows */
.card{
  background: linear-gradient(180deg, #3b5dc9 0%, var(--window-bg) 100%);
  border:3px solid var(--pixel-border);
  border-radius:6px;
  box-shadow: 
    0 3px 0 var(--pixel-border),
    0 6px 12px var(--shadow);
  overflow:hidden;
  transition: transform 0.1s, box-shadow 0.1s;
}
.card:hover{
  transform:translateY(-2px);
  box-shadow: 
    0 5px 0 var(--pixel-border),
    0 10px 20px var(--shadow);
}
.card-header{
  background: linear-gradient(180deg, var(--accent-alt) 0%, #1e6f9f 100%);
  padding:6px 10px;
  border-bottom:2px solid var(--pixel-border);
  display:flex;
  align-items:center;
  gap:6px;
}
.card-header::before{
  content:'●';
  color:var(--highlight);
  font-size:10px;
}
.card-body{
  padding:12px;
}
.card .meta{
  font-size:14px;
  color:var(--accent);
  margin-bottom:6px;
  font-family: 'Press Start 2P', cursive;
  font-size:8px;
}
.card h3{
  margin:0 0 8px;
  font-size:18px;
  color:var(--window-title-alt);
  line-height:1.3;
}
.card p{
  margin:0 0 12px;
  color:var(--muted);
  font-size:16px;
}

/* Buttons - pixel style */
.btn{
  display:inline-block;
  padding:8px 16px;
  background: linear-gradient(180deg, var(--accent) 0%, #00a030 100%);
  border:3px solid var(--pixel-border);
  border-bottom-width:4px;
  color:var(--bg-darker);
  font-family:'VT323', monospace;
  font-size:16px;
  font-weight:700;
  border-radius:4px;
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:1px;
  transition: all 0.05s;
  box-shadow: 0 2px 0 #005000;
}
.btn:hover{
  background: linear-gradient(180deg, #00ff50 0%, var(--accent) 100%);
  transform:translateY(-1px);
}
.btn:active{
  transform:translateY(2px);
  box-shadow:none;
  border-bottom-width:2px;
}
#back-btn{
  margin:12px;
  background: linear-gradient(180deg, var(--window-title) 0%, #c75b8c 100%);
  box-shadow: 0 2px 0 #803050;
}
#back-btn:hover{
  background: linear-gradient(180deg, #ff99c0 0%, var(--window-title) 100%);
}

/* Hidden view */
.view.hidden{display:none}

/* Post content styling */
.post-content{
  padding:20px;
  background: var(--window-bg);
  line-height:1.6;
}
.post-content h1{
  font-family: 'Press Start 2P', cursive;
  font-size:14px;
  margin:0 0 16px;
  color:var(--highlight);
  text-shadow: 2px 2px 0 var(--window-title);
  line-height:1.6;
}
.post-content h2{
  font-size:22px;
  color:var(--accent-alt);
  border-bottom:2px dashed var(--muted);
  padding-bottom:8px;
  margin:24px 0 12px;
}
.post-content h3{
  font-size:20px;
  color:var(--window-title-alt);
  margin:20px 0 10px;
}
.post-content p{
  margin:0 0 16px;
  font-size:18px;
}
.post-content code{
  background:var(--bg-darker);
  padding:2px 6px;
  border-radius:3px;
  color:var(--accent);
  font-family:'VT323', monospace;
}
.post-content pre{
  background:var(--bg-darker);
  padding:16px;
  border-radius:6px;
  border:2px solid var(--pixel-border);
  overflow-x:auto;
}
.post-content pre code{
  background:none;
  padding:0;
}
.post-content ul, .post-content ol{
  padding-left:24px;
}
.post-content li{
  margin-bottom:8px;
}
.post-content li::marker{
  color:var(--window-title);
}
.post-content blockquote{
  margin:16px 0;
  padding:12px 16px;
  background:rgba(255,119,168,0.1);
  border-left:4px solid var(--window-title);
  border-radius:0 6px 6px 0;
}
.post-content a{
  color:var(--accent-alt);
  text-decoration:none;
  border-bottom:1px dashed var(--accent-alt);
}
.post-content a:hover{
  color:var(--highlight);
  border-bottom-color:var(--highlight);
}
.post-content img{
  max-width:100%;
  border:3px solid var(--pixel-border);
  border-radius:4px;
  margin:16px 0;
}

/* Footer */
.site-footer{
  text-align:center;
  padding:20px 16px;
  color:var(--muted);
  font-size:14px;
  border-top:2px solid var(--pixel-border);
  margin-top:32px;
}
.site-footer::before{
  content:'✦ ';
  color:var(--window-title);
}
.site-footer::after{
  content:' ✦';
  color:var(--accent-alt);
}

/* Pixel decoration elements */
.pixel-decoration{
  height:4px;
  background: repeating-linear-gradient(
    90deg,
    var(--window-title) 0px,
    var(--window-title) 4px,
    var(--accent) 4px,
    var(--accent) 8px,
    var(--accent-alt) 8px,
    var(--accent-alt) 12px,
    var(--highlight) 12px,
    var(--highlight) 16px
  );
}

/* Responsive */
@media (max-width:480px){
  .title{font-size:12px}
  .subtitle{font-size:14px}
  .posts-list{grid-template-columns:1fr;padding:12px}
  .card h3{font-size:16px}
  .post-content{padding:14px}
  .post-content h1{font-size:12px}
}

/* Loading animation */
@keyframes blink{
  0%,100%{opacity:1}
  50%{opacity:0.3}
}
.posts-list:empty::after,
#posts-list:not(:empty){
  animation:none;
}
#posts-list{
  color:var(--accent);
}

/* Scrollbar styling */
::-webkit-scrollbar{width:12px}
::-webkit-scrollbar-track{background:var(--bg-darker)}
::-webkit-scrollbar-thumb{
  background:var(--muted);
  border:2px solid var(--bg-darker);
  border-radius:4px;
}
::-webkit-scrollbar-thumb:hover{background:var(--window-title)}