@font-face{font-family:'Press Start 2P';font-weight:400;font-display:swap;src:url(assets/fonts/PressStart2P-Regular.woff2) format('woff2')}
/* Press Start 2P (OFL, assets/fonts/OFL-PressStart2P.txt) has a single weight: never fake-bold it. Sizes are ~0.72x the old Silkscreen ones. */
:root{
  --sky1:#182a4d; --sky2:#553466; --sky3:#dd6f4f; --sky4:#ffc66c;
  --sea:#0b3a50; --sea2:#1a5a72;
  --face:#e9dec5; --lt:#f4eddc; --hi:#fffdf6; --sh:#a59a7e; --dk:#201713;
  --green:#0b5d2c; --green2:#3fbf6a;
  --gold:#ffc46a; --sun:#ff9f43; --ink:#182a4d; --link:#0b5d2c;
;line-height:1.7}
*{box-sizing:border-box}
html{font-synthesis:none}
html{scroll-behavior:smooth}
body{margin:0;font-family:Tahoma,'MS Sans Serif',Segoe UI,sans-serif;color:var(--ink);
  background:var(--sea); line-height:1.45; font-size:15px}
.sky{position:fixed;inset:0;z-index:-1;
  background:linear-gradient(to bottom,#182a4d 0%,#2f2c5e 13%,#553466 25%,#863f67 36%,#b85567 45%,#dd6f4f 52%,#f5994b 57%,#ffc66c 60%,#1a5a72 60%,#0b3a50 100%)}
.wrap{max-width:980px;margin:18px auto 40px;padding:0 10px}
a{color:var(--link);font-weight:600} a:hover{color:#083d1d}
code{font-family:'Courier New',monospace;background:rgba(255,255,255,.35);padding:1px 4px;border-radius:2px;font-size:.9em}

/* beveled Win98-ish chrome */
.bevel,.card,.jam-panel,.site-header .bevel{
  background:var(--face);
  border:2px solid; border-color:var(--hi) var(--dk) var(--dk) var(--hi);
  box-shadow:inset 1px 1px 0 var(--lt), 2px 2px 0 rgba(0,0,0,.35);
}
.site-header .bevel{display:flex;gap:14px;align-items:center;padding:12px 14px}
.logo{image-rendering:pixelated;width:72px;height:72px;flex:none;border:0;background:none;box-shadow:none;padding:0}
h1{font-family:'Press Start 2P',monospace;font-size:clamp(12px,3.2vw,22px);margin:0;letter-spacing:1px;color:#0b3a50;text-shadow:1px 1px 0 #fffdf6;line-height:1.7}
.tag{margin:4px 0 6px;color:#333;font-size:13px}
.links{margin:6px 0 0;font-size:12px}
.tabs-old{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;background:var(--green);padding:6px;border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi)}
.tabs a{color:#fffdf6;text-decoration:none;font-family:'Press Start 2P',monospace;font-size:8px;padding:6px 10px;
  background:linear-gradient(#3fbf6a,#0b5d2c);border:2px solid;border-color:#7dffaa #083d1d #083d1d #7dffaa;line-height:1.7}
.tabs a:hover{filter:brightness(1.1)}

.marquee-wrap{overflow:hidden;background:#000080;color:#fff1c4;border:2px solid;border-color:#54d6ff #000040 #000040 #54d6ff;padding:4px 0;font-family:'Press Start 2P',monospace;font-size:10px;line-height:1.7}
.marquee{display:inline-block;white-space:nowrap;padding-left:100%;animation:scroll 28s linear infinite}
.marquee a{color:#ffc46a}
@keyframes scroll{to{transform:translateX(-100%)}}

.jam-panel{padding:14px 16px;margin:14px 0;background:linear-gradient(#ffe7ae,#f4eddc)}
.jam-panel h2{font-family:'Press Start 2P',monospace;margin:0 0 8px;font-size:16px;line-height:1.7}
.jam-grid{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
.jam-panel ul{margin:6px 0;padding-left:18px}
.when{font-size:16px;margin:0}
.soon{font-size:13px;margin:8px 0 0}
.counter{text-align:center;background:#111;padding:10px 14px;border:2px inset #444}
.lcd{display:block;font-family:'Courier New',monospace;font-size:28px;letter-spacing:4px;color:#4aff90;text-shadow:0 0 6px #4aff90}

.sec{font-family:'Press Start 2P',monospace;font-size:12px;color:#fff1c4;margin:22px 0 6px;text-align:center;line-height:1.7}
.sec span{background:#0b3a50;padding:4px 14px;border:2px solid #ff9f43;box-shadow:2px 2px 0 #201713}
.sec-lede{background:rgba(244,237,220,.92);padding:10px 12px;border:1px solid #a59a7e;margin:0 0 14px;font-size:13.5px}

.grid{display:grid;gap:16px}
.card{overflow:hidden}
.card .banner{display:block;background:#0b3a50}
.card .banner img{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges}
.card .body{padding:10px 12px 12px}
.card h3{font-family:'Press Start 2P',monospace;font-size:10px;margin:0 0 4px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;line-height:1.7}
.meta{font-size:12.5px;color:#444;margin-bottom:6px}
.blurb{margin:0 0 8px}
.note{margin:0 0 8px;padding:6px 8px;background:#ffe7ae;border:1px dashed #dd6f4f;font-size:12.5px}
.badge{font-family:'Press Start 2P',monospace;font-size:8px;padding:2px 6px;border:1px solid #201713;background:#cfe8d8;line-height:1.7}
.badge.studio{background:#5ff0c8}.badge.jam{background:#ffc46a}.badge:not(.studio):not(.jam){background:#ffe7ae}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.btn{display:inline-block;font-family:'Press Start 2P',monospace;font-size:8px;text-decoration:none;padding:8px 12px;
  border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);color:#fffdf6;line-height:1.7}
.btn.play{background:linear-gradient(#3fbf6a,#0b5d2c)}
.btn.dl{background:linear-gradient(#2f628f,#14324f)}
.btn.itch{background:linear-gradient(#fa5c5c,#a32020)}
.btn:hover{filter:brightness(1.08)}
.btn:active{border-color:var(--dk) var(--hi) var(--hi) var(--dk)}

.about{padding:14px 16px;margin-top:18px}
.about h2{font-family:'Press Start 2P',monospace;font-size:14px;margin:0 0 10px;line-height:1.7}
.foot{font-size:12px;color:#555;border-top:1px solid #a59a7e;padding-top:8px;margin-top:12px}

@media (max-width:640px){
  .site-header .bevel{flex-direction:column;text-align:center}
  .jam-grid{grid-template-columns:1fr}
  .tabs{justify-content:center}
  .marquee{animation-duration:36s}
  h1{font-size:20px}
}

/* store placeholders */
.stores{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.store{font-family:'Press Start 2P',monospace;font-size:8px;padding:5px 8px;display:inline-flex;flex-direction:column;align-items:center;line-height:1.15;
  border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);text-decoration:none}
.store.soon{background:#d4cdbb;color:#8a8270;cursor:not-allowed;filter:grayscale(1)}
.store.soon i{font-style:normal;font-size:8px;opacity:.8}
.store.live{background:linear-gradient(#54d6ff,#2f628f);color:#fffdf6}
/* desktop: multi-column card grid (3–4 columns at 1280 px); phones stay single column */
@media(min-width:700px){.grid,.jamgrid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr)) !important;align-items:start}}
.card .actions .btn,.store{white-space:nowrap}.card .body{min-width:0}

/* ===== retro beveled tabs (no framework; :target + optional JS) ===== */
.tabs{display:flex;gap:4px;margin:14px 0 0;padding:0 6px;position:relative;z-index:2;overflow-x:auto;scrollbar-width:none}
.tabs a{flex:none;font-family:'Press Start 2P',monospace;font-size:10px;color:#201713;text-decoration:none;padding:9px 14px 7px;
  background:linear-gradient(#e9dec5,#cfc3a6);border:2px solid;border-bottom:none;border-color:var(--hi) var(--dk) transparent var(--hi);
  border-radius:6px 6px 0 0;position:relative;top:2px;line-height:1.7}
.tabs a:hover{background:linear-gradient(#fffdf6,#e9dec5)}
.tabs a.active,.tabs a[aria-selected="true"]{background:var(--face);padding-top:11px;top:2px;z-index:3;color:#0b5d2c}
.panels{background:var(--face);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);box-shadow:2px 2px 0 rgba(0,0,0,.35);padding:4px 14px 18px}
.tabpanel{display:none}
.tabpanel:target{display:block}
html:not(.js) .panels:not(:has(.tabpanel:target)) #featured{display:block}
html.js .tabpanel{display:none} html.js .tabpanel.shown{display:block}
.panels .sec{margin-top:14px}
.panels .sec-lede{background:#f4eddc}
.exp-note{border-left:6px solid #dd6f4f !important}
.badge.exp{background:#dd6f4f;color:#fffdf6}
.badge.win{background:#ffd23c;font-weight:700}

/* game jams */
.join{padding:14px 16px;margin:6px 0 18px;background:linear-gradient(#ffe7ae,#f4eddc)}
.join-head{display:flex;gap:12px;align-items:center}
.join h3{font-family:'Press Start 2P',monospace;margin:0;font-size:12px;line-height:1.7}
.pump{font-size:38px;line-height:1}
.join .when{margin:2px 0 0;font-size:17px;font-weight:700}
.rules{margin:10px 0 12px;padding-left:20px}
.btn.luma{font-size:16px;padding:14px 22px;background:linear-gradient(#ff9d44,#dd6f4f);color:#fffdf6;text-shadow:1px 1px 0 #201713;display:inline-block}
.joinlinks{margin:10px 0 0;font-size:14px}
.placeholder{margin:10px 0 0;padding:6px 8px;border:2px dashed #b85567;background:#fff1c4;font-size:12.5px}
.jam-h{font-family:'Press Start 2P',monospace;font-size:10px;margin:6px 0 10px;line-height:1.7}
.jam-h small{display:block;font-family:Tahoma,sans-serif;font-size:12px;font-weight:400;color:#555;margin-top:2px}
.card.winner{position:relative;border:3px solid #ffd23c;box-shadow:0 0 0 2px #201713,4px 4px 0 rgba(0,0,0,.4);margin-bottom:16px}
.card.winner .body h3{font-size:19px}
.card.winner .blurb{font-size:16px}
.ribbon{font-family:'Press Start 2P',monospace;text-align:center;background:repeating-linear-gradient(90deg,#ffd23c 0 8px,#ffc46a 8px 16px);
  color:#201713;padding:6px;border-bottom:2px solid #201713;letter-spacing:1px;line-height:1.7}

.card.small .body h3{font-size:12px}.card.small .blurb{font-size:13px}
@media(max-width:760px){.jamgrid{grid-template-columns:1fr !important}}
@media(max-width:640px){.tabs a{font-size:11px;padding:8px 9px 6px}.panels{padding:4px 8px 14px}.btn.luma{display:block;text-align:center}}
@media(max-width:640px){.tabs{justify-content:flex-start;padding:0 2px;gap:3px}.tabs a{font-size:10px;padding:8px 7px 6px}}

/* ===== retro search ===== */
.search{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 0;padding:8px 10px}
.search label{font-family:'Press Start 2P',monospace;font-size:8px;color:#0b3a50;line-height:1.7}
.search input{flex:1 1 200px;min-width:0;font:14px 'Courier New',monospace;padding:7px 9px;background:#fffdf6;color:#201713;
  border:2px solid;border-color:var(--dk) var(--hi) var(--hi) var(--dk);outline:none}
.search input:focus{box-shadow:0 0 0 2px #ffc46a}
.qstat{font-family:'Press Start 2P',monospace;font-size:8px;color:#0b5d2c;min-width:6em;line-height:1.7}
.card.nomatch{display:none}
.tabs a[data-count]:not([data-count=""])::after{content:attr(data-count);margin-left:6px;font-size:10px;background:#0b3a50;color:#fff1c4;padding:1px 5px;border-radius:2px}
body.searching .jam-h,body.searching .join{opacity:.55}

/* ===== easter egg overlay ===== */
.egg{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;background:rgba(5,9,15,.92)}
.egg[hidden]{display:none}
.egg-screen{width:min(92vw,900px);text-align:center}
.egg-msg{font-family:'Press Start 2P',monospace;font-size:clamp(12px,2.88vw,19px);color:#4aff90;text-shadow:0 0 8px #4aff90;margin:0 0 14px;line-height:1.7}
.egg.spooky .egg-msg{color:#ff4d5e;text-shadow:0 0 10px #ff4d5e,0 0 2px #fff}
.blink{animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.egg.flick{animation:flick 1.6s steps(1) 1}
@keyframes flick{0%{background:rgba(255,255,255,.35)}6%{background:rgba(5,9,15,.92)}12%{background:rgba(255,255,255,.18)}18%,100%{background:rgba(5,9,15,.92)}}
.egg::after{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0 1px,transparent 1px 3px)}
.egg-frame{position:relative;border:3px solid;border-color:#5a2620 #12060a #12060a #5a2620;box-shadow:0 0 30px rgba(255,77,94,.35);background:#000}
.egg-frame iframe{display:block;width:100%;height:min(75vh,640px);border:0}
.egg-close{position:absolute;top:-14px;right:-14px;z-index:2;font:10px 'Press Start 2P',monospace;width:30px;height:30px;cursor:pointer;
  background:#e9dec5;border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);line-height:1.7}
/* secret cards (hidden finds) */
.secret-card{margin:0 auto;max-width:460px;background:var(--face);padding:14px 16px 16px;text-align:left;position:relative;
  border:3px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);box-shadow:0 0 24px rgba(74,255,144,.35);animation:scin .5s steps(4) 1}
.secret-card[hidden]{display:none}
.sc-tag{font-family:'Press Start 2P',monospace;font-size:8px;display:inline-block;background:#0b3a50;color:#4aff90;padding:2px 6px;margin-bottom:6px;line-height:1.7}
.secret-card h3{font-family:'Press Start 2P',monospace;font-size:16px;margin:0;color:#0b3a50;line-height:1.7}
.sc-sub{font-family:'Press Start 2P',monospace;font-size:8px;color:#b85567;margin:2px 0 8px;line-height:1.7}
.sc-blurb{margin:0 0 12px}
.egg.party .egg-msg{color:#ffd23c;text-shadow:0 0 10px #ff9d44}
.egg.party .secret-card{box-shadow:0 0 28px rgba(255,210,60,.55)}
@keyframes scin{0%{opacity:0;transform:scaleY(.05)}50%{opacity:1;transform:scaleY(.3)}100%{transform:scaleY(1)}}

/* ===================== FEATURE PARITY ADDITIONS (ported from the live desktop) ===================== */
body{padding-bottom:44px}
/* header sea: the live desktop's pixel sunset sea, now a banner strip (tap = splash, 3–7 taps = fish, triple-click = birthday greeting on the day) */
.seastrip{position:relative;height:96px;overflow:hidden;cursor:crosshair;touch-action:manipulation;user-select:none;
  background:linear-gradient(to bottom,#2f2c5e 0%,#553466 18%,#863f67 30%,#b85567 38%,#dd6f4f 44%,#f5994b 49%,#ffc66c 52%,#1a5a72 52%);
  border:2px solid;border-color:var(--dk) var(--hi) var(--hi) var(--dk);border-top:none}
.seastrip canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}
.strip-clock{position:absolute;right:8px;top:6px;font:8px 'Press Start 2P',monospace;color:#fff1c4;text-shadow:1px 1px 0 #201713;opacity:.85;line-height:1.7}
.fx-drop{position:absolute;pointer-events:none;background:#cfeef8;box-shadow:0 0 0 1px #0a3a4f99;z-index:2}
.fx-fish{position:absolute;left:0;top:0;pointer-events:none;z-index:3;will-change:transform,opacity}
.fx-greet,.fx-greet-r{position:absolute;left:0;right:0;overflow:hidden;pointer-events:none;display:flex;justify-content:center}
.fx-greet{align-items:flex-end;z-index:4}.fx-greet-r{align-items:flex-start;z-index:1;opacity:.25}
.fx-greet b,.fx-greet-r b{font-family:'Press Start 2P',monospace;white-space:nowrap;font-size:clamp(10px,2.59vw,22px);color:#fff4dc;
  text-shadow:2px 0 #14324f,-2px 0 #14324f,0 2px #14324f,0 -2px #14324f,2px 2px #14324f,-2px -2px #14324f,2px -2px #14324f,-2px 2px #14324f;line-height:1.7}

/* feedback call-out strip */
.fbstrip{display:flex;align-items:center;gap:10px;margin:10px 0 0;padding:9px 12px;text-decoration:none;color:#201713;font-weight:400;font-size:13.5px;
  background:repeating-linear-gradient(135deg,#ffe7ae 0 14px,#ffd98a 14px 28px);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);box-shadow:2px 2px 0 rgba(0,0,0,.35)}
.fbstrip:hover{filter:brightness(1.05);color:#201713}
.fbstrip em{font-style:normal;font-weight:700;color:#0b5d2c}
.fs-ic{font-size:26px}.fs-go{margin-left:auto;flex:none;font:8px 'Press Start 2P',monospace;background:linear-gradient(#3fbf6a,#0b5d2c);color:#fffdf6;padding:7px 10px;border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);line-height:1.7}
.tabs a.hot{background:linear-gradient(#ffe18a,#ffb347);color:#201713}
.tabs a.hot.active{background:var(--face);color:#0b5d2c}
.tabs a.hot:not(.active)::before{content:"";display:inline-block;width:7px;height:7px;background:#dd2b2b;margin-right:6px;vertical-align:1px;animation:blink 1.2s steps(1) infinite}

/* buttons added to cards */
.btn.fb{background:linear-gradient(#ffd23c,#dd8a1f);color:#201713;text-shadow:none}
.btn.dossier{background:linear-gradient(#2a3a33,#0a0e11);color:#5ff0c8}
.btn:not(.play):not(.dl):not(.itch):not(.fb):not(.dossier):not(.luma){background:linear-gradient(#fffdf6,#d4cdbb);color:#201713}
.badge.vr{background:#54d6ff}
.card.flash{animation:flash 1.8s steps(6) 1}
@keyframes flash{0%,33%,66%{box-shadow:0 0 0 4px #ffd23c}16%,50%,83%{box-shadow:0 0 0 4px transparent}}

/* jam countdown + sponsor */
.jam-count{display:flex;gap:8px;margin:12px 0 4px;flex-wrap:wrap}
.jam-count div{background:#111;border:2px solid;border-color:#444 #000 #000 #444;padding:6px 10px;text-align:center;min-width:64px}
.jam-count b{display:block;font:700 26px 'Courier New',monospace;color:#4aff90;text-shadow:0 0 6px #4aff90}
.jam-count span{font:8px 'Press Start 2P',monospace;color:#9fb8ab;text-transform:uppercase;line-height:1.7}
.jam-live{font:12px 'Press Start 2P',monospace;color:#b85567;line-height:1.7}
.sponsor{background:#fffdf6;padding:10px 12px;margin:0 0 14px;max-width:420px}
.sp-h{font:8px 'Press Start 2P',monospace;color:#888;text-transform:uppercase;margin-bottom:6px;line-height:1.7}
.sponsor img{height:24px;width:auto;display:block;margin-bottom:8px}
.sponsor ul{margin:0;padding-left:18px;font-size:13px}.sp-d{margin:6px 0 0;font-size:12px}

/* feedback tab */
.noticed{display:flex;gap:12px;align-items:center;padding:12px 14px;margin:0 0 14px;background:linear-gradient(#0b3a50,#14324f);color:#fff1c4}
.noticed b{color:#ffd23c;font-family:'Press Start 2P',monospace;font-size:10px;line-height:1.7}
.nt-ic{font-size:30px;color:#ffd23c;animation:blink 1.6s steps(1) infinite}
.fbgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;align-items:start}
.inset{background:#fffdf6;padding:12px 14px}
.fbbox h3,.me-h{font-family:'Press Start 2P',monospace;margin:0 0 6px;font-size:10px;color:#0b3a50;line-height:1.7}
.me-h{font-size:12px}
.fbbox label,.mebox label{display:block;font-size:12.5px;margin:10px 0 3px;color:#333}
.in{width:100%;font:14px Tahoma,sans-serif;padding:7px 8px;background:#fff;color:#201713;border:2px solid;border-color:var(--dk) var(--hi) var(--hi) var(--dk)}
.in.ta{min-height:110px;resize:vertical}.in.mini{width:auto;font-size:12px;padding:3px 5px}
.fbbox .btn{margin-top:10px;cursor:pointer}.btn.big{font-size:14px;padding:11px 18px}
.sub{font-size:12.5px;color:#555;margin:4px 0 6px}
.stubnote{margin:10px 0 0;padding:6px 8px;border:2px dashed #2f628f;background:#e6f3fb;font-size:12px}
.payload{white-space:pre-wrap;font:11.5px 'Courier New',monospace;background:#0a0e0a;color:#4aff90;padding:8px;margin:8px 0 0;border:2px solid;border-color:#000 #444 #444 #000}
.msg{display:none;margin-top:10px;padding:7px 9px;font-size:12.5px;border:2px solid}
.msg.show{display:block}.msg.ok{background:#e6f7e6;border-color:#3a8f3a;color:#1c5c1c}.msg.bad{background:#fbe6e6;border-color:#bb2233;color:#8a1c1c}
.who{display:flex;align-items:center;gap:10px}.rk{font-size:30px}.lvl{font:10px 'Press Start 2P',monospace;color:#0b3a50;line-height:1.7}.hd{font-size:12px;color:#555}
.btn.mini{margin-left:auto;font-size:10px;padding:5px 8px;cursor:pointer}
.xpbar{height:16px;background:#fff;border:2px solid;border-color:var(--dk) var(--hi) var(--hi) var(--dk);margin:10px 0 3px}
.xpbar i{display:block;height:100%;background:repeating-linear-gradient(90deg,#3fbf6a 0 6px,#0b5d2c 6px 8px)}
.xpmeta{display:flex;justify-content:space-between;font:8px 'Press Start 2P',monospace;color:#555;line-height:1.7}
.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}
.stats3>div{text-align:center;background:#f4eddc;border:2px solid;border-color:var(--dk) var(--hi) var(--hi) var(--dk);padding:5px}
.stats3 b{display:block;font:12px 'Press Start 2P',monospace;color:#0b3a50;line-height:1.7}.stats3 span{font:8px 'Press Start 2P',monospace;color:#777;line-height:1.7}
.stats3.big b{font-size:26px}
.ladder{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.ladder span{font-size:11px;padding:2px 5px;background:#e9dec5;color:#999;border:1px solid #cfc3a6}
.ladder span.on{background:#cfe8d8;color:#0b5d2c;border-color:#3fbf6a}
.row{display:flex;gap:6px}.row .btn{margin:0}
.xptable{margin-top:12px}.kv{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dotted #cfc3a6;font-size:13px}.kv i{font-style:normal;font-family:'Press Start 2P',monospace;color:#0b5d2c;line-height:1.7}

/* what's new */
.changelog{display:grid;gap:10px}
.entry{background:#fffdf6;border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);padding:10px 12px}
.emeta{display:flex;gap:8px;align-items:center}.etag{font:8px 'Press Start 2P',monospace;background:#0b3a50;color:#fff1c4;padding:2px 6px;line-height:1.7}.edate{font:8px 'Press Start 2P',monospace;color:#888;line-height:1.7}
.entry h4{font-family:'Press Start 2P',monospace;margin:6px 0 4px;font-size:10px;line-height:1.7}.entry ul{margin:0;padding-left:18px;font-size:13.5px}

/* about extras */
.biolinks{display:flex;flex-wrap:wrap;gap:8px}

/* windows (the live desktop's small apps as retro dialogs) */
.bwin{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(94vw,520px);max-height:min(82vh,640px);display:flex;flex-direction:column;z-index:1000;
  background:var(--face);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);box-shadow:inset 1px 1px 0 var(--lt),4px 4px 0 rgba(0,0,0,.45)}
.bwin[hidden]{display:none}
.bwin.term{width:min(94vw,660px)}.bwin.dialog{width:min(94vw,420px)}
.wtitle{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 4px 8px;background:linear-gradient(90deg,#0b3a50,#2f628f);color:#fffdf6;
  font:8px 'Press Start 2P',monospace;cursor:move;touch-action:none;user-select:none;line-height:1.7}
.wclose{font:8px 'Press Start 2P',monospace;width:24px;height:22px;cursor:pointer;background:var(--face);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);line-height:1.7}
.bwin .wbody{overflow:auto;background:#fffdf6;flex:1;min-height:0}
.bwin .mebox{padding:12px 14px}
.bcd{padding:16px;text-align:center}.bcd-logo{width:135px;height:135px;image-rendering:pixelated;border:0;background:none;box-shadow:none;display:block;margin:0 auto 6px}
.bcd h3{font-family:'Press Start 2P',monospace;font-size:12px;margin:0 0 6px;line-height:1.7}.btn.wide{display:block;margin-top:8px;text-align:center}
.ck{padding:12px 14px}.ck p{margin:6px 0}.ck-btns{display:flex;justify-content:flex-end;gap:8px}.ck-btns .btn{cursor:pointer}
.termbody{background:#0a0e0a;color:#4aff90;font-family:'Courier New',ui-monospace,monospace;font-size:14px;line-height:1.4;padding:8px 10px;min-height:340px;height:100%;overflow-y:auto;cursor:text;position:relative}
.termbody::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px)}
.term-line{white-space:pre-wrap;word-break:break-word}.termbody a{color:#54d6ff}
.c-cy{color:#54d6ff}.c-dim{color:#2f8f5a}.c-warn{color:#ffd24a}.c-err{color:#ff5c5c}
.term-input{display:flex;align-items:baseline}.term-ps1{color:#54d6ff;white-space:pre}
.term-cmd{flex:1;background:transparent;border:0;color:#4aff90;font:inherit;outline:none;caret-color:#4aff90}
.bwin.term .wbody{background:#0a0e0a}
.qznav{display:flex;gap:2px;background:#0a0e11;padding:4px 4px 0}.qznav a{font:8px 'Press Start 2P',monospace;color:#5ff0c8;text-decoration:none;padding:4px 7px;border:1px solid #1e2d27;border-bottom:none;line-height:1.7}
.bwin.qzwin .wbody{background:#0a0e11}
.qz{padding:18px 20px;background:#0a0e11;color:#cfe8d8;font-family:'Courier New',ui-monospace,monospace;font-size:13px;line-height:1.55;min-height:100%}
.qz h4{margin:0 0 2px;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:#cfe8d8}
.qz .stamp{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#6d8b7c;margin-bottom:14px}
.qz .rule{height:1px;background:#1e2d27;margin:12px 0}.qz .amber{color:#ffb347}.qz .org{color:#5ff0c8}
.qz ol{margin:0;padding-left:20px}.qz li{margin:7px 0}.qz p{margin:9px 0}.qz .hand{color:#9fb8ab;margin:7px 0}.qz .hand b{color:#cfe8d8;font-weight:normal}
.qz .kv{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dotted #1e2d27}.qz .kv i{font-style:normal;color:#5ff0c8}
.qz .plate{text-align:center;margin:16px 0 10px}.qz .plate b{display:inline-block;font-size:32px;letter-spacing:11px;color:#5ff0c8;text-shadow:0 0 14px rgba(95,240,200,.45)}
.qz .foot{margin-top:14px;font-size:11px;color:#5d7469;border:0}

/* taskbar + start menu + context menu */
#taskbar{position:fixed;left:0;right:0;bottom:0;height:38px;z-index:900;display:flex;align-items:center;gap:6px;padding:3px 4px;background:var(--face);border-top:2px solid var(--hi);box-shadow:0 -1px 0 var(--dk)}
#start{cursor:pointer;color:#201713;font-size:12px;padding:6px 10px}#start .hx{color:#0b5d2c}#start.active{border-color:var(--dk) var(--hi) var(--hi) var(--dk)}
.tb-fb{font:8px 'Press Start 2P',monospace;text-decoration:none;color:#201713;padding:6px 9px;background:linear-gradient(#ffe18a,#ffb347);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);line-height:1.7}
.tb-sp{flex:1}
#trayuser{display:flex;gap:6px;align-items:center;padding:4px 9px;font-size:12px;cursor:pointer;max-width:170px;border:1px solid;border-color:var(--sh) var(--hi) var(--hi) var(--sh)}
#trayuser .tu{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tray{padding:4px 10px;font-size:12px;border:1px solid;border-color:var(--sh) var(--hi) var(--hi) var(--sh)}
#startmenu{position:fixed;left:4px;bottom:38px;z-index:950;display:none;width:250px;background:var(--face);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);box-shadow:3px 3px 0 rgba(0,0,0,.4)}
#startmenu.open{display:flex}
.sm-side{width:28px;background:linear-gradient(#2f628f,#0b3a50);position:relative}.sm-side span{position:absolute;left:50%;bottom:10px;transform:translateX(-50%) rotate(-90deg);transform-origin:center;white-space:nowrap;color:#cfe0ff;font:8px 'Press Start 2P',monospace;letter-spacing:2px;translate:0 -60px;line-height:1.7}
.sm-items{flex:1;display:flex;flex-direction:column;padding:3px}
.sm-items button,#ctxmenu button{text-align:left;font:13px Tahoma,sans-serif;padding:6px 8px;background:none;border:0;cursor:pointer;color:#201713}
.sm-items button:hover,#ctxmenu button:hover,.sm-items button:focus-visible{background:#0b3a50;color:#fffdf6}
.sm-items hr,#ctxmenu hr{border:0;border-top:1px solid var(--sh);border-bottom:1px solid var(--hi);margin:3px 2px}
.sm-foot{font-size:10.5px;color:#666;text-align:center;padding:4px}
#ctxmenu{position:fixed;z-index:1200;display:none;flex-direction:column;min-width:180px;padding:3px;background:var(--face);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);box-shadow:3px 3px 0 rgba(0,0,0,.4)}
#ctxmenu.open{display:flex}
#toast{position:fixed;left:50%;bottom:52px;transform:translateX(-50%) translateY(20px);opacity:0;z-index:1300;pointer-events:none;transition:.25s;
  font-size:13px;background:#0b3a50;color:#fff1c4;padding:8px 12px;border:2px solid #ffc46a;max-width:90vw}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* dive */
#divescape{position:fixed;inset:0;z-index:2000;background:#062a3d;transform:translateY(100%);opacity:0;pointer-events:none;transition:transform .62s cubic-bezier(.5,.05,.2,1),opacity .45s}
#divescape.on{transform:none;opacity:1;pointer-events:auto}#divescape iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
#divesurface{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:1;font-size:11px;color:#bfe6ff;background:#00101999;border:1px solid #ffffff33;padding:6px 10px;cursor:pointer}
body.diving .wrap{filter:blur(8px) brightness(.6);transition:filter .55s}
.secret-card .btn.fb[hidden]{display:none}
@media(max-width:760px){.fbgrid{grid-template-columns:1fr}.fbstrip{flex-wrap:wrap}.fs-go{margin-left:0}}
@media(max-width:640px){.bwin{top:auto;bottom:40px;transform:translateX(-50%);max-height:78vh}.seastrip{height:80px}#trayuser{max-width:110px}.tb-fb{font-size:10px}}
@media (prefers-reduced-motion:reduce){#divescape,.marquee{transition:none;animation:none}}
/* 7 tabs (VR Games added): wrap instead of side-scrolling */
.tabs{flex-wrap:wrap;overflow:visible;row-gap:2px}
.card .banner img[src$="/casta.png"],.card .banner img[src$="/ant.png"]{image-rendering:auto}  /* painted covers: smooth scaling */

/* Coral Reef page background (assets/reef/reef.js): Coral Reef by Luke (BioCraftEd) */
#reefbg{position:fixed;inset:0;width:100%;height:100%;z-index:-1;display:block;image-rendering:pixelated;image-rendering:crisp-edges;opacity:0;transition:opacity .8s;pointer-events:none}
#reefbg.on{opacity:1}
@media (prefers-reduced-motion:reduce){#reefbg{transition:none}}
.btn.soon{opacity:.6;cursor:default;filter:grayscale(.5)}
/* Header: solid brown sampled from the logo's disc (bcd-logo-45px-native.png, #201713 = rgb 32,23,19) */
.site-header .bevel{background:#201713;border-color:#4a3a30 #0d0806 #0d0806 #4a3a30;box-shadow:2px 2px 0 rgba(0,0,0,.35)}
.site-header h1{color:#fff1c4;text-shadow:2px 2px 0 #000}
.site-header .links,.site-header .links a{color:#ffc46a}
.site-header .links a:hover{color:#fff1c4}
.support-h{margin:6px 0 4px}
.support{list-style:none;margin:0 0 10px;padding:0}.support li{padding:5px 0;border-bottom:1px dotted #cfc3a6}.support li:last-child{border-bottom:0}

/* ===================== THEMES (theme.js · localStorage 'bcd-theme') =====================
   Light = the original look (no overrides). Dark = dark-blue faces, night reef forced (reef.js).
   Glass = translucent dark-blue faces + backdrop blur, reef follows the clock. Text targets WCAG AA (>=4.5:1) on the faces. */
#themetoggle{font:12px 'Press Start 2P',monospace;width:34px;height:28px;padding:0;cursor:pointer;color:#201713;line-height:1;
  background:linear-gradient(#fffdf6,#d4cdbb);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi)}
#themetoggle:active{border-color:var(--dk) var(--hi) var(--hi) var(--dk)}
#themetoggle:focus-visible,[data-theme-set]:focus-visible{outline:2px solid #ffc46a;outline-offset:1px}
.sm-theme{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px}
.sm-theme span{font:8px 'Press Start 2P',monospace;color:#0b3a50;width:100%;line-height:1.7}
.sm-items .sm-theme button{flex:1;font:8px 'Press Start 2P',monospace;padding:6px 4px;text-align:center;line-height:1.7;
  background:linear-gradient(#fffdf6,#d4cdbb);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi)}
.sm-items .sm-theme button.on{border-color:var(--dk) var(--hi) var(--hi) var(--dk);background:#0b3a50;color:#fff1c4}
.fb-share{font-size:12px;margin:10px 0 0;padding:6px 8px;border-left:4px solid #2f628f;background:#e6f3fb;color:#14324f}

html[data-theme=dark],html[data-theme=glass]{
  --face:#16264a; --lt:#22375f; --hi:#4a66a0; --sh:#0e1a33; --dk:#03070f; --ink:#e8eefb; --link:#8ee8ad;
  --panel2:#1d3159; --well:#0f1c38; --muted:#b4c2dd; color-scheme:dark}
html[data-theme=glass]{--face:rgba(14,28,62,.62); --panel2:rgba(26,46,88,.55); --well:rgba(8,16,36,.6); --lt:rgba(120,160,230,.25); --hi:rgba(150,185,255,.55)}
:is([data-theme=dark],[data-theme=glass]) body{color:var(--ink)}
:is([data-theme=dark],[data-theme=glass]) a:not(.btn):not(.store):not(.fbstrip):not(.tb-fb):not([role=tab]){color:var(--link)}
:is([data-theme=dark],[data-theme=glass]) a:not(.btn):hover{color:#c6f7d6}
:is([data-theme=dark],[data-theme=glass]) h1,:is([data-theme=dark],[data-theme=glass]) h2,:is([data-theme=dark],[data-theme=glass]) h3,:is([data-theme=dark],[data-theme=glass]) h4{color:var(--ink);text-shadow:none}
:is([data-theme=dark],[data-theme=glass]) :is(.sec-lede,.panels .sec-lede,.inset,.sponsor,.entry,.stats3>div,.bwin .wbody,.join,.jam-panel){background:var(--panel2);color:var(--ink);border-color:var(--sh)}
:is([data-theme=dark],[data-theme=glass]) .entry{border-color:var(--hi) var(--dk) var(--dk) var(--hi)}
:is([data-theme=dark],[data-theme=glass]) :is(.meta,.sub,.hd,.xpmeta,.foot,.sm-foot,.tag,.edate,.sp-h,.jam-h small,.stats3 span,.fbbox label,.mebox label){color:var(--muted)}
:is([data-theme=dark],[data-theme=glass]) :is(.fbbox h3,.me-h,.lvl,.stats3 b,.search label,.secret-card h3,.sm-theme span){color:#9fd4ff}
:is([data-theme=dark],[data-theme=glass]) :is(.qstat,.kv i,.ladder span.on){color:var(--link)}
:is([data-theme=dark],[data-theme=glass]) :is(.in,.search input,.xpbar){background:var(--well);color:var(--ink)}
:is([data-theme=dark],[data-theme=glass]) .in::placeholder,:is([data-theme=dark],[data-theme=glass]) .search input::placeholder{color:#8797b8}
:is([data-theme=dark],[data-theme=glass]) code{background:rgba(255,255,255,.12)}
:is([data-theme=dark],[data-theme=glass]) .tabs a{background:linear-gradient(#24375f,#14223f);color:#dfe8fa}
:is([data-theme=dark],[data-theme=glass]) .tabs a:hover{background:linear-gradient(#2e4675,#1b2c50)}
:is([data-theme=dark],[data-theme=glass]) .tabs a.active,:is([data-theme=dark],[data-theme=glass]) .tabs a[aria-selected=true],:is([data-theme=dark],[data-theme=glass]) .tabs a.hot.active{background:var(--face);color:#ffd27a}
:is([data-theme=dark],[data-theme=glass]) .tabs a.hot:not(.active){background:linear-gradient(#ffe18a,#ffb347);color:#201713}
:is([data-theme=dark],[data-theme=glass]) .btn:not(.play):not(.dl):not(.itch):not(.fb):not(.dossier):not(.luma),
:is([data-theme=dark],[data-theme=glass]) #themetoggle,:is([data-theme=dark],[data-theme=glass]) .sm-items .sm-theme button,:is([data-theme=dark],[data-theme=glass]) .wclose,:is([data-theme=dark],[data-theme=glass]) .egg-close{background:linear-gradient(#2e4675,#1a2b4f);color:#eef3ff}
:is([data-theme=dark],[data-theme=glass]) .sm-items .sm-theme button.on{background:#ffc46a;color:#201713}
:is([data-theme=dark],[data-theme=glass]) :is(.sm-items button,#ctxmenu button,#start){color:var(--ink)}
:is([data-theme=dark],[data-theme=glass]) :is(.sm-items button:hover,#ctxmenu button:hover){background:#ffc46a;color:#201713}
:is([data-theme=dark],[data-theme=glass]) .store.soon{background:#2a3550;color:#a9b4cc}
:is([data-theme=dark],[data-theme=glass]) .ladder span{background:var(--well);color:#9aa8c4;border-color:var(--sh)}
:is([data-theme=dark],[data-theme=glass]) .ladder span.on{background:#123d2a;border-color:#3fbf6a}
:is([data-theme=dark],[data-theme=glass]) :is(.kv,.support li){border-color:#3a4d75}
:is([data-theme=dark],[data-theme=glass]) .placeholder{background:#3a2a1a;color:#ffe2b8}
:is([data-theme=dark],[data-theme=glass]) .stubnote,:is([data-theme=dark],[data-theme=glass]) .fb-share{background:#13304d;color:#d5e9ff;border-color:#54a0e0}
:is([data-theme=dark],[data-theme=glass]) .msg.ok{background:#123d2a;color:#bff5d0}:is([data-theme=dark],[data-theme=glass]) .msg.bad{background:#4a1820;color:#ffd0d6}
:is([data-theme=dark],[data-theme=glass]) .sponsor img{filter:invert(1) hue-rotate(180deg)}
:is([data-theme=dark],[data-theme=glass]) .card .body{color:var(--ink)}
/* Glass: let the reef show through */
html[data-theme=glass] :is(.bevel,.card,.panels,.bwin,#taskbar,#startmenu,#ctxmenu,.secret-card,.fbstrip){-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2)}
html[data-theme=glass] .site-header .bevel{background:rgba(32,23,19,.78)}
html[data-theme=glass] .panels :is(.card,.join,.entry,.inset,.sec-lede,.stats3>div){-webkit-backdrop-filter:none;backdrop-filter:none}
html[data-theme=glass] .bwin .wbody{background:rgba(10,20,44,.55)}
html[data-theme=glass] .bwin.term .wbody,html[data-theme=glass] .bwin.qzwin .wbody{background:#0a0e0a}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){html[data-theme=glass]{--face:rgba(14,28,62,.9);--panel2:rgba(26,46,88,.9)}}
/* game cards: a shade apart from the panel face they sit on */
.card{background:#f6eedb}
html[data-theme=dark] .card{background:#1a3654}
html[data-theme=glass] .card{background:rgba(22,58,88,.66)}
:is([data-theme=dark],[data-theme=glass]) .badge:not(.exp){color:#201713}
@media(max-width:640px){#themetoggle{width:28px;flex:none}#trayuser{max-width:92px;padding:4px 6px}#tray{padding:4px 6px}#taskbar{gap:4px}}
@media(max-width:420px){#start{font-size:10px;padding:6px 6px}.tb-fb{padding:6px 6px}#trayuser{max-width:84px}}
