.keypad{gap:var(--space-2);grid-template-columns:repeat(3,1fr);width:100%;max-width:22rem;margin-inline:auto;display:grid}.keypad__key{min-height:var(--tap-key);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-key);font-weight:var(--font-weight-bold);box-shadow:inset 0 0 0 2px var(--color-border-strong), 0 3px 0 var(--color-border-strong);cursor:pointer;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease-out);border:0;justify-content:center;align-items:center;display:flex}.keypad__key:active{box-shadow:inset 0 0 0 2px var(--color-border-strong), 0 1px 0 var(--color-border-strong);transform:translateY(2px)}.keypad__key--erase{background:var(--color-surface-alt)}.keypad__key--submit{background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 3px 0 var(--color-primary-strong)}.keypad__key--submit:active{box-shadow:0 1px 0 var(--color-primary-strong)}.keypad__key.is-dimmed,.keypad__key:disabled{opacity:.45;cursor:default;transform:none}.round{gap:var(--space-3);flex-direction:column;max-width:26rem;margin-inline:auto;display:flex}@media (height<=700px){.round{gap:var(--space-2)}}.round__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.round__title{-webkit-line-clamp:2;line-clamp:2;color:var(--color-text-muted);-webkit-box-orient:vertical;font-size:1rem;display:-webkit-box;overflow:hidden}.stopwatch{padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-hint-bg);color:var(--color-hint-text);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.round__status{padding-block:var(--space-7);text-align:center;color:var(--color-text-muted)}.dots{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.dots__dot{background:var(--color-surface);width:12px;height:12px;box-shadow:inset 0 0 0 2px var(--color-border-strong);transition:transform var(--duration-fast) var(--ease-out);border-radius:50%}.dots__dot.is-done{box-shadow:none}.dots__dot--0{background:var(--color-fun-yellow)}.dots__dot--1{background:var(--color-fun-pink)}.dots__dot--2{background:var(--color-fun-cyan)}.dots__dot--3{background:var(--color-fun-orange)}.dots__dot--4{background:var(--color-fun-purple)}.dots__dot.is-current{background:var(--color-primary);box-shadow:none;transform:scale(1.35)}.round__talk{align-items:center;gap:var(--space-2);min-height:76px;display:flex}.round__mascot{flex-shrink:0}.round__mascot--joy{animation:mascot-hop var(--duration-feedback) var(--ease-out)}.bubble{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);flex:1;font-size:1rem;line-height:1.35;position:relative}.bubble:before{content:"";background:inherit;width:14px;height:14px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)rotate(45deg)}.bubble--hint{align-items:flex-start;gap:var(--space-2);background:var(--color-hint-bg);color:var(--color-hint-text);box-shadow:none;display:flex}.bubble__icon{flex-shrink:0;margin-top:1px}.bubble__bulb{fill:var(--color-secondary);stroke:var(--color-text);stroke-width:1.6px;stroke-linejoin:round}.bubble__base{fill:none;stroke:var(--color-text);stroke-width:1.8px;stroke-linecap:round}.bubble--correct{background:var(--color-success);color:var(--color-on-success);box-shadow:none;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.task{justify-items:center;gap:var(--space-3);min-height:5.25rem;padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);display:grid}.task__expr{font-size:var(--font-size-task);font-weight:var(--font-weight-bold);white-space:pre;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25em;line-height:1;display:flex}.task__answer{border-bottom:4px solid var(--color-primary);text-align:center;min-width:1.7em;padding:0 .1em .05em;display:inline-block}.task__answer.is-empty{color:var(--color-text-muted)}.task__answer.is-correct{border-color:var(--color-success);animation:answer-pop var(--duration-feedback) var(--ease-out)}.task__answer.is-solved{border-color:var(--color-secondary)}.task--picture{padding:var(--space-2)}.compare{place-items:center;gap:var(--space-3) var(--space-4);width:100%;font-size:var(--font-size-task);font-weight:var(--font-weight-bold);grid-template-columns:1fr auto 1fr;line-height:1;display:grid}.choices{grid-template-columns:repeat(var(--columns,3), 1fr);gap:var(--space-3);display:grid}.choices--2,.choices--4{--columns:2}.choice{border-radius:var(--radius-lg);background:var(--color-surface);min-height:4.5rem;color:var(--color-text);font-size:var(--font-size-task);font-weight:var(--font-weight-bold);box-shadow:inset 0 0 0 2px var(--color-border-strong), 0 4px 0 var(--color-border-strong);cursor:pointer;touch-action:manipulation;transition:transform var(--duration-fast) var(--ease-out);border:0}.choice:active{transform:translateY(2px)}.choice.is-correct{background:var(--color-success);color:var(--color-on-success);box-shadow:none;animation:answer-pop var(--duration-feedback) var(--ease-out)}.choice.is-wrong,.choice:disabled{opacity:.4;cursor:default}.choice.is-correct:disabled{opacity:1}.choice--sign{font-size:2.75rem}.round__speak{flex-shrink:0}@media (width<=420px){.round__talk--retry{align-items:start;gap:var(--space-1) var(--space-2);grid-template-columns:auto 1fr;grid-template-areas:"mascot bubble""speak bubble";display:grid}.round__talk--retry .round__mascot{grid-area:mascot;justify-self:center}.round__talk--retry .bubble{grid-area:bubble;align-self:center}.round__talk--retry .round__speak{grid-area:speak;justify-self:center}}.round__speak.is-inviting{animation:speak-invite 1.6s var(--ease-out) infinite}@media (prefers-reduced-motion:reduce){.round__speak.is-inviting{animation:none}}.solution{gap:var(--space-3);display:grid}.solution__steps{gap:var(--space-1);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-6);border-radius:var(--radius-md);background:var(--color-hint-bg);color:var(--color-hint-text);font-size:var(--font-size-md);margin:0;display:grid}.solution__next{min-height:var(--tap-key);font-size:var(--font-size-lg)}.summary{justify-items:center;gap:var(--space-4);padding-top:var(--space-2);text-align:center;display:grid}.summary__hero{justify-content:center;align-items:flex-end;gap:var(--space-2);display:flex}.summary__mascot{animation:mascot-hop var(--duration-feedback) var(--ease-out)}.summary__reward{font-weight:var(--font-weight-bold)}.summary__title{font-size:var(--font-size-xl)}.summary__title:focus{outline:none}.summary__stats{justify-content:center;gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.stat{min-width:6.5rem;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);border-top:6px solid var(--color-fun-green);justify-items:center;display:grid}.stat--hint{border-top-color:var(--color-fun-yellow)}.stat--explained{border-top-color:var(--color-fun-cyan)}.stat__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.stat__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.summary__note{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-hint-bg);color:var(--color-hint-text);font-weight:var(--font-weight-bold)}.summary__note--level{justify-content:center;align-items:center;gap:var(--space-2);text-align:left;display:flex}.summary__note--speed{justify-content:center;gap:var(--space-1) var(--space-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.summary__star{fill:var(--color-secondary);stroke:var(--color-text);stroke-width:1.4px;stroke-linejoin:round;flex-shrink:0}.summary__actions{gap:var(--space-3);width:100%;display:grid}.summary__actions .button{min-height:var(--tap-key);font-size:var(--font-size-lg)}@keyframes answer-pop{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes speak-invite{0%,to{box-shadow:0 0 #2457f573}50%{box-shadow:0 0 0 8px #2457f500}}@keyframes mascot-hop{0%{transform:translateY(0)}35%{transform:translateY(-10px)}to{transform:translateY(0)}}
