@font-face{font-family:'PM Quote';src:url(/assets/fonts/PermanentMarker-quote.woff2) format('woff2');font-display:swap}
:root{--bg:#0b0b0b;--card:#171512;--gold:#D4AF37;--gold2:#f0cf7a;--text:#f3ede2;--dim:#c2b9a8;--line:#3a3328}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:21px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.wrap{max-width:680px;margin:0 auto;padding:26px 18px 50px}
h1,h2,.mark{font-family:'PM Quote','Permanent Marker',cursive;color:var(--gold);font-weight:400;line-height:1.2;margin:0 0 12px;letter-spacing:.02em}
h1{font-size:42px;text-align:center;margin-top:8px}
h2{font-size:30px}
.sub{text-align:center;color:var(--dim);margin:0 0 26px;font-size:21px}
.card{background:var(--card);border:2px solid var(--line);border-radius:18px;padding:22px 18px;margin:0 0 22px}
.btn{display:block;width:100%;text-align:center;font-weight:700;font-size:23px;line-height:1.25;padding:20px 16px;border-radius:14px;background:var(--gold);color:#111;text-decoration:none;margin:12px 0}
.btn small{display:block;font-weight:400;font-size:17px}
.btn.ghost{background:transparent;color:var(--gold);border:2px solid var(--gold)}
.btn.off{background:#2b2620;color:var(--dim);border:2px dashed #5a4f3d}
.small{font-size:18px;color:var(--dim)}
.say{color:var(--gold2);font-family:'PM Quote','Permanent Marker',cursive;font-size:24px;letter-spacing:.02em}
ol.steps{list-style:none;padding:0;margin:14px 0 0}
ol.steps li{display:flex;gap:14px;align-items:flex-start;margin:0 0 16px}
.num{flex:0 0 50px;height:50px;border-radius:50%;background:var(--gold);color:#111;font:400 27px/50px 'PM Quote','Permanent Marker',cursive;text-align:center}
.num + span{padding-top:8px}
/* board picker (no script needed) */
.pick input{position:absolute;opacity:0;width:1px;height:1px}
.pick label{display:block;padding:18px 16px;margin:0 0 12px;border:3px solid var(--line);border-radius:14px;font-weight:700;font-size:23px;cursor:pointer;background:#100f0d}
.pick label::before{content:"";display:inline-block;width:26px;height:26px;border:3px solid var(--gold);border-radius:50%;vertical-align:-5px;margin-right:14px}
.pick input:checked + label{border-color:var(--gold);background:#241f15;color:var(--gold2)}
.pick input:checked + label::before{background:var(--gold);box-shadow:inset 0 0 0 4px #241f15}
.pick input:focus-visible + label{outline:3px solid var(--gold2);outline-offset:2px}
.desc{display:none;margin:-4px 0 16px;padding:14px 16px;border-left:5px solid var(--gold);background:#1e1a14;border-radius:0 12px 12px 0}
.desc p{margin:0 0 8px}
.desc a{color:var(--gold2);font-weight:700}
#b1:checked ~ .d1,#b2:checked ~ .d2,#b3:checked ~ .d3,#b4:checked ~ .d4{display:block}
.hint{color:var(--dim);font-size:18px;margin:4px 0 0}
#b1:checked ~ .hint,#b2:checked ~ .hint,#b3:checked ~ .hint,#b4:checked ~ .hint{display:none}
/* kids missions */
label.m{display:flex;gap:14px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line);cursor:pointer}
label.m:last-child{border-bottom:0}
label.m input{appearance:none;-webkit-appearance:none;flex:0 0 34px;height:34px;border:3px solid var(--gold);border-radius:8px;margin:0;background:transparent}
label.m input:checked{background:var(--gold);box-shadow:inset 0 0 0 5px var(--card)}
label.m input:checked + span{color:var(--dim);text-decoration:line-through}
details summary{font-family:'PM Quote','Permanent Marker',cursive;color:var(--gold);font-size:30px;cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::after{content:" +"}
details[open] summary::after{content:" \2013"}
.rules{border:2px solid #8a2b2b;background:#221313;border-radius:12px;padding:12px 14px;margin:12px 0}
.rules b{color:#ff9c8a}
.rules ul{margin:6px 0 0;padding-left:22px}
a{color:var(--gold2)}
footer{text-align:center;color:var(--dim);font-size:17px;margin-top:30px}
footer .mark{display:block;font-size:34px;margin:10px 0 0}
@media(max-width:420px){h1{font-size:36px}h2,details summary{font-size:27px}body{font-size:20px}}
