.kumo{--kumo-outline:color-mix(in oklab, var(--background) 60%, transparent);--kumo-ink-soft:#7a746c;display:block;overflow:visible}.light .kumo{--kumo-outline:color-mix(in oklab, var(--foreground) 55%, transparent)}.ia-root.dark .kumo{--kumo-outline:color-mix(in oklab, var(--background) 60%, transparent)}.ia-root.light .kumo{--kumo-outline:color-mix(in oklab, var(--foreground) 55%, transparent)}.kumo .body{transform-origin:50% 70%;transform-box:fill-box;animation:4.5s ease-in-out infinite kumo-float}.kumo .shadow-el{transform-origin:50%;transform-box:fill-box;animation:4.5s ease-in-out infinite kumo-shade}@keyframes kumo-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-9px)scale(1.01,.99)}}@keyframes kumo-shade{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.32;transform:scale(.86)}}.kumo .contour{fill:none;stroke:var(--kumo-outline);stroke-width:2px}.kumo .eye{transition:transform .12s ease-out}.kumo .lid{transform-origin:50%;transform-box:fill-box;transition:transform 90ms ease-in}.kumo.blink .lid{transform:scaleY(.08)}.kumo .happy,.kumo .think{opacity:0;transition:opacity .2s}.kumo[data-mood=happy] .open{opacity:0}.kumo[data-mood=happy] .happy,.kumo[data-mood=think] .think{opacity:1}.kumo .open{transition:opacity .2s}.kumo .dots{fill:var(--kumo-ink-soft)}.kumo .dots circle{animation:1.2s ease-in-out infinite paused kumo-dot}.kumo[data-mood=think] .think circle,.kumo[data-mood=busy] .working circle{animation-play-state:running}.kumo .dots circle:nth-child(2){animation-delay:.2s}.kumo .dots circle:nth-child(3){animation-delay:.4s}@keyframes kumo-dot{0%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.kumo .smile,.kumo .grin,.kumo .oh{transition:opacity .2s}.kumo .grin,.kumo .oh,.kumo[data-mood=happy] .smile{opacity:0}.kumo[data-mood=happy] .grin{opacity:1}.kumo[data-mood=think] .smile{opacity:0}.kumo[data-mood=think] .oh{opacity:1}.kumo .zz{opacity:0;font:700 18px var(--font-sans,system-ui), sans-serif;fill:var(--kumo-ink-soft);transition:opacity .3s}.kumo[data-mood=sleep] .zz{opacity:1}.kumo[data-mood=sleep] .lid{transform:scaleY(.08)}.kumo .zz text{animation:2.4s ease-in-out infinite paused kumo-zz}.kumo[data-mood=sleep] .zz text{animation-play-state:running}.kumo .zz text:nth-child(2){animation-delay:.8s}@keyframes kumo-zz{0%{opacity:0;transform:translateY(6px)}40%{opacity:1}to{opacity:0;transform:translate(8px,-10px)}}.kumo-dock .kumo .shadow-el{opacity:.18}.kumo-btn .kumo{transition:transform .25s cubic-bezier(.34,1.4,.64,1)}.kumo-btn:hover .kumo{transform:translateY(-4px)scale(1.05)}.kumo-bubble{--kumo-bubble-line:color-mix(in oklab, var(--foreground) 55%, var(--popover));--kumo-bubble-glass:color-mix(in oklab, var(--popover) 94%, transparent);bottom:100%;z-index:var(--ia-z-popover);background:var(--kumo-bubble-glass);width:min(290px,78vw);color:var(--popover-foreground);border:1px solid var(--kumo-bubble-line);border-radius:6px;box-shadow:inset 0 1px 0 var(--ia-glass-highlight,transparent), 0 10px 28px #1212121f;border-end-end-radius:2px;gap:4px;margin-bottom:6px;padding:8px;display:grid;position:absolute;inset-inline-end:0}.kumo-bubble-section,.kumo-bubble-list{gap:4px;display:grid}.kumo-bubble-title{letter-spacing:.1em;text-transform:uppercase;padding:4px 8px 2px;font-size:12px}.kumo-bubble-list button{text-align:start;width:100%;color:var(--popover-foreground);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:8px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.35;display:block}.kumo-bubble-list button:hover,.kumo-bubble-list button:focus-visible{background:var(--surface-2)}.kumo-bubble-list button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.kumo .body,.kumo .shadow-el,.kumo .dots circle,.kumo .zz text{animation:none!important}.kumo,.kumo *{transition:none!important}.kumo-btn:hover .kumo{transform:none}}.kumo.kumo-still .body,.kumo.kumo-still .shadow-el,.kumo.kumo-still .dots circle,.kumo.kumo-still .zz text{animation:none}.kumo .express{transform-box:fill-box;transform-origin:50% 0;transition:transform .2s}.kumo[data-mood=busy] .express{transform:scaleY(.6)}.kumo[data-mood=sorry] .express{transform:scaleY(.72)}.kumo[data-mood=surprised] .express{transform-origin:50%;transform:scale(1.12,1.22)}.kumo .brow,.kumo .flat,.kumo .frown,.kumo .gasp,.kumo .sweat,.kumo .bang,.kumo .working{opacity:0;transition:opacity .2s,transform .2s}.kumo .brow{transform-box:fill-box;transform-origin:50%}.kumo[data-mood=busy] .smile,.kumo[data-mood=sorry] .smile,.kumo[data-mood=surprised] .smile{opacity:0}.kumo[data-mood=busy] .brow,.kumo[data-mood=busy] .flat,.kumo[data-mood=busy] .working{opacity:1}.kumo[data-mood=busy] .brow-l{transform:rotate(6deg)}.kumo[data-mood=busy] .brow-r{transform:rotate(-6deg)}.kumo[data-mood=surprised] .brow,.kumo[data-mood=surprised] .gasp,.kumo[data-mood=surprised] .bang{opacity:1}.kumo[data-mood=surprised] .brow{transform:translateY(-5px)}.kumo[data-mood=sorry] .brow,.kumo[data-mood=sorry] .frown,.kumo[data-mood=sorry] .sweat{opacity:1}.kumo[data-mood=sorry] .brow-l{transform:rotate(-13deg)}.kumo[data-mood=sorry] .brow-r{transform:rotate(13deg)}.kumo .sweat,.kumo .bang{color:var(--kumo-ink-soft)}html[data-kv-animations=off] .kumo .body,html[data-kv-animations=off] .kumo .shadow-el,html[data-kv-animations=off] .kumo .dots circle,html[data-kv-animations=off] .kumo .zz text{animation:none!important}html[data-kv-animations=off] .kumo,html[data-kv-animations=off] .kumo *{transition:none!important}html[data-kv-animations=off] .kumo-btn:hover .kumo{transform:none}.nf{background:var(--background);min-height:100dvh;color:var(--foreground);flex-direction:column;display:flex;overflow-x:clip}.nf:lang(ko){word-break:keep-all;overflow-wrap:break-word}.nf__skip{z-index:10;background:var(--surface);min-height:44px;color:var(--foreground);border-radius:8px;align-items:center;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:absolute;inset-block-start:8px;inset-inline-start:16px}.nf__skip:not(:focus-visible){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;min-height:0;padding:0;overflow:hidden}.nf__skip:focus-visible{outline:var(--btn-focus-ring) solid var(--ring);outline-offset:var(--btn-focus-offset)}.nf__header{padding-block:12px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));align-items:center;display:flex}.nf__brand{min-height:44px;color:var(--foreground);letter-spacing:-.01em;border-radius:8px;align-items:center;gap:8px;padding-inline:4px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.nf__brand:focus-visible{outline:var(--btn-focus-ring) solid var(--ring);outline-offset:var(--btn-focus-offset)}.nf__main{flex-direction:column;flex:1;justify-content:center;align-items:center;padding-block:8px 48px;display:flex}.nf__text{width:100%;max-width:36rem;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));text-align:center;flex-direction:column;align-items:center;margin-top:24px;display:flex}.nf__title{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:24px;font-weight:600;line-height:32px}.nf__body{color:var(--muted-foreground);text-wrap:pretty;margin:8px 0 0;font-size:16px;line-height:24px}.nf__title:is(:lang(ar),:lang(hi),:lang(ja),:lang(ko),:lang(zh)){letter-spacing:0;line-height:36px}.nf__body:is(:lang(ar),:lang(hi),:lang(ja),:lang(ko),:lang(zh)){line-height:28px}.nf__links{flex-direction:column;align-items:stretch;gap:8px;width:100%;max-width:20rem;margin-top:24px;display:flex}.nf__links .k-btn,.nf__replay{font-size:14px}.nf__swap{justify-items:center;display:inline-grid}.nf__swap>*{grid-area:1/1}.nf__replay{margin-top:16px}@media (width>=640px){.nf__header{padding-block:16px;padding-left:max(32px, env(safe-area-inset-left));padding-right:max(32px, env(safe-area-inset-right))}.nf__text{margin-top:32px}.nf__links{flex-flow:wrap;justify-content:center;max-width:none}}.nf__stage{--nf-dw:min(300px, calc(100vw - 40px));--nf-kw:calc(var(--nf-dw) * .34);--nf-kh:calc(var(--nf-kw) * 190 / 240);--nf-dh:calc(var(--nf-dw) / 2);--nf-dir:1;--nf-x-off:calc(-1 * var(--nf-kw) - 24px);--nf-x-look:max(calc((100cqi - var(--nf-kw)) * .14), calc((100cqi - var(--nf-kw)) / 2 - 480px));--nf-x-mid:calc((100cqi - var(--nf-kw)) / 2);--nf-y-sky:0px;--nf-y-peek:calc(var(--nf-kh) * .229 + var(--nf-dh) / 2);--nf-y-sit:calc(var(--nf-kh) * .121 + var(--nf-dw) * .03);--nf-hop:8px;--nf-look:var(--distance-micro);--nf-digit-ink:color-mix(in oklab, var(--foreground) 10%, var(--background));width:100%;height:calc(var(--nf-dh) + var(--nf-kh) * .85);position:relative;overflow-x:clip;container-type:inline-size}@media (width>=640px){.nf__stage{--nf-kw:128px;--nf-dw:440px;--nf-hop:10px}}@media (width>=1024px){.nf__stage{--nf-kw:156px;--nf-dw:540px;--nf-hop:12px}}[dir=rtl] .nf__stage{--nf-dir:-1}.nf__digits{z-index:2;width:var(--nf-dw);height:var(--nf-dh);fill:none;stroke:var(--nf-digit-ink);stroke-width:28px;stroke-linecap:round;stroke-linejoin:round;margin-inline:auto;position:absolute;inset-block-end:0;inset-inline:0}.nf__kumo{z-index:1;width:var(--nf-kw);translate:calc(var(--nf-x-off) * var(--nf-dir)) var(--nf-y-sky);opacity:0;position:absolute;inset-block-start:0;inset-inline-start:0}.nf__pose{transform-origin:50% 80%}.nf__kumo .kumo{width:100%;height:auto}.nf__kumo .kumo .shadow-el{display:none}.nf__stage:is([data-act=settle],[data-act=rest],[data-act=leave]) .nf__kumo{z-index:3}.nf__stage:is([data-act=rest],[data-act=leave]) .nf__kumo{translate:calc(var(--nf-x-mid) * var(--nf-dir)) var(--nf-y-sit);opacity:1}.nf__stage:is([data-act=rest],[data-act=leave]) .kumo .open{translate:0 var(--nf-look)}.nf__stage[data-act=rest][data-stopped] .nf__kumo{animation:nf-appear var(--duration-base) var(--ease-smooth-out) both}.nf__stage[data-act=leave] .nf__kumo{animation:nf-leave var(--duration-quick) var(--ease-smooth-out) both}.nf__stage[data-act=arrive] .nf__kumo{animation:nf-arrive var(--nf-arrive-dur) var(--ease-smooth-out) both}.nf__stage[data-act=arrive] .nf__pose{animation:nf-pose-arrive var(--nf-arrive-dur) var(--ease-in-out) both}.nf__stage[data-act=arrive] .kumo .open{animation:nf-eyes-arrive var(--nf-arrive-dur) var(--ease-in-out) both}.nf__stage[data-act=look] .nf__kumo{animation:nf-look var(--nf-look-dur) var(--ease-linear) both}.nf__stage[data-act=look] .nf__pose{animation:nf-pose-look var(--nf-look-dur) var(--ease-in-out) both}.nf__stage[data-act=look] .kumo .open{animation:nf-eyes-look var(--nf-look-dur) var(--ease-in-out) both}.nf__stage[data-act=look] .kumo .lid{animation:nf-blink var(--nf-look-dur) var(--ease-linear) both}.nf__stage[data-act=think] .nf__kumo{animation:nf-think var(--nf-think-dur) var(--ease-linear) both}.nf__stage[data-act=think] .nf__pose{animation:nf-pose-think var(--nf-think-dur) var(--ease-in-out) both}.nf__stage:not([data-act=wait],[data-act=rest]) .kumo .think circle{animation:kumo-dot var(--nf-dots-dur) var(--ease-in-out) infinite}.nf__stage:not([data-act=wait],[data-act=rest]) .kumo .think circle:nth-child(2){animation-delay:calc(var(--nf-dots-dur) / -6)}.nf__stage:not([data-act=wait],[data-act=rest]) .kumo .think circle:nth-child(3){animation-delay:calc(var(--nf-dots-dur) / -3)}.nf__stage[data-act=glide] .nf__kumo{animation:nf-glide var(--nf-glide-dur) var(--ease-in-out) both}.nf__stage[data-act=glide] .nf__pose{animation:nf-pose-glide var(--nf-glide-dur) var(--ease-in-out) both}.nf__stage[data-act=glide] .kumo .open{animation:nf-eyes-glide var(--nf-glide-dur) var(--ease-in-out) both}.nf__stage[data-act=dive] .nf__kumo{animation:nf-dive var(--nf-dive-dur) var(--ease-in-out) both}.nf__stage[data-act=dive] .nf__pose{animation:nf-pose-dive var(--nf-dive-dur) var(--ease-in-out) both}.nf__stage[data-act=dive] .kumo .open{animation:nf-eyes-dive var(--nf-dive-dur) var(--ease-in-out) both}.nf__stage[data-act=surprise] .nf__kumo{animation:nf-surprise var(--nf-surprise-dur) var(--ease-linear) both}.nf__stage[data-act=surprise] .nf__pose{animation:nf-pose-surprise var(--nf-surprise-dur) var(--ease-in-out) both}.nf__stage[data-act=rise] .nf__kumo{animation:nf-rise var(--nf-rise-dur) var(--ease-in-out) both}.nf__stage[data-act=rise] .nf__pose{animation:nf-pose-rise var(--nf-rise-dur) var(--ease-in-out) both}.nf__stage[data-act=rise] .kumo .lid{animation:nf-blink-once var(--nf-rise-dur) var(--ease-linear) both}.nf__stage[data-act=settle] .nf__kumo{animation:nf-settle var(--nf-settle-dur) var(--ease-in-out) both}.nf__stage[data-act=settle] .nf__pose{animation:nf-pose-settle var(--nf-settle-dur) var(--ease-in-out) both}@keyframes nf-arrive{0%{opacity:0;translate:calc(var(--nf-x-off) * var(--nf-dir)) var(--nf-y-sky)}25%{opacity:1}to{opacity:1;translate:calc(var(--nf-x-look) * var(--nf-dir)) var(--nf-y-sky)}}@keyframes nf-look{0%,to{opacity:1;translate:calc(var(--nf-x-look) * var(--nf-dir)) var(--nf-y-sky)}}@keyframes nf-think{0%,to{opacity:1;translate:calc(var(--nf-x-look) * var(--nf-dir)) var(--nf-y-sky)}}@keyframes nf-glide{0%{opacity:1;translate:calc(var(--nf-x-look) * var(--nf-dir)) var(--nf-y-sky)}to{opacity:1;translate:calc(var(--nf-x-mid) * var(--nf-dir)) var(--nf-y-sky)}}@keyframes nf-dive{0%{opacity:1;translate:calc(var(--nf-x-mid) * var(--nf-dir)) var(--nf-y-sky)}55%,to{opacity:1;translate:calc(var(--nf-x-mid) * var(--nf-dir)) var(--nf-y-peek)}}@keyframes nf-surprise{0%,to{opacity:1;translate:calc(var(--nf-x-mid) * var(--nf-dir)) var(--nf-y-peek)}}@keyframes nf-rise{0%,15%{opacity:1;translate:calc(var(--nf-x-mid) * var(--nf-dir)) var(--nf-y-peek)}to{opacity:1;translate:calc(var(--nf-x-mid) * var(--nf-dir)) var(--nf-y-sky)}}@keyframes nf-settle{0%{opacity:1;translate:calc(var(--nf-x-mid) * var(--nf-dir)) var(--nf-y-sky)}to{opacity:1;translate:calc(var(--nf-x-mid) * var(--nf-dir)) var(--nf-y-sit)}}@keyframes nf-appear{0%{opacity:0}}@keyframes nf-leave{to{opacity:0}}@keyframes nf-pose-arrive{0%{translate:0 var(--nf-hop);rotate:calc(var(--nf-dir) * 8deg)}35%{translate:0 calc(-1 * var(--nf-hop))}70%{translate:0 calc(var(--nf-hop) / 2);rotate:calc(var(--nf-dir) * 3deg)}88%{rotate:calc(var(--nf-dir) * -2deg)}to{translate:0;rotate:0deg}}@keyframes nf-pose-look{0%,10%{rotate:0deg}25%,40%{rotate:calc(var(--nf-dir) * 3deg)}55%,70%{rotate:calc(var(--nf-dir) * -3deg)}85%{translate:0;rotate:0deg}92%{translate:0 calc(-1 * var(--nf-hop) / 2)}to{translate:0;rotate:0deg}}@keyframes nf-pose-think{0%,to{translate:0;rotate:0deg}50%{translate:0 calc(-1 * var(--nf-hop) / 2);rotate:calc(var(--nf-dir) * -2deg)}}@keyframes nf-pose-glide{0%{translate:0;rotate:0deg}25%{translate:0 calc(-1 * var(--nf-hop));rotate:calc(var(--nf-dir) * 5deg)}50%{translate:0}75%{translate:0 calc(-1 * var(--nf-hop));rotate:calc(var(--nf-dir) * 4deg)}to{translate:0;rotate:0deg}}@keyframes nf-pose-dive{0%,45%{scale:1}60%{scale:1.04 .96}75%,to{scale:1}}@keyframes nf-pose-surprise{0%{scale:1}15%{scale:.96}45%{scale:1.05}to{scale:1}}@keyframes nf-pose-rise{0%,15%{scale:1}45%{scale:.97 1.03}to{scale:1}}@keyframes nf-pose-settle{0%,70%{scale:1}82%{scale:1.06 .94}to{scale:1}}@keyframes nf-eyes-arrive{0%,80%{translate:calc(var(--nf-dir) * var(--nf-look)) 0}to{translate:0}}@keyframes nf-eyes-look{0%{translate:0}12%,38%{translate:calc(var(--nf-dir) * var(--nf-look)) 0}52%,76%{translate:calc(var(--nf-dir) * -1 * var(--nf-look)) 0}88%{translate:0 calc(-1 * var(--nf-look) / 2)}to{translate:0}}@keyframes nf-eyes-glide{0%{translate:0}20%,70%{translate:calc(var(--nf-dir) * var(--nf-look)) 0}to{translate:0 var(--nf-look)}}@keyframes nf-eyes-dive{0%,50%{translate:0 var(--nf-look)}65%{translate:calc(var(--nf-dir) * -1 * var(--nf-look)) 0}82%{translate:calc(var(--nf-dir) * var(--nf-look)) 0}to{translate:0}}@keyframes nf-blink{0%,44%,48%,to{scale:1}46%{scale:1 .08}}@keyframes nf-blink-once{0%,60%,66%,to{scale:1}63%{scale:1 .08}}@media (prefers-reduced-motion:reduce){.nf__stage[data-act] .nf__kumo,.nf__stage[data-act] .nf__pose,.nf__stage[data-act] .kumo .open,.nf__stage[data-act] .kumo .lid,.nf__stage[data-act] .kumo .think circle{animation:none}.nf__stage[data-act] .nf__kumo{z-index:3;translate:calc(var(--nf-x-mid) * var(--nf-dir)) var(--nf-y-sit);opacity:1}.nf__stage[data-act] .kumo .open{translate:0 var(--nf-look)}.nf__replay{display:none}}:root[data-kv-animations=off] .nf__stage[data-act] .nf__kumo,:root[data-kv-animations=off] .nf__stage[data-act] .nf__pose,:root[data-kv-animations=off] .nf__stage[data-act] .kumo .open,:root[data-kv-animations=off] .nf__stage[data-act] .kumo .lid,:root[data-kv-animations=off] .nf__stage[data-act] .kumo .think circle{animation:none}:root[data-kv-animations=off] .nf__stage[data-act] .nf__kumo{z-index:3;translate:calc(var(--nf-x-mid) * var(--nf-dir)) var(--nf-y-sit);opacity:1}:root[data-kv-animations=off] .nf__stage[data-act] .kumo .open{translate:0 var(--nf-look)}:root[data-kv-animations=off] .nf__replay{display:none}
