*{box-sizing:border-box}body{margin:0;background:#0b0620 radial-gradient(circle at 50% 0,#2a0f5a,#0b0620 70%);color:#fff;font-family:"Courier New",monospace;min-height:100vh;text-align:center}
header{padding:24px 12px 8px}h1{margin:0;font-size:clamp(28px,7vw,64px);letter-spacing:4px;color:#ffe14d;text-shadow:3px 3px 0 #e0306e,6px 6px 0 #2bd9ff}h1 span{color:#2bd9ff;text-shadow:3px 3px 0 #e0306e}
.blink{color:#7CFF6B;animation:b 1.2s steps(2) infinite}@keyframes b{50%{opacity:0}}
main{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1200px;margin:16px auto;padding:12px}
.card{display:block;background:#160c33;border:4px solid #2bd9ff;border-radius:12px;color:#fff;text-decoration:none;overflow:hidden;outline:none;transition:transform .12s}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-bottom:4px solid #2bd9ff;image-rendering:auto}
.card h2{margin:12px 8px 4px;color:#ffe14d;font-size:24px}.card p{margin:0 12px 16px;color:#cfd6ff;line-height:1.35}
.card:hover,.card:focus,.card.focus{transform:scale(1.04);border-color:#ffe14d;box-shadow:0 0 0 4px #e0306e,0 0 24px #ffe14d}
footer{color:#8a85b5;padding:16px;font-size:14px}
@media (max-width:640px){main{grid-template-columns:1fr}}
.suggest-card{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:200px;border-style:dashed;border-color:#7CFF6B}
.suggest-card .plus{font-size:64px;color:#7CFF6B;line-height:1;text-shadow:3px 3px 0 #e0306e}
#suggest{max-width:640px;margin:8px auto 0;padding:0 12px}#suggest>h2{color:#7CFF6B;font-size:clamp(18px,4vw,26px);letter-spacing:2px;text-shadow:2px 2px 0 #e0306e}
#sg-form,#sg-ok{background:#160c33;border:4px solid #7CFF6B;border-radius:12px;padding:16px;text-align:left;box-shadow:0 0 18px rgba(124,255,107,.35)}
#sg-form label{display:block;color:#ffe14d;font-weight:bold;margin-bottom:12px}#sg-form small{color:#8a85b5;font-weight:normal}
#sg-form input,#sg-form textarea{display:block;width:100%;margin-top:6px;padding:12px;font:16px "Courier New",monospace;color:#fff;background:#0b0620;border:3px solid #2bd9ff;border-radius:8px;outline:none}
#sg-form input:focus,#sg-form textarea:focus{border-color:#ffe14d;box-shadow:0 0 0 3px #e0306e}#sg-form .bad{border-color:#ff4d6d}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.err{color:#ff7a8f;min-height:1.2em;margin:4px 0 8px}
.sg-btns{display:flex;gap:12px;flex-wrap:wrap}#suggest button{font:bold 18px "Courier New",monospace;padding:12px 22px;border-radius:8px;border:3px solid #ffe14d;background:#e0306e;color:#fff;cursor:pointer;min-height:48px}
#suggest button.ghost{background:transparent;border-color:#2bd9ff;color:#2bd9ff}#suggest button:hover,#suggest button:focus{outline:none;box-shadow:0 0 0 3px #ffe14d,0 0 16px #ffe14d}#suggest button:disabled{opacity:.6;cursor:wait}
#sg-ok{text-align:center}#sg-ok p{color:#7CFF6B;font-size:20px;font-weight:bold}
#sg-coming{margin-top:16px}#sg-coming h3{color:#2bd9ff;letter-spacing:2px}#sg-list{list-style:none;padding:0;margin:0}
#sg-list li{background:#160c33;border:2px solid #2bd9ff;border-radius:8px;margin:6px 0;padding:8px 12px;display:flex;justify-content:space-between;gap:8px;text-align:left}
#sg-list .tag{color:#0b0620;background:#ffe14d;border-radius:4px;padding:0 6px;font-weight:bold;white-space:nowrap;font-size:13px;align-self:center}#sg-list .tag.building{background:#7CFF6B}#sg-list .tag.done{background:#2bd9ff}
.card{position:relative}.card .badge:empty{display:none}
.card .badge{position:absolute;top:10px;right:10px;background:#e0306e;color:#fff;font-size:13px;font-weight:bold;letter-spacing:1px;padding:4px 8px;border-radius:6px;box-shadow:0 0 0 2px #ffe14d}
.card.top .badge{background:#ffe14d;color:#160c33;box-shadow:0 0 0 2px #e0306e}
.tagline{margin:8px 0 0;color:#ffe14d;font-size:clamp(12px,2.6vw,18px);letter-spacing:2px}
.foot-links{margin-top:8px}.foot-links a{color:#2bd9ff}.foot-links a:hover{color:#ffe14d}
.ad-slot{max-width:970px;margin:24px auto 0;padding:0 12px}.ad-slot[hidden]{display:none}.ad-slot:empty{display:none}
.page{max-width:760px;margin:0 auto;padding:8px 16px 32px;text-align:left;line-height:1.6}.page h2{color:#ffe14d;font-size:20px;margin-top:28px}.page a{color:#2bd9ff}.page .back{display:inline-block;margin-bottom:8px}
.ad-slot ins.adsbygoogle[data-ad-status="unfilled"]{display:none!important}.ad-slot:has(ins[data-ad-status="unfilled"]){display:none}
