@font-face{font-family:"Nunito";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/nunito-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Nunito";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/nunito-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/nunito-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Nunito";font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/nunito-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/nunito-cyrillic-800-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Nunito";font-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/nunito-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/unbounded-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/unbounded-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/unbounded-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/unbounded-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* ===== 2215 design system ===== */
:root{--bg:#fbf7f1;--bg2:#f4eee6;--card:#fff;--ink:#1d1a2f;--ink2:#3b3654;--muted:#6e6a80;--line:#ebe5dc;
  --brand:#5b3fd9;--brand-d:#4329b8;--brand-l:#eeeaff;--brand2:#ffb020;--pink:#ff5d8f;--teal:#12a99e;--green:#2ea35a;--sky:#2f86f6;
  --ok:#23a45a;--bad:#e2554f;--r:22px;--r-s:14px;
  --shadow:0 1px 2px rgba(29,26,47,.05),0 8px 24px rgba(29,26,47,.07);--shadow-l:0 30px 60px -20px rgba(45,30,120,.28),0 10px 24px rgba(29,26,47,.08);
  --disp:"Unbounded","Nunito",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Nunito",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:600;color:var(--ink2);font-size:17px;line-height:1.55;background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:var(--brand);font-weight:700;text-decoration-thickness:2px;text-underline-offset:3px}
h1,h2,h3{font-family:var(--disp);font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.15}
h1{font-size:44px;margin:.3em 0}
h2{font-size:28px;margin:.2em 0 .6em}
h3{font-size:19px;margin:1.2em 0 .5em}
b,strong{font-weight:800}
.wrap{max-width:1080px;margin:0 auto;padding:16px 20px}
header.top{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:1080px;margin:0 auto}
.logo{font-family:var(--disp);font-weight:700;font-size:24px;color:var(--ink);text-decoration:none;letter-spacing:-.03em;display:inline-flex;align-items:center;gap:0}
.logo span{color:var(--brand)}
.logo::before{content:"";width:34px;height:34px;border-radius:10px;background:url(/static/icon-192.png?v=2215) center/cover;box-shadow:0 4px 10px rgba(91,63,217,.3);margin-right:10px}
.card{background:var(--card);border-radius:var(--r);padding:24px;margin:16px 0;box-shadow:var(--shadow);border:1px solid var(--line)}
.muted{color:var(--muted)}
button,.btn{font:inherit;font-weight:800;border:0;border-radius:999px;padding:13px 24px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  color:#fff;background:var(--brand);box-shadow:0 6px 16px -4px rgba(91,63,217,.55),inset 0 -2px 0 rgba(0,0,0,.12);transition:transform .15s,box-shadow .15s,background .15s}
button:hover,.btn:hover{background:var(--brand-d);transform:translateY(-1px)}
button:active,.btn:active{transform:translateY(1px)}
button.ghost,.btn.ghost{background:#fff;color:var(--ink);box-shadow:none;border:1.5px solid var(--line)}
button.ghost:hover,.btn.ghost:hover{background:#fff;border-color:#cfc6ff;color:var(--brand)}
button.small,.btn.small{padding:8px 16px;font-size:14px}
.btn.sun,button.sun{background:var(--brand2);color:#2b1d00;box-shadow:0 8px 18px -6px rgba(240,150,0,.7),inset 0 -2px 0 rgba(0,0,0,.1)}
.btn.sun:hover,button.sun:hover{background:#ffa000}
button:disabled{opacity:.55;transform:none}
input,select,textarea{font:inherit;width:100%;padding:13px 16px;border:1.5px solid var(--line);border-radius:var(--r-s);margin:6px 0 14px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-l)}
label{font-weight:800;font-size:14px;color:var(--ink)}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.err{color:var(--bad);font-weight:800;min-height:1.2em}
.bar{height:10px;border-radius:8px;background:#f0edf6;overflow:hidden}
.bar i{display:block;height:100%;border-radius:8px;background:var(--c,var(--brand))}
.bar.int i{background:var(--brand2)}
table{width:100%;border-collapse:collapse;font-size:15px}
td,th{padding:10px 4px;border-bottom:1px solid var(--line);text-align:left}
.hide{display:none!important}
.emo-i{width:1.35em;height:1.35em;vertical-align:-.3em;display:inline-block}
.c-purple{--c:#5b3fd9;--cl:#efebff}.c-sun{--c:#e08a00;--cl:#fff3d6}.c-pink{--c:#e8467c;--cl:#ffe9f0}
.c-teal{--c:#0e9990;--cl:#dcf7f4}.c-green{--c:#249050;--cl:#e2f6e8}.c-sky{--c:#2574e0;--cl:#e4efff}
.tint{background:var(--cl);border-radius:var(--r)}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--cl,var(--brand-l));color:var(--c,var(--brand));font-weight:800;border-radius:999px;padding:6px 14px;font-size:14px}
.eyebrow{font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
@keyframes bob{50%{transform:translateY(-8px)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(max-width:560px){h1{font-size:30px}h2{font-size:22px}.card{padding:18px}.wrap{padding:14px 16px}}
/* игровая */
body.play{background:linear-gradient(#d9f0ff,#fff6e0);min-height:100vh;user-select:none;-webkit-user-select:none}
.stage{max-width:720px;margin:0 auto;padding:52px 16px 16px;text-align:center}
.host{width:132px;height:132px;display:block;margin:0 auto;animation:bob 2.4s ease-in-out infinite;filter:drop-shadow(0 6px 8px #0002)}
.host.small{width:84px;height:84px}
.host.talk{animation:talk .35s ease-in-out infinite alternate}
@keyframes talk{to{transform:scale(1.05) rotate(-2deg)}}
@keyframes bob{50%{transform:translateY(-8px)}}
.prompt{font-size:26px;font-weight:800;margin:12px 0 20px;min-height:2.4em}
.opts{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.opt{font-size:54px;background:#fff;border:4px solid #fff;border-radius:24px;min-width:120px;min-height:120px;padding:10px;box-shadow:0 6px 0 #0001;cursor:pointer;color:inherit;letter-spacing:4px}
.opt.good{border-color:var(--ok);background:#e9fff1}
.opt.wrong{animation:shake .4s}
@keyframes shake{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.big{font-size:28px;padding:18px 34px;border-radius:22px}
.stars{font-size:34px;min-height:44px}
.exit{position:fixed;top:10px;right:10px;background:#fff8;color:var(--muted);font-size:13px;padding:6px 10px}
.modal{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px}
.modal .card{max-width:340px;width:100%;text-align:center}
@media(max-width:560px){h1{font-size:28px}.opt{min-width:92px;min-height:92px;font-size:40px}.prompt{font-size:22px}}
/* реакции ведущего */
.host.happy{animation:hop .5s ease-out 2}
@keyframes hop{40%{transform:translateY(-22px) scale(1.08)}}
.host.think{animation:think .9s ease-in-out}
@keyframes think{30%{transform:rotate(-10deg)}70%{transform:rotate(8deg)}}
.burst{position:fixed;font-size:40px;pointer-events:none;animation:fly 1s ease-out forwards}
@keyframes fly{to{transform:translate(var(--dx),var(--dy)) scale(.4);opacity:0}}
header.top .row{gap:6px;flex-wrap:nowrap}
@media(max-width:560px){header.top .btn.small,header.top button.small{padding:6px 9px;font-size:13px}.hide-m{display:none!important}}
/* внутренние страницы */
main.wrap{max-width:880px}
main.wrap>h1{font-size:36px}
.card h2{font-size:22px}
@media(max-width:560px){main.wrap>h1{font-size:27px}.card h2{font-size:19px}}
