/* The lessons' sticker-book look: thick ink outlines on warm paper, brand gold, pink for warnings. One light look on purpose. */
@font-face{font-family:Rubik;font-weight:800 900;font-display:swap;src:url(fonts/rubik-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Rubik;font-weight:800 900;font-display:swap;src:url(fonts/rubik-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Nunito;font-weight:600 800;font-display:swap;src:url(fonts/nunito-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Nunito;font-weight:600 800;font-display:swap;src:url(fonts/nunito-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#231433;--paper:#fffdf2;--gold:#ffcf3f;--pink:#ff7fb0;--green:#a6ec7a;--blue:#8fd8ff;--red:#d6283f;--mute:#5a4f70;--line:#cfe3f5;
  --head:'Rubik',system-ui,sans-serif;--body:'Nunito',system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:600 18px/1.55 var(--body)}
a{color:inherit}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--head);font-weight:900;line-height:1.1;margin:0;text-wrap:balance}
h2{font-size:clamp(30px,5vw,48px)}
h3{font-size:24px}
p{margin:0}
.kicker{font:800 14px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.small,.fine{font-size:14px;color:var(--mute)}
.hidden{display:none!important}
main>section,footer{padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px));padding-block:64px;max-width:1160px;margin:auto}
.bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;justify-content:space-between;background:var(--gold);border-bottom:5px solid var(--ink);
  padding:8px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px))}
.logo{display:flex;align-items:center;gap:8px;font:900 26px var(--head);text-decoration:none}
.logo img{width:34px}
.bar nav{display:flex;gap:18px;font-weight:800;flex-wrap:wrap}
.bar nav a{text-decoration:none}
.bar nav a:hover{text-decoration:underline}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:900 18px var(--head);color:var(--ink);background:var(--gold);border:5px solid var(--ink);border-radius:16px;
  padding:10px 20px;box-shadow:0 6px 0 var(--ink);text-decoration:none;cursor:pointer;transition:transform .08s,box-shadow .08s}
.btn:hover{transform:translateY(2px);box-shadow:0 4px 0 var(--ink)}
.btn:active{transform:translateY(6px);box-shadow:0 0 0 var(--ink)}
.btn.big{font-size:22px;padding:14px 26px}
.btn.ghost{background:#fff}
.btn.good{background:var(--green)}
:focus-visible{outline:4px solid var(--pink);outline-offset:3px}

/* hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;padding-top:40px}
.hero h1{font-size:clamp(42px,7vw,80px);margin:10px 0 18px}
.hero h1 s{text-decoration-thickness:.12em;text-decoration-color:var(--red)}
.lead{font-size:20px;max-width:56ch}
.cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.status{margin-top:16px;font-weight:800;color:var(--mute)}
.hero-art{position:relative;min-height:420px}
.halya{width:min(78%,420px);display:block;margin:auto;transform-origin:50% 90%;animation:sway 3.2s ease-in-out infinite}
.barsyk{position:absolute;right:0;bottom:0;width:30%;animation:bob 2.4s ease-in-out infinite}
.bubble{position:absolute;left:0;top:6%;font:900 22px var(--head);background:#fff;border:5px solid var(--ink);border-radius:20px;padding:8px 14px;transform:rotate(-6deg);box-shadow:0 6px 0 var(--ink)}
@keyframes sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* socials */
.follow h2{font-size:28px;margin-bottom:16px}
.channels{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px}
.channels a{display:flex;align-items:center;gap:10px;font:900 18px var(--head);text-decoration:none;background:#fff;border:4px solid var(--ink);border-radius:999px;padding:8px 16px 8px 10px;box-shadow:0 4px 0 var(--ink)}
.channels a:hover{background:var(--gold)}
.channels svg{width:28px;height:28px;flex:none}
.channels small{font:700 14px var(--body);color:var(--mute)}

/* game and word panels */
.panel{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.panel-head{display:grid;gap:12px}
.panel-head p:last-child{max-width:52ch}
.stage{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#fff;border:5px solid var(--ink);border-radius:26px;box-shadow:0 10px 0 var(--ink);padding:28px;text-align:center}
.game .stage{background:var(--blue)}
.words .stage{background:#e6f8d8}
.count{font:800 15px var(--body);color:var(--mute)}
.listen{font:900 20px var(--head);background:#fff;border:4px solid var(--ink);border-radius:999px;padding:8px 18px;cursor:pointer}
.choices{display:flex;gap:18px}
.num{font:900 64px/1 var(--head);width:150px;padding:20px 0;background:#fff;border:6px solid var(--ink);border-radius:22px;box-shadow:0 8px 0 var(--ink);cursor:pointer}
.num:hover:not(:disabled){background:var(--gold)}
.num.right{background:var(--green)}
.num.wrong{background:var(--pink)}
.num:disabled{cursor:default}
.say,.result{font-weight:800;font-size:20px}
.result b{font:900 34px var(--head);display:block}
.rule{grid-column:1/-1;background:#fffdf2;background-image:repeating-linear-gradient(transparent 0 46px,var(--line) 46px 49px);border:5px solid var(--ink);border-radius:22px;padding:24px 28px;display:grid;gap:16px}
.rule-rows{display:grid;gap:12px}
.rule-rows div{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center;background:#e6f8d8;border:4px solid var(--ink);border-radius:16px;padding:10px 16px}
.rule-rows small{grid-column:1/-1;font-size:15px}
.en{font:900 26px var(--head)}
.en b,.card b,.rule b{color:var(--red)}
.bar.long,.bar.short{display:block;height:24px;border:4px solid var(--ink);border-radius:12px;position:static;padding:0}
.bar.long{width:min(100%,260px);background:var(--green)}
.bar.short{width:60px;background:var(--pink)}
.trick{font-weight:800}
.play{font:900 16px var(--head);width:38px;height:38px;border-radius:50%;border:4px solid var(--ink);background:var(--gold);cursor:pointer;vertical-align:middle}
.uk{font:900 clamp(34px,6vw,52px) var(--head)}
.words .en{font-size:clamp(34px,6vw,52px);color:#1d7a3a}
.words .en small{display:block;font:700 16px var(--body);color:var(--mute)}
.timer{width:min(100%,320px);height:14px;border:3px solid var(--ink);border-radius:8px;overflow:hidden;background:#fff}
.timer span{display:block;height:100%;background:var(--gold);animation:drain 4s linear forwards}
@keyframes drain{from{width:100%}to{width:0}}
.mark{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.honest{font-weight:700;color:var(--mute)}
.missed{text-align:left}
.missed ul{margin:6px 0 0;padding-left:20px}
.words .fine{grid-column:1/-1}

/* cast */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.people article{background:#fff;border:5px solid var(--ink);border-radius:22px;box-shadow:0 8px 0 var(--ink);padding:18px;display:grid;gap:8px;align-content:start}
.people img{height:220px;width:100%;object-fit:contain}
.people article:hover img{animation:sway 1s ease-in-out infinite}

/* rule cards */
.rules .sub{margin-top:8px;color:var(--mute);font-weight:700}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.card{background:#fffdf2;background-image:repeating-linear-gradient(transparent 0 40px,var(--line) 40px 43px);border:5px solid var(--ink);border-radius:20px;padding:18px 18px 22px 30px;position:relative;display:grid;gap:10px;align-content:start}
.card:before{content:'';position:absolute;left:16px;top:0;bottom:0;width:3px;background:var(--pink)}
.card h3{justify-self:start;background:var(--gold);border:4px solid var(--ink);border-radius:12px;padding:2px 12px;transform:rotate(-1.5deg);font-size:20px}
.card .en{font-size:22px}

/* coming soon */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.tiles article{border:4px dashed var(--ink);border-radius:20px;padding:18px;display:grid;gap:8px;background:#fff8dc}
.tiles h3{font-size:21px}

/* poster */
.gift{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:center}
.gift img{border:5px solid var(--ink);border-radius:14px;box-shadow:0 10px 0 var(--ink);transform:rotate(-2deg);background:#fff}
.gift div{display:grid;gap:14px;justify-items:start}

footer{border-top:5px solid var(--ink);display:grid;gap:14px;justify-items:center;text-align:center;padding-block:40px 56px}

@media (max-width:860px){
  .hero,.panel,.gift{grid-template-columns:1fr}
  .hero-art{min-height:320px}
  .people,.cards,.tiles{grid-template-columns:1fr}
  .gift img{max-width:280px}
  .bar nav{display:none}
  .num{width:120px;font-size:52px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* privacy page and older pieces */
.wrap{max-width:760px;margin:auto;padding:32px max(16px,env(safe-area-inset-right,0px)) 56px max(16px,env(safe-area-inset-left,0px))}
.wrap h1{font-size:40px;margin-bottom:16px}
.wrap h2{font-size:26px;margin:26px 0 8px}
.wrap p,.wrap li{margin-bottom:10px}
mark.blank{background:var(--pink)}
.draft{background:#fff3c4;border:4px solid var(--ink);border-radius:14px;padding:12px 16px;font-weight:800}
