:root{--navy:#020a3a;--deep:#061788;--blue:#1533ff;--sky:#6f9bff;--ice:#bfe9ff;--cyan:#4df0ff;--glass:rgba(206,222,255,.93);--ink:#06124f;--alarm:#d3123a}
*{box-sizing:border-box}
body{margin:0;color:#fff;font:22px/1.25 "VT323","Courier New",monospace;min-height:100vh;
  background:radial-gradient(ellipse at 25% 8%,#2a4bff 0%,#0d22c8 38%,var(--navy) 100%) fixed}
/* halftone + scanlines */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(150,210,255,.28) 1px,transparent 1.6px) 0 0/6px 6px;
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 55%,#000);mask-image:linear-gradient(90deg,#000,transparent 55%,#000)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9;
  background:repeating-linear-gradient(0deg,rgba(0,0,20,.16) 0 1px,transparent 1px 3px)}
#code{position:fixed;inset:0;z-index:0;overflow:hidden;color:var(--cyan);opacity:.2;font:15px/1 "VT323",monospace;
  word-break:break-all;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}
a{color:var(--cyan)} a:hover{color:#fff;background:var(--blue)}
:focus-visible{outline:2px dotted #fff;outline-offset:2px}
[data-sprite]{display:inline-block;line-height:0;vertical-align:middle}
[data-sprite] svg{display:block}
.page{position:relative;z-index:1;max-width:820px;margin:0 auto;padding:10px}

.marq{overflow:hidden;white-space:nowrap;border:2px solid var(--ice);background:var(--deep);color:var(--cyan);font:12px "Silkscreen",monospace;padding:5px 0}
.marq span{display:inline-block;padding-left:100%;animation:m 26s linear infinite}
@keyframes m{to{transform:translateX(-100%)}}
.strip{height:8px;margin:7px 0;background:repeating-linear-gradient(90deg,var(--cyan) 0 6px,transparent 6px 8px,var(--sky) 8px 12px,transparent 12px 16px)}

header{position:relative;text-align:center;padding:16px 0 4px}
.stack{position:absolute;right:0;top:8px;width:180px;text-align:right}
.stack i{display:block;height:15px;margin:0 0 4px auto;background:var(--blue);border:1px solid #9bb8ff;opacity:.9}
.stack i:nth-child(1){width:170px}.stack i:nth-child(2){width:120px}.stack i:nth-child(3){width:150px}.stack i:nth-child(4){width:90px}
@media(max-width:700px){.stack{display:none}}
.hero img{display:block;width:min(400px,88vw);height:auto}
.hero{display:inline-block;filter:drop-shadow(-3px 0 rgba(255,40,60,.75)) drop-shadow(3px 0 rgba(0,240,255,.8)) drop-shadow(0 0 16px var(--ice));animation:gl 3.2s steps(1) infinite}
@keyframes gl{0%,88%,100%{transform:none}90%{transform:translateX(-5px)}94%{transform:translateX(6px) skewX(4deg)}}
h1{margin:6px 0 0;font:400 clamp(38px,10vw,76px)/1.05 "Kaushan Script","Brush Script MT",cursive;transform:skewX(-4deg);
  background:linear-gradient(180deg,#fff 0%,#a9c0dc 34%,#0b1631 50%,#d4e6f8 53%,#fff 74%,#6d86b8 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1px #05104a;
  filter:drop-shadow(3px 3px 0 var(--blue)) drop-shadow(0 0 10px var(--cyan))}
.tag{margin:2px 0 0;color:var(--ice);font-size:24px}
.blink{animation:bl 1s steps(2,start) infinite;color:#fff;background:var(--alarm);padding:0 4px;font-size:18px}
@keyframes bl{to{visibility:hidden}}

.cols{display:grid;grid-template-columns:190px 1fr;gap:12px;margin-top:8px}
@media(max-width:700px){.cols{grid-template-columns:1fr}}

.win{background:var(--glass);color:var(--ink);border:2px solid;border-color:#fff #0a1a7a #0a1a7a #fff;box-shadow:4px 4px 0 rgba(0,8,80,.75),0 0 18px rgba(77,240,255,.35);margin-bottom:14px}
.bar{display:flex;justify-content:space-between;align-items:center;padding:3px 5px;margin:2px;background:linear-gradient(90deg,#0a1fd0,var(--blue) 60%,#4f7dff);color:#fff;font:11px "Silkscreen",monospace}
.bar b{display:flex;gap:2px}
.bar b i{width:15px;height:15px;background:#dfe8ff;color:var(--ink);font:700 9px/12px "Silkscreen";text-align:center;border:2px solid;border-color:#fff #556 #556 #fff;font-style:normal}
.body{padding:8px 12px 12px;margin:0 2px 2px;background:rgba(255,255,255,.55);border:2px solid;border-color:#7d8fd6 #fff #fff #7d8fd6}

nav .body{background:none;border:0;padding:8px}
nav button{display:block;width:100%;margin:0 0 6px;padding:6px 8px;text-align:left;cursor:pointer;font:12px "Silkscreen",monospace;color:var(--ink);background:#dfe8ff;border:2px solid;border-color:#fff #556 #556 #fff}
nav button:hover{background:#fff}
nav button:active,nav button[aria-selected="true"]{border-color:#556 #fff #fff #556;background:#b8caff}
nav button[aria-selected="true"]::before{content:"► "}
.small{font-size:20px;line-height:1.15;text-align:center}
.small p{margin:0 0 6px}
.tun{width:120px;height:120px;margin:2px auto 8px;border:2px solid;border-color:#556 #fff #fff #556}
.tun svg{display:block;width:100%;height:100%}
.prog{height:14px;border:2px solid;border-color:#556 #fff #fff #556;background:#fff;margin:4px 0 8px;padding:1px}
.prog i{display:block;height:100%;width:87%;background:repeating-linear-gradient(90deg,var(--blue) 0 7px,transparent 7px 9px)}
.counter{display:flex;gap:2px;justify-content:center;margin:4px 0}
.counter i{font:700 18px "VT323";font-style:normal;background:#000;color:var(--cyan);padding:0 5px;border:1px inset #888}
.btn88{display:grid;place-items:center;width:88px;height:31px;margin:6px auto 0;font:9px "Silkscreen";color:#fff;background:linear-gradient(#4f7dff,var(--deep));border:1px solid #fff}

.ascii{display:table;margin:6px auto 0;font:19px/1 "VT323","Courier New",monospace;color:var(--deep);white-space:pre;text-align:left;max-width:100%;overflow:hidden}
.ascii.lt{color:var(--cyan);text-shadow:0 0 6px var(--cyan)}
.ascii.red{color:#a01038}
.oc>img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:2px solid #556}
.empty{color:#2a3fb0;padding:8px 0}
main section{display:none}
main section.on{display:block}
h2{margin:0 0 2px;font:700 15px "Silkscreen",monospace;color:var(--deep)}
.sub{margin:0 0 10px;color:#2a3fb0}

.ph{display:grid;place-items:center;background:radial-gradient(circle,#fff 1px,transparent 1.8px) 0 0/5px 5px,linear-gradient(135deg,#7fa2ff,#1533ff 60%,#020a3a)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.grid figure{margin:0;border:2px solid;border-color:#556 #fff #fff #556;background:#dfe8ff}
.grid .ph,.grid img{display:grid;width:100%;aspect-ratio:1;object-fit:cover}
.grid figcaption{padding:2px 6px;font-size:20px}

.ocs{display:grid;gap:10px}
.oc{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:8px;border:2px dotted var(--blue)}
@media(max-width:480px){.oc{grid-template-columns:1fr}}
.oc .ph{aspect-ratio:3/4}
.oc h3{margin:0;font:700 13px "Silkscreen",monospace;color:var(--blue)}
.oc p{margin:4px 0}
.oc dl{margin:6px 0 0;display:grid;grid-template-columns:auto 1fr;gap:0 10px}
.oc dt{color:#2a3fb0}.oc dd{margin:0}

.entry{padding:8px 0;border-bottom:2px dashed #7d8fd6}
.entry:last-child{border:0}
.entry h3{margin:0;font:700 12px "Silkscreen",monospace;color:var(--deep)}
.entry time{color:#2a3fb0}
.entry p{margin:4px 0 0}

.rant{border-color:#ffd0d8 #6a0018 #6a0018 #ffd0d8;box-shadow:4px 4px 0 rgba(60,0,20,.75),0 0 18px rgba(255,40,80,.4)}
.rant .bar{background:linear-gradient(90deg,#3a0010,var(--alarm) 70%,#ff7a95)}
.rant h2{color:#8a0028}
.rant .sub{color:#a01038}
details{margin:0 0 8px;border:2px solid #8a0028;background:#fff}
summary{cursor:pointer;padding:4px 8px;font:11px "Silkscreen",monospace;color:#fff;background:#8a0028}
details div{padding:4px 10px 8px}
details p{margin:4px 0}

.ring{text-align:center;margin-top:6px}
.ring a{margin:0 4px}
footer{text-align:center;color:var(--ice);padding:10px 0 30px}
@media(prefers-reduced-motion:reduce){.marq span,.hero,.blink{animation:none}.marq span{padding-left:0}}
.oc img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:2px solid #556}
.grid img{cursor:zoom-in}
.entry p+p,details p+p{margin-top:8px}
dialog#lb{background:var(--glass);border:2px solid #fff;padding:8px;max-width:92vw;color:var(--ink);text-align:center}
dialog#lb img{max-width:100%;max-height:78vh}
dialog#lb p{margin:6px 0 0}
dialog#lb::backdrop{background:rgba(2,10,58,.85)}
background-image: url("https://files.catbox.moe/1shazp.jpg");