:root{--ink:#2B1210;--red:#C8261B;--yel:#FFC93C;--cr:#FFF1D0}
body{margin:0;background:var(--cr);font-family:Nunito,sans-serif;color:var(--ink);font-size:17px}
h1,h2,h3{font-family:Fredoka,sans-serif;margin:0;font-weight:700;color:var(--ink)}
a{color:var(--red);font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;background:var(--red);color:#fff;font:700 18px Fredoka,sans-serif;text-decoration:none;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);cursor:pointer}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink);color:#fff}
.btn.y{background:var(--yel);color:var(--ink)}.btn.y:hover{color:var(--ink)}.btn.w{width:100%;box-sizing:border-box}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px;box-sizing:border-box}
.card{background:#fff;border:3px solid var(--ink);border-radius:28px;box-shadow:8px 8px 0 var(--ink);padding:28px;box-sizing:border-box}
.chip{display:inline-block;border:3px solid var(--ink);border-radius:999px;padding:4px 14px;font:700 15px Fredoka,sans-serif;background:var(--yel);color:var(--ink)}
.num{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:3px solid var(--ink);color:#fff;font:700 28px Fredoka,sans-serif}
.sq{position:absolute}
.nav a:not(.btn){color:var(--cr);font-weight:800;text-decoration:none}.nav a:not(.btn):hover{text-decoration:underline}
.pk{flex:1;display:flex;flex-direction:column;gap:14px}
.pk ul{list-style:none;padding:0;margin:0;flex:1}
.pk li{padding:10px 0;border-top:2px dashed var(--ink)}
details{border:3px solid var(--ink);border-radius:20px;background:#fff;padding:4px 20px;margin-bottom:14px;box-shadow:4px 4px 0 var(--ink)}
summary{min-height:48px;display:flex;align-items:center;font:600 20px Fredoka,sans-serif;cursor:pointer}
.foot a{color:var(--yel)}
.lg{font:700 28px Fredoka,sans-serif;padding:0;color:var(--ink)}
.fs{display:flex;flex-direction:column;gap:16px;margin:0}
.lbl{display:block;font-weight:800;font-size:16px;margin-bottom:6px}
.hint{font-weight:400;color:#5A3B36}
.inp{width:100%;box-sizing:border-box;min-height:50px;border:3px solid var(--ink);border-radius:14px;padding:0 14px;font:400 17px Nunito,sans-serif;background:#fff}
textarea.inp{padding:12px 14px;min-height:96px}
.opt{display:flex;align-items:flex-start;gap:12px;border:3px solid var(--ink);border-radius:18px;padding:14px 16px;cursor:pointer;background:#fff}
.opt:has(input:checked){background:#FFE9A8}
.opt input{margin-top:4px;width:20px;height:20px;accent-color:#C8261B}
.row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:2px dashed var(--ink)}
@media(max-width:900px){
.cols,.two{flex-direction:column!important}.nav a.l{display:none}
}
.tilt{transform:rotate(var(--r,0deg));transition:transform .25s}
.tilt:hover{transform:rotate(0deg) translateY(-8px)}
.snow{position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(#FFF1D0 2px,transparent 2.5px),radial-gradient(#FFC93C 1.5px,transparent 2px);background-size:120px 120px,70px 70px;animation:fall 18s linear infinite}
@keyframes fall{
from{background-position:0 0,35px 40px}
to{background-position:0 600px,35px 670px}
}
@keyframes bob{
0%,100%{transform:translateY(0) rotate(2deg)}
50%{transform:translateY(-14px) rotate(-1deg)}
}
@keyframes spin{
to{transform:rotate(360deg)}
}
@keyframes wob{
0%,100%{transform:rotate(-4deg)}
50%{transform:rotate(1deg) scale(1.06)}
}
@keyframes pulse{
0%{box-shadow:4px 4px 0 var(--ink),0 0 0 0 rgba(255,201,60,.8)}
100%{box-shadow:4px 4px 0 var(--ink),0 0 0 26px rgba(255,201,60,0)}
}
@keyframes hop{
0%,100%{transform:translateY(0)}
50%{transform:translateY(-22px)}
}
@keyframes nudge{
0%,100%{transform:scale(1)}
50%{transform:scale(1.06)}
}
@keyframes up{
from{opacity:0;translate:0 30px}
}
@keyframes tick{
to{transform:translateX(-50%)}
}
.up{animation:up .8s cubic-bezier(.2,.8,.2,1) both}
.bob{animation:bob 5s ease-in-out infinite}.spin{animation:spin 18s linear infinite}.wob{animation:wob 2.6s ease-in-out infinite}.pls{animation:pulse 1.8s ease-out infinite}.hop{animation:hop 2.4s ease-in-out infinite}.nud{animation:nudge 2s ease-in-out infinite}
.track{display:flex;width:max-content;animation:tick 22s linear infinite}
@supports (animation-timeline:view()){
.rv{animation:up both linear;animation-timeline:view();animation-range:entry 0% entry 60%}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important}
}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.err{background:#fff;border:3px solid var(--red);border-radius:18px;padding:16px 20px}
.err ul{margin:6px 0 0;padding-left:20px}
.off{opacity:.55;cursor:not-allowed}
.flash{background:var(--yel);border:3px solid var(--ink);border-radius:14px;padding:10px 16px;margin-bottom:12px;font-weight:700}
table.t{width:100%;border-collapse:collapse;background:#fff;border:3px solid var(--ink)}
table.t th,table.t td{padding:10px 12px;border-bottom:2px dashed var(--ink);text-align:left;font-size:15px;vertical-align:top}
.pg{padding-top:56px;padding-bottom:96px}

