.dock{position:fixed;z-index:45;display:flex;gap:var(--dock-gap);box-sizing:border-box;padding:var(--dock-pad);border-radius:calc(var(--dock-base) * var(--dock-round) * .5 + var(--dock-pad));background:var(--dock-panel);box-shadow:inset 0 0 0 1px var(--dock-panel-edge),inset 0 1px 0 var(--dock-panel-highlight),var(--dock-panel-shadow);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);touch-action:none;transition:translate .5s cubic-bezier(.22,1,.36,1),opacity .2s ease}.dock[data-hidden]{opacity:0;pointer-events:none;transition:translate .36s cubic-bezier(.55,0,.75,.15),opacity .24s ease .1s}.dock:before{content:"";position:absolute;z-index:-1;display:none}.dock:hover:before{display:block}.dock--bottom,.dock--top{left:50%;height:var(--dock-thickness);transform:translateX(-50%)}.dock--left,.dock--right{top:50%;flex-direction:column;width:var(--dock-thickness);transform:translateY(-50%)}.dock--bottom{bottom:14px;align-items:flex-end}.dock--top{top:12px;align-items:flex-start}.dock--left{left:12px;align-items:flex-start}.dock--right{right:12px;align-items:flex-end}.dock--bottom[data-hidden]{translate:0 calc(100% + 12px)}.dock--top[data-hidden]{translate:0 calc(-100% - 12px)}.dock--left[data-hidden]{translate:calc(-100% - 12px) 0}.dock--right[data-hidden]{translate:calc(100% + 12px) 0}.dock--bottom:before,.dock--top:before{left:0;right:0;height:calc(var(--dock-reach) + 8px)}.dock--left:before,.dock--right:before{top:0;bottom:0;width:calc(var(--dock-reach) + 8px)}.dock--bottom:before{bottom:100%}.dock--top:before{top:100%}.dock--left:before{left:100%}.dock--right:before{right:100%}.dock-item{position:relative;flex:none;width:var(--dock-base);height:var(--dock-base);margin:0;padding:0;border:0;background:none;color:var(--dock-ink);font:inherit;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.dock-item:focus-visible,.dock-item:hover{z-index:1}.dock-tile{position:absolute;top:0;left:0;width:var(--dock-base);height:var(--dock-base);transform-origin:0 0;pointer-events:none}.dock-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:calc(var(--dock-base) * var(--dock-round) * .5);background:var(--dock-tile);box-shadow:inset 0 0 0 1px var(--dock-tile-edge),inset 0 1px 0 var(--dock-tile-highlight),var(--dock-tile-shadow);font-size:calc(var(--dock-base) * .44);line-height:1;transition:filter .2s ease}.dock--bare .dock-face{overflow:visible;background:none;box-shadow:none;font-size:calc(var(--dock-base) * .62)}.dock-item:active .dock-face,.dock-item[data-open] .dock-face{filter:var(--dock-press);transition-duration:0s}.dock-item:focus-visible .dock-face{outline:2px solid var(--dock-accent);outline-offset:3px}.dock-badge{position:absolute;top:calc(var(--dock-base) * (.1465 * var(--dock-round) - .19));right:calc(var(--dock-base) * (.1465 * var(--dock-round) - .19));box-sizing:border-box;min-width:calc(var(--dock-base) * .38);height:calc(var(--dock-base) * .38);padding:0 calc(var(--dock-base) * .1);border-radius:calc(var(--dock-base) * .19);background:var(--dock-badge);color:#ffffff;font-size:calc(var(--dock-base) * .22);font-weight:600;font-variant-numeric:tabular-nums;line-height:calc(var(--dock-base) * .38);text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.3);pointer-events:none}.dock-badge:empty{top:calc(var(--dock-base) * (.1465 * var(--dock-round) - .11));right:calc(var(--dock-base) * (.1465 * var(--dock-round) - .11));min-width:0;width:calc(var(--dock-base) * .22);height:calc(var(--dock-base) * .22);padding:0}.dock-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--dock-dot);pointer-events:none}.dock--bottom .dock-dot,.dock--top .dock-dot{left:50%;margin-left:-2px}.dock--left .dock-dot,.dock--right .dock-dot{top:50%;margin-top:-2px}.dock--bottom .dock-dot{top:calc(100% + max(var(--dock-pad) / 2, 5px) - 2px)}.dock--top .dock-dot{bottom:calc(100% + max(var(--dock-pad) / 2, 5px) - 2px)}.dock--left .dock-dot{right:calc(100% + max(var(--dock-pad) / 2, 5px) - 2px)}.dock--right .dock-dot{left:calc(100% + max(var(--dock-pad) / 2, 5px) - 2px)}.dock-separator{flex:none;align-self:center;border-radius:1px;background:var(--dock-separator)}.dock--bottom .dock-separator,.dock--top .dock-separator{width:1px;height:calc(var(--dock-base) * .72)}.dock--left .dock-separator,.dock--right .dock-separator{width:calc(var(--dock-base) * .72);height:1px}.dock-label{position:absolute;padding:6px 10px;border-radius:8px;background:var(--dock-label);color:var(--dock-label-ink);box-shadow:inset 0 0 0 1px var(--dock-panel-edge),0 8px 20px -8px rgba(0,0,0,.35);font-size:12px;font-weight:500;line-height:1;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .16s ease,transform .16s ease}.dock--bottom .dock-label{bottom:calc(100% + 12px);left:50%;transform:translate(-50%,4px)}.dock--top .dock-label{top:calc(100% + 12px);left:50%;transform:translate(-50%,-4px)}.dock--left .dock-label{top:50%;left:calc(100% + 12px);transform:translate(-4px,-50%)}.dock--right .dock-label{top:50%;right:calc(100% + 12px);transform:translate(4px,-50%)}.dock-item:focus-visible .dock-label{opacity:1}.dock--bottom .dock-item:focus-visible .dock-label,.dock--top .dock-item:focus-visible .dock-label{transform:translate(-50%)}.dock--left .dock-item:focus-visible .dock-label,.dock--right .dock-item:focus-visible .dock-label{transform:translateY(-50%)}@media (hover:hover){.dock-item:hover .dock-label{opacity:1}.dock--bottom .dock-item:hover .dock-label,.dock--top .dock-item:hover .dock-label{transform:translate(-50%)}.dock--left .dock-item:hover .dock-label,.dock--right .dock-item:hover .dock-label{transform:translateY(-50%)}}.dock .dock-item[data-hop] .dock-label{opacity:0}.dock-menu{position:fixed;top:0;left:0;z-index:1000;visibility:hidden;color:var(--dock-menu-ink);font-size:13px;line-height:1}.dock-menu-shadow{inset:0;border-radius:10px;box-shadow:var(--dock-menu-shadow)}.dock-menu-glass,.dock-menu-shadow{position:absolute;pointer-events:none}.dock-menu-glass{inset:-9px;-webkit-backdrop-filter:blur(24px) saturate(1.8);backdrop-filter:blur(24px) saturate(1.8)}.dock-menu-shape{position:absolute;top:-9px;left:-9px;width:calc(100% + 18px);height:calc(100% + 18px);overflow:visible;pointer-events:none}.dock-menu-shape path{fill:var(--dock-menu);stroke:var(--dock-menu-edge);stroke-width:1px}.dock-menu-list{position:relative;display:flex;flex-direction:column;box-sizing:border-box;min-width:172px;max-width:280px;padding:5px;outline:none}.dock-menu-highlight{position:absolute;top:0;left:5px;right:5px;height:24px;border-radius:6px;background:var(--dock-accent);opacity:0;pointer-events:none;transition:transform .16s cubic-bezier(.3,.8,.3,1),height .16s cubic-bezier(.3,.8,.3,1),opacity .12s ease}.dock-menu-row{position:relative;display:flex;align-items:center;gap:5px;box-sizing:border-box;width:100%;height:24px;margin:0;padding:0 10px 0 7px;border:0;border-radius:6px;background:none;color:inherit;font:inherit;text-align:left;white-space:nowrap;cursor:default;outline:none;-webkit-tap-highlight-color:transparent}.dock-menu-row[data-active]{color:#ffffff}.dock-menu-row[aria-disabled=true]{color:var(--dock-menu-muted)}.dock-menu-check{width:14px}.dock-menu-check,.dock-menu-icon{display:flex;flex:none;align-items:center;justify-content:center}.dock-menu-icon{margin-right:1px;font-size:15px}.dock-menu-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.dock-menu-shortcut{flex:none;margin-left:18px;color:var(--dock-menu-muted)}.dock-menu-row[data-active] .dock-menu-shortcut{color:rgba(255,255,255,.72)}.dock-menu-chevron{display:flex;flex:none;margin-left:14px;color:var(--dock-menu-muted)}.dock-menu-row[data-active] .dock-menu-chevron{color:inherit}.dock-menu-separator{flex:none;height:1px;margin:5px 10px;background:var(--dock-menu-separator)}@media (prefers-reduced-motion:reduce){.dock,.dock-menu-highlight,.dock[data-hidden]{transition:none}}.code-slots{--cs-accent:#f5f5f5;--cs-ink:#f5f5f5;--cs-slot:#27272a;--cs-digit:#18181b;--cs-danger:#ff3b30;--cs-size:44px;--cs-height:52px;--cs-gap:8px;--cs-radius:12px;--cs-font:22px;position:relative;display:inline-block}.code-slots__row{position:relative;display:inline-flex;gap:var(--cs-gap);cursor:text;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:opacity .2s ease}.code-slots__row[data-disabled]{opacity:.5;cursor:not-allowed}.code-slots__input{position:absolute;inset:0;z-index:4;margin:0;padding:0;border:0;outline:0;background:transparent;color:transparent;caret-color:transparent;font-size:16px;opacity:0;cursor:inherit;-webkit-appearance:none;appearance:none}.code-slots__wash{position:absolute;inset:0;z-index:1;display:grid;place-items:center;border-radius:var(--cs-radius);background:var(--cs-accent);color:var(--cs-digit);pointer-events:none}.code-slots__check{display:grid;place-items:center}.code-slots__slot{position:relative;width:var(--cs-size);height:var(--cs-height);border-radius:var(--cs-radius);overflow:hidden;background:var(--cs-slot);user-select:none;-webkit-user-select:none}.code-slots__fill,.code-slots__slot{transition:background-color .2s ease}.code-slots__fill{position:absolute;inset:0;border-radius:inherit;background:var(--cs-accent);transform-origin:center}@media (hover:hover) and (pointer:fine){.code-slots__row[data-status=idle]:not([data-disabled]):hover .code-slots__slot:not([data-active]){background:color-mix(in srgb,var(--cs-ink) 4%,var(--cs-slot))}}.code-slots__slot[data-active]{background:color-mix(in srgb,var(--cs-ink) 8%,var(--cs-slot))}.code-slots__row[data-status=error] .code-slots__slot{background:color-mix(in srgb,var(--cs-danger) 20%,var(--cs-slot))}.code-slots__row[data-status=error] .code-slots__fill{background:var(--cs-danger)}.code-slots__digit{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:var(--cs-digit);font-family:inherit;font-size:var(--cs-font);font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.code-slots__caret{position:absolute;z-index:3;top:25%;left:calc(var(--cs-size) / 2 - .75px);width:1.5px;height:50%;opacity:0;pointer-events:none}.code-slots__caret[data-show]{opacity:1}.code-slots__caret-line{display:block;width:100%;height:100%;background:var(--cs-ink);animation:code-slots-blink 1s linear infinite}@keyframes code-slots-blink{0%,49.9%{opacity:1}50%,to{opacity:0}}.code-slots__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion:reduce){.code-slots__check,.code-slots__digit{transform:none!important;transition:opacity .15s ease}.code-slots__caret-line{animation:none}.code-slots__wash{opacity:0;transition:opacity .2s ease}.code-slots__row[data-status=success] .code-slots__wash{opacity:1}}.lattice-loader{--ll-n:3;--ll-cell:6px;--ll-gap:2px;--ll-font:14px;--ll-color:currentColor;--ll-mark:#22c55e;--ll-idle:0.15;--ll-glow:currentColor;--ll-mark-glow:#22c55e;--ll-peak:1;--ll-cycle:864ms;--ll-ease-out:cubic-bezier(0.23,1,0.32,1);--ll-ease-in-out:cubic-bezier(0.77,0,0.175,1);position:relative;display:inline-flex;align-items:center;gap:calc(var(--ll-font) * .625);font-family:inherit;font-size:var(--ll-font);line-height:1}.lattice-loader__grid{display:grid;flex:none}.lattice-loader__layer{grid-area:1/1;display:grid;grid-template-columns:repeat(var(--ll-n),var(--ll-cell));gap:var(--ll-gap)}.lattice-loader__cell{width:var(--ll-cell);height:var(--ll-cell);border-radius:max(1px,calc(var(--ll-cell) * .25));background:var(--ll-color);opacity:var(--ll-idle)}.lattice-loader[data-shape=round] .lattice-loader__cell{border-radius:50%}.lattice-loader[data-glow] .lattice-loader__run .lattice-loader__cell:not([data-hole]){box-shadow:0 0 calc(var(--ll-cell) * 1.2) calc(var(--ll-cell) * .12) var(--ll-glow)}.lattice-loader[data-glow] .lattice-loader__mark .lattice-loader__cell[data-on]{box-shadow:0 0 calc(var(--ll-cell) * 1.2) calc(var(--ll-cell) * .12) var(--ll-mark-glow)}.lattice-loader__run{transition:opacity .2s ease}.lattice-loader__run .lattice-loader__cell{animation:lattice-on var(--ll-cycle) var(--ll-ease-in-out) infinite}.lattice-loader__run .lattice-loader__cell[data-lit="45"]{animation-name:lattice-on-45}.lattice-loader__run .lattice-loader__cell[data-lit="35"]{animation-name:lattice-on-35}.lattice-loader__run .lattice-loader__cell[data-lit="25"]{animation-name:lattice-on-25}.lattice-loader__run .lattice-loader__cell[data-hole]{animation:none;opacity:calc(var(--ll-idle) * .47)}.lattice-loader__mark{opacity:0;transform:scale(.9);transform-origin:center;transition:opacity .16s var(--ll-ease-out),transform .16s var(--ll-ease-out)}.lattice-loader__mark .lattice-loader__cell{transition:opacity .2s ease,background-color .2s ease}.lattice-loader__mark .lattice-loader__cell[data-on]{background:var(--ll-mark);opacity:var(--ll-peak)}.lattice-loader:not([data-status=working]) .lattice-loader__run{opacity:0}.lattice-loader:not([data-status=working]) .lattice-loader__run .lattice-loader__cell{animation-play-state:paused}.lattice-loader:not([data-status=working]) .lattice-loader__mark{opacity:1;transform:none;transition:opacity .2s ease,transform .2s var(--ll-ease-out)}.lattice-loader__label{position:relative;display:inline-block;font-weight:500}.lattice-loader__text{position:absolute;top:0;left:0;white-space:nowrap;opacity:0;filter:blur(2px);transition:opacity .2s ease,filter .2s ease}.lattice-loader__text[data-active]{position:static;opacity:1;filter:blur(0)}.lattice-loader__timer{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(var(--ll-font) * .875);font-variant-numeric:tabular-nums;opacity:.6}.lattice-loader__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes lattice-on{0%,to{opacity:var(--ll-idle)}18%,42%{opacity:var(--ll-peak)}62%{opacity:var(--ll-idle)}}@keyframes lattice-on-45{0%,to{opacity:var(--ll-idle)}13%,31%{opacity:var(--ll-peak)}45%{opacity:var(--ll-idle)}}@keyframes lattice-on-35{0%,to{opacity:var(--ll-idle)}10%,24%{opacity:var(--ll-peak)}35%{opacity:var(--ll-idle)}}@keyframes lattice-on-25{0%,to{opacity:var(--ll-idle)}17%,7%{opacity:var(--ll-peak)}25%{opacity:var(--ll-idle)}}@media (prefers-reduced-motion:reduce){.lattice-loader__run{--ll-peak:0.7}.lattice-loader__run .lattice-loader__cell{animation-delay:0s!important;animation-duration:1.4s!important}.lattice-loader .lattice-loader__mark{transform:none}.lattice-loader .lattice-loader__text{filter:none}}