:root { --bg: #0a0a0f; --fg: #e6fff9; --neon: #00fff7; --glitch: #ff007e; --accent:#10222b; }
html, body { background: var(--bg); color: var(--fg); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
a { color: var(--neon); text-decoration: none; }
.home-hero { padding: 3rem 1rem; text-align: center; }
.glitch { position: relative; display: inline-block; text-shadow: 0 0 8px var(--neon); }
.glitch::before, .glitch::after { content: attr(data-text); position: absolute; left: 0; top: 0; mix-blend-mode: screen; }
.glitch::before { transform: translate(2px, -2px); color: var(--glitch); }
.glitch::after { transform: translate(-2px, 2px); color: var(--neon); }
.post-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(260px,1fr)); gap: 1rem; padding: 1rem; }
.post-card { border: 1px solid rgba(0,255,247,.2); padding: 1rem; border-radius: 8px; background: rgba(0,0,0,.25); backdrop-filter: blur(2px); }
.post-card:hover { border-color: var(--neon); box-shadow: 0 0 12px rgba(0,255,247,.35); }
#splash { position: fixed; inset: 0; display: grid; place-items: center; background: radial-gradient(ellipse at center, #000 0%, #01040a 100%); z-index: 9999; }
#splash .crt { color: var(--neon); font-size: 1.2rem; text-shadow: 0 0 8px var(--neon); }
.blink { animation: blink 1s steps(2, start) infinite; }
#terminal-nav { position: sticky; top: 0; background: rgba(0,0,0,.6); backdrop-filter: blur(5px); border-bottom: 1px solid rgba(0,255,247,.2); z-index: 50; }
#terminal-nav #terminal-menu { display: flex; list-style: none; margin: 0; padding: .5rem 1rem; gap: 1rem; flex-wrap: wrap; }
#nav-toggle { background: transparent; border: 1px solid var(--neon); color: var(--neon); margin: .5rem; display:none; }
#live-console { position: fixed; right: 1rem; bottom: 1rem; width: min(380px, 90vw); max-height: 40vh; overflow: auto; border: 1px solid rgba(0,255,247,.2); background: rgba(5,5,10,.8); border-radius: 8px; padding: .5rem; }
.console-header { font-weight: bold; margin-bottom: .25rem; color: var(--neon); }
.console-feed { font-size: .9rem; line-height: 1.2; }
.tag-cloud-list { display: flex; flex-wrap: wrap; gap: .5rem 1rem; list-style: none; padding: 1rem; }
.tag-cloud-list li { --min: .8; --max: 2.2; font-size: calc(var(--min) * 1rem + (var(--w) * .05rem)); }
.invaders-wrap { display:grid; place-items:center; padding:1rem; }
.invaders-window { border:1px solid rgba(0,255,247,.3); background: rgba(0,0,0,.35); border-radius:8px; padding:1rem; }
.invaders-window header { display:flex; justify-content:space-between; align-items:center; margin-bottom:.5rem; }
.invaders-window .btn { border:1px solid var(--neon); padding:.25rem .5rem; background:transparent; color:var(--neon); cursor:pointer; }
.invaders-full { position:fixed; inset:0; background:#000; z-index:9990; display:flex; align-items:center; justify-content:center; }
.invaders-full .btn-exit { position:fixed; top:1rem; right:1rem; border:1px solid var(--neon); background:transparent; color:var(--neon); padding:.5rem .75rem; }
.fedi-follow{display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; margin:.5rem 0;}
.fedi-follow .btn{border:1px solid var(--neon); background:transparent; color:var(--neon); padding:.25rem .6rem; cursor:pointer; border-radius:6px;}
.fedi-follow .btn:hover{box-shadow:0 0 10px rgba(0,255,247,.3);}
.fedi-follow .handle{opacity:.85; font-family:ui-monospace, Menlo, Consolas, monospace;}
.fedi-note{font-size:.9rem; opacity:.8;}
/* Koenig required width classes */
.kg-width-wide { width: min(1100px, 96vw); margin-left: auto; margin-right: auto; }
.kg-width-full { width: 100vw; margin-left: 50%; transform: translateX(-50%); }
/* Common Koenig cards */
.kg-embed-card, .kg-gallery-card, .kg-bookmark-card, .kg-header-card, .kg-callout-card, .kg-toggle-card,
.kg-image-card { margin: 1.25rem 0; }
.kg-bookmark-card { border:1px solid rgba(0,255,247,.2); border-radius:8px; overflow:hidden; }
.kg-bookmark-container { display:flex; gap:1rem; padding:1rem; align-items:center; }
.kg-bookmark-content { flex:1; }
.kg-bookmark-title { font-weight:700; margin:0 0 .25rem }
.kg-bookmark-description { opacity:.85; font-size:.95rem }
.kg-bookmark-metadata { opacity:.7; font-size:.85rem }
.kg-gallery-card { display:grid; gap:.5rem }
.kg-gallery-container { display:grid; gap:.5rem; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.kg-callout-card { border-left: 3px solid var(--neon); background: rgba(0,255,247,.06); padding: .75rem 1rem; border-radius:6px; }
.kg-toggle-card { border: 1px solid rgba(0,255,247,.2); border-radius:6px; overflow:hidden; }
.kg-toggle-heading { padding:.6rem 1rem; background: rgba(0,0,0,.4); cursor:pointer; }
.kg-toggle-content { padding: .6rem 1rem; }
.kg-header-card { text-align:center; padding:2rem 1rem; border-bottom:1px solid rgba(0,255,247,.12) }
.kg-button-card { display:inline-block; border:1px solid var(--neon); padding:.5rem .9rem; border-radius:6px }
.kg-image-card.kg-width-full img { width:100%; height:auto; display:block }