.hk-spinner{--_s:var(--hk-spinner-size,8px);align-items:flex-end;gap:calc(var(--_s) * .6);height:calc(var(--_s) * 2.6);padding-top:calc(var(--_s) * .2);display:inline-flex}.hk-spinner__dot{width:var(--_s);height:var(--_s);background:var(--hk-primary);animation:hk-spinner-bounce .9s var(--hk-ease-out) infinite;border-radius:50%}.hk-spinner--current .hk-spinner__dot{background:currentColor}.hk-spinner__dot:nth-child(2){background:var(--hk-voice-soprano);animation-delay:.12s}.hk-spinner__dot:nth-child(3){background:var(--hk-voice-tenor);animation-delay:.24s}.hk-spinner--current .hk-spinner__dot:nth-child(n){background:currentColor}@keyframes hk-spinner-bounce{0%,60%,to{transform:translateY(0)scale(1)}25%{transform:translateY(calc(var(--_s) * -1.4)) scale(.92, 1.08)}45%{transform:translateY(0)scale(1.15,.85)}}@media (prefers-reduced-motion:reduce){.hk-spinner__dot{animation:1.4s ease-in-out infinite hk-spinner-fade!important}@keyframes hk-spinner-fade{0%,to{opacity:.35}50%{opacity:1}}}.hk-btn{--_bg:var(--hk-primary-fill);--_fg:var(--hk-primary-ink);--_edge:color-mix(in srgb, var(--_bg) 70%, black);--_hover:color-mix(in srgb, var(--_bg) 90%, white);--_lift:4px;--_border:transparent;border:2px solid var(--_border);border-radius:var(--hk-radius-md);background:var(--_bg);min-height:48px;color:var(--_fg);font-family:var(--hk-font-display);letter-spacing:.005em;white-space:nowrap;-webkit-user-select:none;user-select:none;box-shadow:0 var(--_lift) 0 var(--_edge);transition:transform var(--hk-dur-fast) var(--hk-ease-bounce), box-shadow var(--hk-dur-fast) var(--hk-ease-out), background-color var(--hk-dur) ease, color var(--hk-dur) ease;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:1.0625rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex;position:relative;transform:translateY(0)}a.hk-btn,a.hk-btn:hover{color:var(--_fg)}.hk-btn__label{text-overflow:ellipsis;padding-top:.12em;overflow:hidden}.hk-btn__icon{flex:none}@media (hover:hover){.hk-btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--_hover)}}.hk-btn:active:not(:disabled):not([aria-disabled=true]){box-shadow:0 calc(var(--_lift) - 3px) 0 var(--_edge);transform:translateY(3px)}.hk-btn:focus-visible{box-shadow:0 var(--_lift) 0 var(--_edge), var(--hk-focus-halo)}.hk-btn:disabled,.hk-btn[aria-disabled=true]{cursor:not-allowed;opacity:.5;filter:saturate(.6)}.hk-btn[aria-busy=true]{opacity:.85;filter:none;cursor:progress}.hk-btn--secondary{--_bg:var(--hk-surface);--_fg:var(--hk-text);--_border:var(--hk-border-strong);--_edge:var(--hk-border-strong);--_hover:var(--hk-primary-softer)}.hk-btn--secondary .hk-btn__icon{color:var(--hk-primary-text)}.hk-btn--ghost{--_bg:transparent;--_fg:var(--hk-primary-text);--_edge:transparent;--_hover:var(--hk-primary-softer);--_lift:0px}.hk-btn--ghost:active:not(:disabled){transform:scale(.97)}.hk-btn--danger{--_bg:var(--hk-danger-fill);--_fg:var(--hk-danger-ink)}.hk-btn--accent{--_bg:var(--hk-accent);--_fg:var(--hk-accent-ink);--_edge:#d9a400;--_hover:#ffda5c}.hk-btn--sm{border-radius:var(--hk-radius-sm);--_lift:3px;gap:6px;min-height:36px;padding:0 14px;font-size:.9375rem}.hk-btn--sm:before{content:"";position:absolute;inset:-4px -2px}.hk-btn--ghost.hk-btn--sm{--_lift:0px}.hk-btn--lg{border-radius:16px;gap:10px;min-height:56px;padding:0 24px;font-size:1.1875rem}.hk-btn--xl{--_lift:5px;border-radius:20px;gap:12px;min-height:64px;padding:0 30px;font-size:1.375rem;font-weight:800}.hk-btn--ghost.hk-btn--lg,.hk-btn--ghost.hk-btn--xl{--_lift:0px}.hk-btn--block{width:100%;display:flex}.hk-btn--icon-only{aspect-ratio:1;padding:0}.hk-mascot{flex:none;display:block;overflow:visible}.hk-mascot *{transform-box:fill-box}.hk-mascot__shadow{fill:var(--hk-mascot-shadow);transform-origin:50%}.hk-mascot__bop,.hk-mascot__body{transform-origin:50% 100%}.hk-mascot__eye,.hk-mascot__eyes,.hk-mascot__mouth,.hk-mascot__cheek{transform-origin:50%}.hk-mascot__mouth{transform-origin:50% 20%}.hk-mascot--idle .hk-mascot__body{animation:3.4s ease-in-out infinite hk-mascot-breathe}.hk-mascot--idle .hk-mascot__eye,.hk-mascot--sing .hk-mascot__eye{animation:5.2s ease-in-out infinite hk-mascot-blink}.hk-mascot--idle .hk-mascot__eye+.hk-mascot__eye,.hk-mascot--sing .hk-mascot__eye+.hk-mascot__eye{animation-delay:40ms}.hk-mascot--idle .hk-mascot__mouth{animation:3.4s ease-in-out infinite hk-mascot-hum}@keyframes hk-mascot-breathe{0%,to{transform:scale(1)}50%{transform:scale(.99,1.03)}}@keyframes hk-mascot-blink{0%,93%,to{transform:scaleY(1)}95.5%{transform:scaleY(.08)}}@keyframes hk-mascot-hum{0%,to{transform:scale(.72,.62)}50%{transform:scale(.8,.74)}}.hk-mascot--sing .hk-mascot__body{animation:.62s ease-in-out infinite alternate hk-mascot-hop}.hk-mascot--sing .hk-mascot__mouth{animation:.31s ease-in-out infinite alternate hk-mascot-sing}.hk-mascot--sing .hk-mascot__shadow{animation:.62s ease-in-out infinite alternate hk-mascot-shadow}.hk-mascot__float-inner{opacity:1}.hk-mascot--sing .hk-mascot__float-inner{animation:2.1s ease-out infinite hk-mascot-float}.hk-mascot__float--2 .hk-mascot__float-inner{animation-delay:.7s!important}.hk-mascot__float--3 .hk-mascot__float-inner{animation-delay:1.4s!important}@keyframes hk-mascot-hop{0%{transform:translateY(0)scale(1.02,.98)}to{transform:translateY(-5px)scale(.98,1.03)}}@keyframes hk-mascot-shadow{0%{opacity:1;transform:scale(1)}to{opacity:.7;transform:scale(.86)}}@keyframes hk-mascot-sing{0%{transform:scale(.85,.55)}to{transform:scale(1.06,1.14)}}@keyframes hk-mascot-float{0%{opacity:0;transform:translate(0)rotate(0)scale(.6)}15%{opacity:1}to{opacity:0;transform:translate(22px,-46px)rotate(16deg)scale(1)}}.hk-mascot--munch .hk-mascot__body{animation:.56s ease-in-out infinite alternate hk-mascot-wobble}.hk-mascot--munch .hk-mascot__mouth{animation:.28s ease-in-out infinite alternate hk-mascot-chomp}.hk-mascot--munch .hk-mascot__cheek{animation:.28s ease-in-out infinite alternate hk-mascot-puff}.hk-mascot--munch .hk-mascot__snack{transform-origin:50%;animation:1.12s ease-in infinite hk-mascot-snack}.hk-mascot__crumb{transform-origin:50%}.hk-mascot--munch .hk-mascot__crumb{animation:.9s ease-out infinite hk-mascot-crumb}.hk-mascot__crumb--2{--_dx:-16px;animation-delay:.3s!important}.hk-mascot__crumb--3{--_dx:20px;animation-delay:.6s!important}@keyframes hk-mascot-wobble{0%{transform:rotate(-3deg)translateY(0)}to{transform:rotate(3deg)translateY(-2px)}}@keyframes hk-mascot-chomp{0%{transform:scale(1)}to{transform:scale(1.15,.22)}}@keyframes hk-mascot-puff{0%{transform:scale(1)}to{transform:scale(1.3,1.15)}}@keyframes hk-mascot-snack{0%{opacity:1;transform:translate(18px,-6px)rotate(10deg)}70%{opacity:1;transform:translate(-6px)rotate(-6deg)scale(.6)}to{opacity:0;transform:translate(-10px)scale(.2)}}@keyframes hk-mascot-crumb{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(var(--_dx,10px), 18px)}}.hk-mascot--happy .hk-mascot__body{animation:hk-mascot-jump 1s var(--hk-ease-bounce) infinite}.hk-mascot--happy .hk-mascot__shadow{animation:hk-mascot-jump-shadow 1s var(--hk-ease-bounce) infinite}.hk-mascot__sparkle{transform-origin:50%}.hk-mascot--happy .hk-mascot__sparkle{animation:1.2s ease-in-out infinite hk-mascot-twinkle}.hk-mascot__sparkle--2{animation-delay:.4s!important}.hk-mascot__sparkle--3{animation-delay:.8s!important}@keyframes hk-mascot-jump{0%,to{transform:translateY(0)scale(1)}15%{transform:translateY(0)scale(1.06,.94)}45%{transform:translateY(-12px)scale(.97,1.04)}70%{transform:translateY(0)scale(1.04,.96)}}@keyframes hk-mascot-jump-shadow{0%,to,70%{transform:scale(1)}45%{transform:scale(.78)}}@keyframes hk-mascot-twinkle{0%,to{opacity:.5;transform:scale(.55)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(20deg)}}.hk-mascot--confused .hk-mascot__body{animation:2.6s ease-in-out infinite hk-mascot-tilt}.hk-mascot__question{font-family:var(--hk-font-display);transform-origin:50%;font-size:40px;font-weight:800;animation:1.6s ease-in-out infinite hk-mascot-question}@keyframes hk-mascot-tilt{0%,to{transform:rotate(-7deg)}50%{transform:rotate(-3deg)}}@keyframes hk-mascot-question{0%,to{transform:translateY(0)rotate(8deg)}50%{transform:translateY(-5px)rotate(14deg)}}@media (prefers-reduced-motion:reduce){.hk-mascot *,.hk-mascot__question{animation:none!important}.hk-mascot--idle .hk-mascot__mouth{transform:scale(.76,.68)}.hk-mascot--confused .hk-mascot__body{transform:rotate(-6deg)}.hk-mascot--munch .hk-mascot__crumb{opacity:.8}}.hk-iconbtn{--_size:44px;--_bg:transparent;--_fg:var(--hk-text);--_hover:var(--hk-primary-softer);--_edge:transparent;--_lift:0px;width:var(--_size);height:var(--_size);border-radius:var(--hk-radius-pill);background:var(--_bg);color:var(--_fg);box-shadow:0 var(--_lift) 0 var(--_edge);transition:transform var(--hk-dur-fast) var(--hk-ease-bounce), background-color var(--hk-dur) ease, color var(--hk-dur) ease, box-shadow var(--hk-dur-fast) ease;flex:none;place-items:center;display:inline-grid;position:relative}.hk-iconbtn:before{content:"";inset:min(0px, calc((var(--_size) - 44px) / 2));border-radius:inherit;position:absolute}@media (hover:hover){.hk-iconbtn:hover:not(:disabled){background:var(--_hover)}}.hk-iconbtn:active:not(:disabled){transform:scale(.9)}.hk-iconbtn:disabled{opacity:.4}.hk-iconbtn:focus-visible{box-shadow:0 var(--_lift) 0 var(--_edge), var(--hk-focus-halo)}.hk-iconbtn--soft{--_bg:var(--hk-primary-softer);--_fg:var(--hk-primary-text);--_hover:var(--hk-primary-soft)}.hk-iconbtn--secondary{--_bg:var(--hk-surface);--_fg:var(--hk-text);--_hover:var(--hk-primary-softer);--_edge:var(--hk-border-strong);--_lift:3px;border:2px solid var(--hk-border-strong)}.hk-iconbtn--primary,.hk-iconbtn--danger{--_bg:var(--hk-primary-fill);--_fg:var(--hk-primary-ink);--_hover:color-mix(in srgb, var(--hk-primary-fill) 90%, white);--_edge:color-mix(in srgb, var(--_bg) 70%, black);--_lift:4px}.hk-iconbtn--danger{--_bg:var(--hk-danger-fill);--_fg:var(--hk-danger-ink);--_hover:color-mix(in srgb, var(--hk-danger-fill) 90%, white)}.hk-iconbtn--primary:active:not(:disabled),.hk-iconbtn--danger:active:not(:disabled),.hk-iconbtn--secondary:active:not(:disabled){box-shadow:0 calc(var(--_lift) - 3px) 0 var(--_edge);transform:translateY(3px)}.hk-iconbtn--on{--_bg:var(--hk-primary-soft);--_fg:var(--hk-primary-text);--_hover:var(--hk-primary-soft)}.hk-iconbtn--primary.hk-iconbtn--on{--_bg:var(--hk-accent);--_fg:var(--hk-accent-ink);--_hover:#ffda5c;--_edge:#d9a400}.hk-iconbtn--sm{--_size:36px}.hk-iconbtn--lg{--_size:56px}.hk-iconbtn--xl{--_size:72px;--_lift:5px}.hk-iconbtn--ghost.hk-iconbtn--xl,.hk-iconbtn--soft.hk-iconbtn--xl{--_lift:0px}a.hk-iconbtn,a.hk-iconbtn:hover{color:var(--_fg);text-decoration:none}.hk-screen{min-height:100vh;min-height:100dvh;animation:hk-screen-in .26s var(--hk-ease-out) backwards;flex-direction:column;display:flex}.hk-screen__main{width:100%;padding-top:var(--hk-space-2);padding-bottom:calc(var(--hk-space-9) + var(--hk-safe-bottom));padding-left:calc(var(--hk-gutter) + var(--hk-safe-left));padding-right:calc(var(--hk-gutter) + var(--hk-safe-right));flex:1 0 auto;margin-inline:auto}.hk-screen__main:focus-visible{box-shadow:none;outline:none}.hk-screen__main--default{max-width:calc(var(--hk-content-max) + 2 * var(--hk-gutter))}.hk-screen__main--narrow{max-width:calc(var(--hk-content-narrow) + 2 * var(--hk-gutter))}.hk-screen__main--full{max-width:none}.hk-screen--no-topbar .hk-screen__main{padding-top:calc(var(--hk-safe-top) + var(--hk-space-2))}.hk-screen__main--flush{padding:0}.hk-screen--with-bottom .hk-screen__main{padding-bottom:var(--hk-space-4)}.hk-screen__bottom{z-index:var(--hk-z-dock);padding-bottom:var(--hk-safe-bottom);padding-left:var(--hk-safe-left);padding-right:var(--hk-safe-right);position:sticky;bottom:0}@keyframes hk-screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
