.ss-button{min-height:var(--ss-space-target-min);padding:var(--ss-space-control-y) var(--ss-space-control-x);border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-control);background:var(--ss-color-action-primary);color:var(--ss-color-action-on-primary);font:var(--ss-type-label);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--ss-motion-feedback-spring-duration) var(--ss-motion-feedback-spring), background-color var(--ss-motion-feedback-duration) var(--ss-motion-feedback-easing)}.ss-button[data-variant=quiet]{background:var(--ss-color-bg-surface);color:var(--ss-color-text-primary)}@media (hover:hover){.ss-button:hover:not(:disabled){background:var(--ss-color-action-primary-hover)}.ss-button[data-variant=quiet]:hover:not(:disabled){background:var(--ss-color-bg-hover)}}.ss-button:active:not(:disabled){transform:scale(var(--ss-motion-feedback-scale))}.ss-button:focus-visible{outline:var(--ss-outline-focus) solid var(--ss-color-focus-ring);outline-offset:var(--ss-outline-focus-offset)}.ss-button:disabled{border-color:var(--ss-color-disabled-border);background:var(--ss-color-disabled-bg);color:var(--ss-color-disabled-text);cursor:not-allowed}
.ss-icon{--ss-icon-e:var(--ss-motion-energy,1);--ss-icon-on:min(1, calc(var(--ss-icon-e) * 100));fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex:none;overflow:visible}.ss-icon *{transform-box:view-box;transform-origin:12px 12px}.ss-icon [data-part=ray]{opacity:0}.ss-icon--draw.ss-icon--playing>*{stroke-dasharray:1;animation:ss-icon-draw var(--ss-motion-state-change-duration,.3s) var(--ss-motion-state-change-easing,ease-out) calc(var(--ss-icon-index) * var(--ss-motion-sequence-stagger,50ms)) both}@keyframes ss-icon-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.ss-icon--pop.ss-icon--playing{animation:ss-icon-pop calc(var(--ss-motion-celebration-duration,.5s) * 1.4) ease-out both}@keyframes ss-icon-pop{0%{transform:none}35%{transform:scale(calc(var(--ss-motion-celebration-scale,1.2) + .1 * var(--ss-icon-e))) rotate(calc(-10deg * var(--ss-icon-e)))}65%{transform:scale(calc(1 - .06 * var(--ss-icon-e))) rotate(calc(4deg * var(--ss-icon-e)))}to{transform:none}}.ss-icon--beat.ss-icon--playing{animation:ss-icon-beat calc(var(--ss-motion-celebration-duration,.5s) * 1.6) ease-in-out both}@keyframes ss-icon-beat{0%,50%,to{transform:none}18%{transform:scale(var(--ss-motion-celebration-scale,1.2))}30%{transform:scale(calc(1 - .04 * var(--ss-icon-e)))}40%{transform:scale(calc(1 + (var(--ss-motion-celebration-scale,1.2) - 1) * .6))}}.ss-icon--flicker.ss-icon--playing>*{transform-origin:12px 21px;animation:ss-icon-flicker calc(var(--ss-motion-celebration-duration,.5s) * 1.6) ease-in-out both}@keyframes ss-icon-flicker{0%,to{transform:none}20%{transform:scale(calc(1 - .06 * var(--ss-icon-e)), calc(1 + .22 * var(--ss-icon-e))) skewX(calc(-6deg * var(--ss-icon-e)))}45%{transform:scale(calc(1 + .04 * var(--ss-icon-e)), calc(1 - .06 * var(--ss-icon-e))) skewX(calc(5deg * var(--ss-icon-e)))}70%{transform:scaleY(calc(1 + .08 * var(--ss-icon-e))) skewX(calc(-2deg * var(--ss-icon-e)))}}.ss-icon--glow.ss-icon--playing [data-part=bulb]{animation:ss-icon-glow-bulb calc(var(--ss-motion-attention-duration,.5s) * 1.6) ease-out both}.ss-icon--glow.ss-icon--playing [data-part=ray]{stroke-dasharray:1;animation:ss-icon-glow-ray calc(var(--ss-motion-attention-duration,.5s) * 1.6) ease-out both}@keyframes ss-icon-glow-bulb{0%,to{transform:none}30%{transform:translateY(calc(-1.2px * var(--ss-icon-e))) scale(calc(1 + .06 * var(--ss-icon-e)))}}@keyframes ss-icon-glow-ray{0%{opacity:0;stroke-dashoffset:1px}25%{opacity:1}45%{stroke-dashoffset:0}75%{opacity:1}to{opacity:0;stroke-dashoffset:0}}.ss-icon--shackle.ss-icon--playing [data-part=shackle]{animation:ss-icon-shackle calc(var(--ss-motion-state-change-duration,.3s) * 1.6) ease-in both}@keyframes ss-icon-shackle{0%{transform:translateY(calc(-3px * var(--ss-icon-e)))}70%{transform:translateY(calc(.6px * var(--ss-icon-e)))}to{transform:none}}.ss-icon--unlock.ss-icon--playing [data-part=shackle]{transform-origin:7px 11px;animation:ss-icon-unlock var(--ss-motion-state-change-spring-duration,.4s) var(--ss-motion-state-change-spring,ease-out) both}@keyframes ss-icon-unlock{0%{transform:translateY(calc(2px * var(--ss-icon-e))) rotate(calc(12deg * var(--ss-icon-e)))}to{transform:none}}.ss-icon--swing.ss-icon--playing>*{transform-origin:12px 3px;animation:ss-icon-swing calc(var(--ss-motion-attention-duration,.5s) * 1.8) ease-in-out both}.ss-icon--swing.ss-icon--playing [data-part=clapper]{animation-delay:40ms}@keyframes ss-icon-swing{0%,to{transform:none}15%{transform:rotate(calc(18deg * var(--ss-icon-e)))}35%{transform:rotate(calc(-14deg * var(--ss-icon-e)))}55%{transform:rotate(calc(8deg * var(--ss-icon-e)))}75%{transform:rotate(calc(-4deg * var(--ss-icon-e)))}}.ss-icon--drop.ss-icon--playing{animation:ss-icon-drop calc(var(--ss-motion-enter-duration,.3s) * 1.8) ease-in both}@keyframes ss-icon-drop{0%{transform:translateY(calc(-6px * var(--ss-icon-e)));opacity:calc(1 - var(--ss-icon-on))}45%{opacity:1;animation-timing-function:ease-out;transform:none}65%{transform:translateY(calc(1px * var(--ss-icon-e))) scale(calc(1 + .1 * var(--ss-icon-e)), calc(1 - .12 * var(--ss-icon-e)))}to{opacity:1;transform:none}}.ss-icon--waves.ss-icon--playing [data-part=wave]{stroke-dasharray:1;animation:ss-icon-wave var(--ss-motion-enter-duration,.3s) ease-out calc((var(--ss-icon-index) - 1) * var(--ss-motion-sequence-stagger,80ms) * 1.5) both}@keyframes ss-icon-wave{0%{opacity:0;stroke-dashoffset:1px;transform:translateX(calc(-1.5px * var(--ss-icon-e)))}to{opacity:1;stroke-dashoffset:0;transform:none}}.ss-icon--nudge-x.ss-icon--playing{animation:ss-icon-nudge-x calc(var(--ss-motion-navigation-duration,.5s) * 1.4) ease-in-out both}.ss-icon--nudge-y.ss-icon--playing{animation:ss-icon-nudge-y calc(var(--ss-motion-navigation-duration,.5s) * 1.4) ease-in-out both}@keyframes ss-icon-nudge-x{0%,50%,to{transform:none}25%{transform:translateX(calc(4px * var(--ss-icon-e)))}75%{transform:translateX(calc(2px * var(--ss-icon-e)))}}@keyframes ss-icon-nudge-y{0%,50%,to{transform:none}25%{transform:translateY(calc(3px * var(--ss-icon-e)))}75%{transform:translateY(calc(1.5px * var(--ss-icon-e)))}}.ss-icon--turn.ss-icon--playing{animation:ss-icon-turn var(--ss-motion-state-change-spring-duration,.4s) var(--ss-motion-state-change-spring,ease-out) both}@keyframes ss-icon-turn{0%{transform:rotate(calc(-90deg * var(--ss-icon-on)))}to{transform:none}}.ss-icon--stagger.ss-icon--playing>*{animation:ss-icon-line var(--ss-motion-enter-spring-duration,.3s) var(--ss-motion-enter-spring,ease-out) calc(var(--ss-icon-index) * var(--ss-motion-sequence-stagger,50ms)) both}@keyframes ss-icon-line{0%{opacity:calc(1 - var(--ss-icon-on));transform:translateX(calc(-5px * var(--ss-icon-e))) scaleX(calc(1 - .4 * var(--ss-icon-e)))}to{opacity:1;transform:none}}[data-motion=reduced] .ss-icon--draw>*,[data-motion=reduced] .ss-icon--waves [data-part=wave]{animation:none!important}@media (prefers-reduced-motion:reduce){.ss-icon--draw>*,.ss-icon--waves [data-part=wave]{animation:none!important}}
.ss-answer{justify-content:space-between;align-items:center;gap:var(--ss-space-gap);width:100%;min-height:var(--ss-space-target-min);padding:var(--ss-space-control-y) var(--ss-space-control-x);border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-control);background:var(--ss-color-bg-raised);color:var(--ss-color-text-primary);font:var(--ss-type-label);text-align:left;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--ss-motion-feedback-spring-duration) var(--ss-motion-feedback-spring), background-color var(--ss-motion-state-change-duration) var(--ss-motion-state-change-easing), color var(--ss-motion-state-change-duration) var(--ss-motion-state-change-easing);display:flex}@media (hover:hover){.ss-answer[data-state=idle]:hover:not(:disabled){background:var(--ss-color-bg-hover)}}.ss-answer:disabled{border-color:var(--ss-color-disabled-border);background:var(--ss-color-disabled-bg);color:var(--ss-color-disabled-text);cursor:not-allowed}.ss-answer:active:not(:disabled){transform:scale(var(--ss-motion-feedback-scale))}.ss-answer:focus-visible{outline:var(--ss-outline-focus) solid var(--ss-color-focus-ring);outline-offset:var(--ss-outline-focus-offset)}.ss-answer[data-state=selected]{background:var(--ss-color-bg-sunken)}.ss-answer[data-state=correct]{background:var(--ss-color-accent-fill);color:var(--ss-color-accent-on-fill);animation:ss-answer-pop var(--ss-motion-celebration-spring-duration) var(--ss-motion-celebration-spring) both}.ss-answer[data-state=incorrect]{background:var(--ss-color-status-wrong-fill);color:var(--ss-color-status-on-wrong);animation:ss-answer-shake var(--ss-motion-attention-duration) var(--ss-motion-attention-easing) both}.ss-answer__mark{animation:ss-answer-mark var(--ss-motion-enter-spring-duration) var(--ss-motion-enter-spring) both;flex:none;display:flex}.ss-answer__mark .ss-icon{stroke-width:3px}.ss-answer__result{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes ss-answer-pop{0%{transform:scale(var(--ss-motion-celebration-scale))}to{transform:scale(1)}}@keyframes ss-answer-shake{0%,to{transform:translate(0)}20%{transform:translateX(calc(var(--ss-motion-attention-distance) * -1))}40%{transform:translateX(var(--ss-motion-attention-distance))}60%{transform:translateX(calc(var(--ss-motion-attention-distance) * -.5))}80%{transform:translateX(calc(var(--ss-motion-attention-distance) * .5))}}@keyframes ss-answer-mark{0%{opacity:0;transform:translateY(var(--ss-motion-enter-distance)) scale(var(--ss-motion-enter-scale))}to{opacity:1;transform:translateY(0)scale(1)}}
.ss-progress{border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-pill);background:var(--ss-color-bg-sunken);height:20px;overflow:hidden}.ss-progress__fill{background:var(--ss-color-brand-fill);transform-origin:0;width:100%;height:100%;transition:transform var(--ss-motion-state-change-spring-duration) var(--ss-motion-state-change-spring), background-color var(--ss-motion-state-change-duration) var(--ss-motion-state-change-easing);display:block}.ss-progress[data-complete=true]{animation:ss-progress-pop var(--ss-motion-celebration-spring-duration) var(--ss-motion-celebration-spring) both}.ss-progress[data-complete=true] .ss-progress__fill{background:var(--ss-color-accent-fill)}@keyframes ss-progress-pop{0%{transform:scale(var(--ss-motion-celebration-scale))}to{transform:scale(1)}}
.ss-streak{align-items:center;gap:var(--ss-space-gap);padding:var(--ss-space-gap-tight) var(--ss-space-control-x);border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-pill);background:var(--ss-color-accent-fill);color:var(--ss-color-accent-on-fill);font:var(--ss-type-label);display:inline-flex}.ss-streak[data-grew=true]{animation:ss-streak-pop var(--ss-motion-celebration-spring-duration) var(--ss-motion-celebration-spring) both}.ss-streak__flame{margin-inline-end:calc(var(--ss-space-gap) * -.5)}.ss-streak__number{font:var(--ss-type-title);font-variant-numeric:tabular-nums;display:inline-block;position:relative;overflow:hidden}.ss-streak__in,.ss-streak__out{display:inline-block}.ss-streak__in{animation:ss-streak-in var(--ss-motion-enter-spring-duration) var(--ss-motion-enter-spring) both}.ss-streak__out{text-align:center;animation:ss-streak-out var(--ss-motion-exit-duration) var(--ss-motion-exit-easing) both;position:absolute;inset:0}@keyframes ss-streak-pop{0%{transform:scale(var(--ss-motion-celebration-scale))}to{transform:scale(1)}}@keyframes ss-streak-in{0%{opacity:0;transform:translateY(var(--ss-motion-enter-distance)) scale(var(--ss-motion-enter-scale))}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ss-streak-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(var(--ss-motion-exit-distance) * -1))}}
.ss-complete{--ss-complete-badge:64px;justify-items:center;gap:var(--ss-space-gap-loose);padding:var(--ss-space-card);text-align:center;display:grid}.ss-complete__badge-area{margin:var(--ss-motion-celebration-distance);place-items:center;display:grid;position:relative}.ss-complete__badge{width:var(--ss-complete-badge);height:var(--ss-complete-badge);border:var(--ss-outline-component) solid var(--ss-color-border-strong);background:var(--ss-color-accent-fill);color:var(--ss-color-accent-on-fill);animation:ss-complete-pop var(--ss-motion-celebration-spring-duration) var(--ss-motion-celebration-spring) both;border-radius:50%;place-items:center;display:grid;position:relative}.ss-complete__badge svg{fill:none;stroke:currentColor;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;width:32px;height:32px}.ss-complete__spark{border:var(--ss-outline-component) solid var(--ss-color-border-strong);background:var(--ss-color-accent-fill);opacity:0;width:10px;height:10px;animation:ss-complete-spark var(--ss-motion-celebration-duration) var(--ss-motion-celebration-easing) calc(var(--ss-spark-index) * var(--ss-motion-sequence-stagger)) both;border-radius:50%;position:absolute}.ss-complete__spark:nth-child(2n){background:var(--ss-color-brand-fill)}.ss-complete__title,.ss-complete__body{animation:ss-complete-enter var(--ss-motion-enter-spring-duration) var(--ss-motion-enter-spring) both;margin:0}.ss-complete__title{font:var(--ss-type-heading);text-wrap:balance;animation-delay:calc(var(--ss-motion-sequence-stagger) * 2)}.ss-complete__body{justify-items:center;gap:var(--ss-space-gap);animation-delay:calc(var(--ss-motion-sequence-stagger) * 4);display:grid}[data-motion=reduced] .ss-complete__spark{display:none}@media (prefers-reduced-motion:reduce){.ss-complete__spark{display:none}}@keyframes ss-complete-pop{0%{transform:scale(var(--ss-motion-celebration-scale))}to{transform:scale(1)}}@keyframes ss-complete-spark{0%{opacity:1;transform:rotate(var(--ss-spark-angle)) translateY(calc(var(--ss-complete-badge) / -2))}to{opacity:0;transform:rotate(var(--ss-spark-angle)) translateY(calc(var(--ss-complete-badge) / -2 - var(--ss-motion-celebration-distance)))}}@keyframes ss-complete-enter{0%{opacity:0;transform:translateY(var(--ss-motion-enter-distance)) scale(var(--ss-motion-enter-scale))}to{opacity:1;transform:translateY(0)scale(1)}}
.ss-field{gap:var(--ss-space-gap-tight);min-width:0;display:grid}.ss-field__label{font:var(--ss-type-label);color:var(--ss-color-text-primary)}.ss-field__input{box-sizing:border-box;width:100%;min-height:var(--ss-space-target-min);padding:0 var(--ss-space-control-x);border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-control);background:var(--ss-color-bg-raised);color:var(--ss-color-text-primary);font:var(--ss-type-body)}.ss-field__input:focus-visible{outline:var(--ss-outline-focus) solid var(--ss-color-focus-ring);outline-offset:var(--ss-outline-focus-offset)}.ss-field__input:disabled{border-color:var(--ss-color-disabled-border);background:var(--ss-color-disabled-bg);color:var(--ss-color-disabled-text);cursor:not-allowed}.ss-field[data-invalid=true] .ss-field__input{border-color:var(--ss-color-text-error);animation:ss-field-shake var(--ss-motion-attention-duration) var(--ss-motion-attention-easing)}.ss-field__hint{font:var(--ss-type-body-small);color:var(--ss-color-text-muted)}.ss-field__error{align-items:flex-start;gap:var(--ss-space-gap-tight);font:var(--ss-type-body-small);color:var(--ss-color-text-error);animation:ss-field-enter var(--ss-motion-enter-spring-duration) var(--ss-motion-enter-spring) both;display:flex}.ss-field__error svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;flex:none;width:18px;height:18px;margin-top:1px}@keyframes ss-field-shake{0%,to{transform:translate(0)}20%{transform:translateX(calc(var(--ss-motion-attention-distance) * -1))}40%{transform:translateX(var(--ss-motion-attention-distance))}60%{transform:translateX(calc(var(--ss-motion-attention-distance) * -.5))}80%{transform:translateX(calc(var(--ss-motion-attention-distance) * .5))}}@keyframes ss-field-enter{0%{opacity:0;transform:translateY(calc(var(--ss-motion-enter-distance) * -1)) scale(var(--ss-motion-enter-scale))}to{opacity:1;transform:translateY(0)scale(1)}}
.ss-check{align-items:center;gap:var(--ss-space-gap);min-height:var(--ss-space-target-min);color:var(--ss-color-text-primary);font:var(--ss-type-label);cursor:pointer;-webkit-tap-highlight-color:transparent;display:inline-flex;position:relative}.ss-check__input{opacity:0;width:1px;height:1px;position:absolute}.ss-check__box{border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-inner);background:var(--ss-color-bg-raised);width:28px;height:28px;transition:transform var(--ss-motion-feedback-spring-duration) var(--ss-motion-feedback-spring), background-color var(--ss-motion-state-change-duration) var(--ss-motion-state-change-easing);flex:none;place-items:center;display:grid}.ss-check__box svg{fill:none;width:18px;height:18px;stroke:var(--ss-color-action-on-primary);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.ss-check__box path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--ss-motion-state-change-duration) var(--ss-motion-state-change-easing)}.ss-check__input:checked+.ss-check__box{background:var(--ss-color-action-primary)}.ss-check__input:checked+.ss-check__box path{stroke-dashoffset:0}.ss-check:active .ss-check__input:not(:disabled)+.ss-check__box{transform:scale(var(--ss-motion-feedback-scale))}.ss-check__input:focus-visible+.ss-check__box{outline:var(--ss-outline-focus) solid var(--ss-color-focus-ring);outline-offset:var(--ss-outline-focus-offset)}.ss-check:has(.ss-check__input:disabled){color:var(--ss-color-disabled-text);cursor:not-allowed}.ss-check__input:disabled+.ss-check__box{border-color:var(--ss-color-disabled-border);background:var(--ss-color-disabled-bg)}.ss-check__input:disabled+.ss-check__box svg{stroke:var(--ss-color-disabled-text)}
.ss-toggle{--ss-toggle-width:56px;--ss-toggle-thumb:22px;--ss-toggle-inset:3px;align-items:center;gap:var(--ss-space-gap);min-height:var(--ss-space-target-min);color:var(--ss-color-text-primary);font:var(--ss-type-label);cursor:pointer;-webkit-tap-highlight-color:transparent;display:inline-flex;position:relative}.ss-toggle__input{opacity:0;width:1px;height:1px;position:absolute}.ss-toggle__track{box-sizing:border-box;width:var(--ss-toggle-width);height:calc(var(--ss-toggle-thumb) + var(--ss-toggle-inset) * 2 + var(--ss-outline-component) * 2);border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-pill);background:var(--ss-color-bg-sunken);transition:background-color var(--ss-motion-state-change-duration) var(--ss-motion-state-change-easing);flex:none;position:relative;overflow:hidden}.ss-toggle__thumb{top:var(--ss-toggle-inset);left:var(--ss-toggle-inset);box-sizing:border-box;width:var(--ss-toggle-thumb);height:var(--ss-toggle-thumb);border:var(--ss-outline-component) solid var(--ss-color-border-strong);background:var(--ss-color-bg-raised);transition:transform var(--ss-motion-state-change-spring-duration) var(--ss-motion-state-change-spring);border-radius:50%;position:absolute}.ss-toggle__input:checked+.ss-toggle__track{background:var(--ss-color-brand-fill)}.ss-toggle__input:checked+.ss-toggle__track .ss-toggle__thumb{transform:translateX(calc(var(--ss-toggle-width) - var(--ss-toggle-thumb) - var(--ss-toggle-inset) * 2 - var(--ss-outline-component) * 2))}.ss-toggle__input:focus-visible+.ss-toggle__track{outline:var(--ss-outline-focus) solid var(--ss-color-focus-ring);outline-offset:var(--ss-outline-focus-offset)}.ss-toggle:has(.ss-toggle__input:disabled){color:var(--ss-color-disabled-text);cursor:not-allowed}.ss-toggle__input:disabled+.ss-toggle__track,.ss-toggle__input:disabled+.ss-toggle__track .ss-toggle__thumb{border-color:var(--ss-color-disabled-border);background:var(--ss-color-disabled-bg)}
.ss-tabs{scrollbar-width:none;gap:var(--ss-space-gap-tight);max-width:100%;padding:var(--ss-space-gap-tight);border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-control);background:var(--ss-color-bg-raised);display:inline-flex;position:relative;overflow-x:auto}.ss-tabs__tab{min-height:calc(var(--ss-space-target-min) - var(--ss-space-gap));padding:0 var(--ss-space-control-x);border-radius:var(--ss-radius-inner);color:var(--ss-color-text-primary);font:var(--ss-type-label);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;position:relative}.ss-tabs__tab[aria-selected=true]{color:var(--ss-color-action-on-primary)}.ss-tabs__tab:focus-visible{outline:var(--ss-outline-focus) solid var(--ss-color-focus-ring);outline-offset:var(--ss-outline-focus-offset)}.ss-tabs__marker{top:var(--ss-space-gap-tight);bottom:var(--ss-space-gap-tight);width:var(--ss-tabs-width);border-radius:var(--ss-radius-inner);background:var(--ss-color-action-primary);transform:translateX(var(--ss-tabs-x));position:absolute;left:0}.ss-tabs[data-ready=true] .ss-tabs__marker{transition:transform var(--ss-motion-state-change-spring-duration) var(--ss-motion-state-change-spring), width var(--ss-motion-state-change-spring-duration) var(--ss-motion-state-change-spring)}.ss-tabs[data-ready=true] .ss-tabs__tab{transition:color var(--ss-motion-state-change-duration) var(--ss-motion-state-change-easing)}
.ss-card{box-sizing:border-box;width:100%;padding:var(--ss-space-card);border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-card);background:var(--ss-color-bg-surface);color:var(--ss-color-text-primary);font:var(--ss-type-body);text-align:left;display:block}.ss-card[data-interactive=true]{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--ss-motion-feedback-spring-duration) var(--ss-motion-feedback-spring), background-color var(--ss-motion-feedback-duration) var(--ss-motion-feedback-easing)}@media (hover:hover){.ss-card[data-interactive=true]:hover:not(:disabled){background:var(--ss-color-bg-hover)}}.ss-card[data-interactive=true]:active:not(:disabled){transform:scale(var(--ss-motion-feedback-scale))}.ss-card[data-interactive=true]:focus-visible{outline:var(--ss-outline-focus) solid var(--ss-color-focus-ring);outline-offset:var(--ss-outline-focus-offset)}.ss-card:disabled{border-color:var(--ss-color-disabled-border);background:var(--ss-color-disabled-bg);color:var(--ss-color-disabled-text);cursor:not-allowed}
.ss-modal{box-sizing:border-box;width:min(var(--ss-width-column), calc(100% - var(--ss-space-page-gutter) * 2));max-height:calc(100% - var(--ss-space-page-gutter) * 2);border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-card);background:var(--ss-color-bg-raised);color:var(--ss-color-text-primary);font:var(--ss-type-body);animation:ss-modal-enter var(--ss-motion-enter-spring-duration) var(--ss-motion-enter-spring) both;padding:0}.ss-modal::backdrop{background:var(--ss-color-overlay-scrim);animation:ss-modal-fade-in var(--ss-motion-enter-duration) var(--ss-motion-enter-easing) both}.ss-modal[data-closing=true]{animation:ss-modal-exit var(--ss-motion-exit-duration) var(--ss-motion-exit-easing) both}.ss-modal[data-closing=true]::backdrop{animation:ss-modal-fade-out var(--ss-motion-exit-duration) var(--ss-motion-exit-easing) both}.ss-modal__panel{gap:var(--ss-space-gap-loose);padding:var(--ss-space-card);display:grid}.ss-modal__title{font:var(--ss-type-title);text-wrap:balance;margin:0}@keyframes ss-modal-enter{0%{opacity:0;transform:translateY(var(--ss-motion-enter-distance)) scale(var(--ss-motion-enter-scale))}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ss-modal-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--ss-motion-exit-distance))}}@keyframes ss-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ss-modal-fade-out{0%{opacity:1}to{opacity:0}}
.ss-toast-region{z-index:10;padding:var(--ss-space-page-gutter);padding-bottom:calc(var(--ss-space-page-gutter) + env(safe-area-inset-bottom,0px));pointer-events:none;place-items:center;display:grid;position:fixed;inset:auto 0 0}.ss-toast{max-width:min(var(--ss-width-column), 100%);padding:var(--ss-space-control-y) var(--ss-space-control-x);border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-control);background:var(--ss-color-inverse-bg);color:var(--ss-color-inverse-text);font:var(--ss-type-label);pointer-events:auto;animation:ss-toast-enter var(--ss-motion-enter-spring-duration) var(--ss-motion-enter-spring) both}.ss-toast[data-closing=true]{animation:ss-toast-exit var(--ss-motion-exit-duration) var(--ss-motion-exit-easing) both}@keyframes ss-toast-enter{0%{opacity:0;transform:translateY(var(--ss-motion-enter-distance)) scale(var(--ss-motion-enter-scale))}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ss-toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--ss-motion-exit-distance))}}
.ss-tooltip-anchor{display:inline-flex;position:relative}.ss-tooltip-position{z-index:5;width:max-content;max-width:var(--ss-width-column);padding-bottom:var(--ss-space-gap);pointer-events:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.ss-tooltip{padding:var(--ss-space-gap-tight) var(--ss-space-gap);border-radius:var(--ss-radius-inner);background:var(--ss-color-inverse-bg);color:var(--ss-color-inverse-text);font:var(--ss-type-caption);animation:ss-tooltip-enter var(--ss-motion-enter-spring-duration) var(--ss-motion-enter-spring) both;display:block}.ss-tooltip[data-closing=true]{animation:ss-tooltip-exit var(--ss-motion-exit-duration) var(--ss-motion-exit-easing) both}@keyframes ss-tooltip-enter{0%{opacity:0;transform:translateY(var(--ss-motion-enter-distance)) scale(var(--ss-motion-enter-scale))}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ss-tooltip-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--ss-motion-exit-distance))}}
.ss-list{gap:var(--ss-space-gap);margin:0;padding:0;list-style:none;display:grid}.ss-list__item{padding:var(--ss-space-control-y) var(--ss-space-control-x);border:var(--ss-outline-component) solid var(--ss-color-border-strong);border-radius:var(--ss-radius-control);background:var(--ss-color-bg-raised);color:var(--ss-color-text-primary);font:var(--ss-type-body);animation:ss-list-enter var(--ss-motion-enter-spring-duration) var(--ss-motion-enter-spring) both;animation-delay:calc(var(--ss-list-index,0) * var(--ss-motion-sequence-stagger))}@keyframes ss-list-enter{0%{opacity:0;transform:translateY(var(--ss-motion-enter-distance)) scale(var(--ss-motion-enter-scale))}to{opacity:1;transform:translateY(0)scale(1)}}
.ss-hubert{--ss-hubert-e:var(--ss-motion-energy,1);--ss-hubert-on:min(1, calc(var(--ss-hubert-e) * 100));--ss-hubert-react:calc(.72s - .22s * var(--ss-hubert-e));--ss-hubert-party:calc(1.5s - .3s * var(--ss-hubert-e));width:var(--ss-hubert-size);height:var(--ss-hubert-size);line-height:0;display:inline-block;position:relative}.ss-hubert svg{width:100%;height:100%;overflow:visible}.ss-hubert__canvas{width:100%;height:100%;position:absolute;inset:0}.ss-hubert[data-renderer=rive] svg{visibility:hidden}.ss-hubert svg g{transform-box:view-box}.ss-hubert__fill-outline{fill:var(--ss-color-character-outline)}.ss-hubert__fill-shell{fill:var(--ss-color-character-shell)}.ss-hubert__fill-shell-shade{fill:var(--ss-color-character-shell-shade)}.ss-hubert__fill-claw{fill:var(--ss-color-character-claw)}.ss-hubert__fill-claw-shade{fill:var(--ss-color-character-claw-shade)}.ss-hubert__fill-body{fill:var(--ss-color-character-body)}.ss-hubert__shine{fill:var(--ss-color-character-body);opacity:.45}.ss-hubert__ground{opacity:.6}.ss-hubert__lid,.ss-hubert__happy{fill:none;stroke:var(--ss-color-character-outline);stroke-width:7px;stroke-linecap:round;opacity:0}.ss-hubert__rig{transform-origin:500px 960px}.ss-hubert__shell,.ss-hubert__body{transform-origin:480px 820px}.ss-hubert__tuck{transform-origin:545px 560px}.ss-hubert__claw--left{transform-origin:415px 640px}.ss-hubert__claw--right{transform-origin:650px 655px}.ss-hubert__eyes{transform-origin:540px 540px}.ss-hubert__house{transform-origin:500px 780px}.ss-hubert__eye--left{transform-origin:505px 540px}.ss-hubert__eye--right{transform-origin:575px 540px}.ss-hubert__tuck,.ss-hubert__house,.ss-hubert__eyes,.ss-hubert__eye,.ss-hubert__lid,.ss-hubert__happy{transition:transform var(--ss-motion-state-change-spring-duration,.3s) var(--ss-motion-state-change-spring,ease), opacity var(--ss-motion-state-change-duration,.2s) ease}.ss-hubert__pupil{transform:translate(calc(var(--ss-hubert-look-x) * 7px), calc(var(--ss-hubert-look-y) * 8px));transition:transform .16s ease-out,opacity .12s}.ss-hubert[data-state=idle] .ss-hubert__shell,.ss-hubert[data-state=idle] .ss-hubert__body{animation:3.2s ease-in-out infinite ss-hubert-breathe}.ss-hubert[data-blink] .ss-hubert__pupil{transform:translate(calc(var(--ss-hubert-look-x) * 7px), calc(var(--ss-hubert-look-y) * 8px)) scaleY(.12);transition-duration:60ms}.ss-hubert[data-state=idle] .ss-hubert__eye--left{transform:rotate(calc(var(--ss-hubert-look-x) * 7deg * var(--ss-hubert-e))) translateY(calc(var(--ss-hubert-look-y) * 6px * var(--ss-hubert-e)));transition:transform calc(.52s - .14s * var(--ss-hubert-e)) var(--ss-motion-state-change-spring,ease)}.ss-hubert[data-state=idle] .ss-hubert__eye--right{transform:rotate(calc(var(--ss-hubert-look-x) * 5deg * var(--ss-hubert-e))) translateY(calc(var(--ss-hubert-look-y) * 4px * var(--ss-hubert-e)));transition:transform calc(.6s - .14s * var(--ss-hubert-e)) var(--ss-motion-state-change-spring,ease) 70ms}@keyframes ss-hubert-breathe{50%{transform:scale(calc(1 + .012 * var(--ss-hubert-e)), calc(1 + .022 * var(--ss-hubert-e)))}}.ss-hubert__leg{animation:1.6s ease-in-out infinite ss-hubert-shuffle;animation-delay:calc(var(--ss-hubert-leg) * -.37s)}.ss-hubert[data-state=thinking] .ss-hubert__leg{animation:none}@keyframes ss-hubert-shuffle{0%,to{transform:rotate(calc(-3deg * var(--ss-hubert-e)))}50%{transform:rotate(calc(3deg * var(--ss-hubert-e)))}}.ss-hubert[data-state=thinking] .ss-hubert__tuck{opacity:0;transform:scale(.3)}.ss-hubert[data-state=thinking] .ss-hubert__house{transform:translateY(140px)rotate(-4deg)}.ss-hubert[data-state=thinking] .ss-hubert__eyes{transform:translateY(80px)scale(.85)}.ss-hubert[data-state=thinking] .ss-hubert__pupil{transform:translate(calc(var(--ss-hubert-look-x) * 7px), -8px)}.ss-hubert[data-state=correct] .ss-hubert__rig{animation:ss-hubert-hop var(--ss-hubert-react) both}.ss-hubert[data-state=correct] .ss-hubert__claw--right{animation:ss-hubert-claw-wave var(--ss-hubert-react) ease-in-out both}.ss-hubert[data-state=correct] .ss-hubert__pupil{animation:ss-hubert-hide var(--ss-hubert-react) both}.ss-hubert[data-state=correct] .ss-hubert__happy{animation:ss-hubert-show var(--ss-hubert-react) both}@keyframes ss-hubert-hop{0%{animation-timing-function:ease-out;transform:none}15%{transform:scale(calc(1 + .06 * var(--ss-hubert-e)), calc(1 - .08 * var(--ss-hubert-e)));animation-timing-function:ease-out}45%{transform:translateY(calc(-90px * var(--ss-hubert-e))) scale(calc(1 - .03 * var(--ss-hubert-e)), calc(1 + .05 * var(--ss-hubert-e)));animation-timing-function:ease-in}75%{transform:scale(calc(1 + .05 * var(--ss-hubert-e)), calc(1 - .06 * var(--ss-hubert-e)));animation-timing-function:ease-out}to{transform:none}}@keyframes ss-hubert-claw-wave{0%,to{transform:none}35%{transform:rotate(calc(-55deg * var(--ss-hubert-e)))}65%{transform:rotate(calc(-30deg * var(--ss-hubert-e)))}}@keyframes ss-hubert-hide{0%,to{opacity:1}10%,85%{opacity:0}}@keyframes ss-hubert-show{0%,to{opacity:0}10%,85%{opacity:1}}.ss-hubert[data-state=incorrect] .ss-hubert__rig{animation:ss-hubert-tilt var(--ss-hubert-react) ease-in-out both}.ss-hubert[data-state=incorrect] .ss-hubert__eye--left{animation:ss-hubert-droop-left var(--ss-hubert-react) ease-in-out both}.ss-hubert[data-state=incorrect] .ss-hubert__eye--right{animation:ss-hubert-droop-right var(--ss-hubert-react) ease-in-out both}.ss-hubert[data-state=incorrect] .ss-hubert__lid{animation:ss-hubert-show var(--ss-hubert-react) both}.ss-hubert[data-state=incorrect] .ss-hubert__pupil{animation:ss-hubert-look-down var(--ss-hubert-react) both}@keyframes ss-hubert-tilt{0%,to{transform:none}30%,70%{transform:rotate(calc(-4deg * var(--ss-hubert-e))) translateY(calc(10px * var(--ss-hubert-e)))}}@keyframes ss-hubert-droop-left{0%,to{transform:none}30%,70%{transform:rotate(calc(-12deg * var(--ss-hubert-e)))}}@keyframes ss-hubert-droop-right{0%,to{transform:none}30%,70%{transform:rotate(calc(-5deg * var(--ss-hubert-e)))}}@keyframes ss-hubert-look-down{0%,to{transform:none}15%,85%{transform:translateY(6px)}}.ss-hubert[data-state=celebrate] .ss-hubert__rig{animation:ss-hubert-jump var(--ss-hubert-party) both}.ss-hubert[data-state=celebrate] .ss-hubert__claw--left{animation:ss-hubert-left-up var(--ss-hubert-party) ease-in-out both}.ss-hubert[data-state=celebrate] .ss-hubert__claw--right{animation:ss-hubert-right-up var(--ss-hubert-party) ease-in-out both}.ss-hubert[data-state=celebrate] .ss-hubert__pupil{animation:ss-hubert-hide var(--ss-hubert-party) both}.ss-hubert[data-state=celebrate] .ss-hubert__happy{animation:ss-hubert-show var(--ss-hubert-party) both}@keyframes ss-hubert-jump{0%{animation-timing-function:ease-out;transform:none}12%{transform:scale(calc(1 + .08 * var(--ss-hubert-e)), calc(1 - .12 * var(--ss-hubert-e)));animation-timing-function:ease-out}32%{transform:translateY(calc(-170px * var(--ss-hubert-e))) scale(calc(1 - .05 * var(--ss-hubert-e)), calc(1 + .08 * var(--ss-hubert-e)));animation-timing-function:ease-in}50%{transform:scale(calc(1 + .07 * var(--ss-hubert-e)), calc(1 - .09 * var(--ss-hubert-e)));animation-timing-function:ease-out}66%{transform:translateY(calc(-70px * var(--ss-hubert-e)));animation-timing-function:ease-in}80%{transform:scale(calc(1 + .03 * var(--ss-hubert-e)), calc(1 - .04 * var(--ss-hubert-e)));animation-timing-function:ease-out}to{transform:none}}@keyframes ss-hubert-left-up{0%,to{transform:none}20%,82%{transform:rotate(calc(150deg * var(--ss-hubert-on)))}50%{transform:rotate(calc(160deg * var(--ss-hubert-on)))}}@keyframes ss-hubert-right-up{0%,to{transform:none}20%,82%{transform:rotate(calc(-150deg * var(--ss-hubert-on)))}50%{transform:rotate(calc(-160deg * var(--ss-hubert-on)))}}[data-motion=reduced] .ss-hubert__claw{animation-timing-function:step-end!important}@media (prefers-reduced-motion:reduce){.ss-hubert__claw{animation-timing-function:step-end!important}}
