:root{--bg:#101a3a;--fg:#fff8e6;--accent:#ffd35c;--on-accent:#101a3a;--card:rgba(255,211,92,.09);--head:'Baloo 2','Fredoka',system-ui,sans-serif;--fxanim:fxBounce;--fxdur:.8s;--step:45ms;--cover-bg:radial-gradient(ellipse at 50% 0,#4a5bd855,transparent 60%),linear-gradient(#0a102855,#0a1028cc 60%,#0a1028f5)}
body{font-family:'Fredoka',system-ui,sans-serif;font-size:17px;background:radial-gradient(circle at 20% 0,#26357a 0,transparent 45%),radial-gradient(circle at 90% 100%,#3a2a78 0,transparent 40%),var(--bg) fixed}
.cover h1{font-weight:700;color:#ffd35c;text-shadow:0 4px 0 #b8861a,0 10px 24px rgba(0,0,0,.4);letter-spacing:.02em}
.cover::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#ffd35c 2px,transparent 3px),radial-gradient(#ff7aa8 2px,transparent 3px),radial-gradient(#5ce1e6 2px,transparent 3px),radial-gradient(#fff 1.5px,transparent 2.5px);background-size:90px 90px,130px 130px,110px 110px,70px 70px;background-position:0 0,40px 60px,70px 20px,20px 45px;opacity:.5;animation:gcDrift 14s linear infinite}
@keyframes gcDrift{to{background-position:0 90px,40px 190px,70px 130px,20px 115px}}
.sec h2{font-weight:700;font-size:1.9rem}
.sec h2::after{content:"★ ★ ★";display:block;font-size:.8rem;letter-spacing:.4em;margin-top:6px;animation:gcTw 2.4s ease-in-out infinite}
@keyframes gcTw{0%,100%{opacity:.5}50%{opacity:1}}
.card{border:2px dashed rgba(255,211,92,.6);border-radius:24px}
.btn{background:linear-gradient(135deg,#ffe38a,#f5b82e);color:#101a3a;border-radius:999px;font-weight:600;box-shadow:0 5px 0 #b8861a}.btn:active{transform:translateY(3px);box-shadow:0 2px 0 #b8861a}.btn.alt{background:transparent;color:var(--accent);border:2px solid var(--accent);box-shadow:none}
.pf,.story img,.gal img{border-radius:24px;border:4px solid var(--accent);padding:0;box-shadow:0 10px 0 rgba(184,134,26,.45)}
