.aino-chat-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.aino-chat-floating-trigger{z-index:360;border:1px solid var(--glass-edge-bright);background:var(--glass-fjord);width:60px;height:60px;box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-edge-bright), inset 0 0 28px var(--glass-highlight);color:var(--on-fjord);cursor:pointer;-webkit-backdrop-filter:blur(24px)saturate(128%);border-radius:50%;place-items:center;padding:7px;display:grid;position:fixed;bottom:clamp(82px,7vw,108px);right:clamp(16px,2vw,28px)}.aino-chat-floating-trigger:focus-visible{outline:2px solid var(--blue-100);outline-offset:3px}.aino-chat-floating-signal{background:#71dccb;border:2px solid #123445;border-radius:50%;width:11px;height:11px;position:absolute;top:3px;right:3px;box-shadow:0 0 16px #71dccbb8}.aino-chat-overlay{z-index:600;background:color-mix(in srgb, var(--fjord-900) 58%, transparent);-webkit-backdrop-filter:blur(8px)saturate(82%);animation:.18s ease-out aino-overlay-in;position:fixed;inset:0}.aino-chat-overlay[data-state=closed]{animation:.13s ease-in aino-overlay-out}.aino-chat-dialog{--aino-dialog-line:var(--rule-on-fjord);--aino-dialog-line-strong:color-mix(in srgb, var(--on-fjord) 26%, transparent);--aino-dialog-text:var(--on-fjord);--aino-dialog-soft:color-mix(in srgb, var(--on-fjord) 82%, transparent);--aino-dialog-muted:var(--on-fjord-60);--aino-dialog-dim:var(--on-fjord-40);--aino-dialog-accent:var(--blue-100);z-index:610;border:1px solid var(--glass-edge-bright);background:linear-gradient(color-mix(in srgb, var(--on-fjord) 2.5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--on-fjord) 2%, transparent) 1px, transparent 1px), linear-gradient(115deg, var(--glass-highlight), transparent 46%), var(--glass-fjord);width:min(900px,100vw - 48px);height:min(760px,100dvh - 64px);max-height:860px;box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-edge-bright), inset 0 0 56px var(--glass-highlight);color:var(--aino-dialog-text);font-family:var(--font-readable,sans-serif);-webkit-backdrop-filter:blur(24px)saturate(128%);background-size:42px 42px,42px 42px,auto,auto;border-radius:28px;outline:0;grid-template-rows:auto minmax(0,1fr);animation:.22s cubic-bezier(.16,1,.3,1) aino-dialog-in;display:grid;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.aino-chat-dialog[data-state=closed]{animation:.14s ease-in aino-dialog-out}.aino-chat-dialog[data-theme=dark]{background:linear-gradient(color-mix(in srgb, var(--on-fjord) 2%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--on-fjord) 1.5%, transparent) 1px, transparent 1px), linear-gradient(115deg, var(--glass-highlight), transparent 42%), var(--glass-fjord-deep);background-size:42px 42px,42px 42px,auto,auto}.aino-chat-header{border-bottom:1px solid var(--aino-dialog-line);background:color-mix(in srgb, var(--fjord-900) 42%, transparent);min-height:82px;box-shadow:inset 0 1px 0 var(--glass-edge);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;padding:14px 18px 14px 20px;display:grid}.aino-chat-identity{align-items:center;gap:12px;min-width:0;display:flex}.aino-chat-identity>div:last-child{min-width:0}.aino-chat-identity h2{color:var(--aino-dialog-text);font-family:var(--font-product-display,serif);letter-spacing:-.025em;margin:0;font-size:22px;font-weight:520;line-height:1}.aino-chat-identity p{max-width:350px;color:var(--aino-dialog-muted);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:10px;line-height:1.4;overflow:hidden}.aino-chat-mode-switch{border:1px solid var(--aino-dialog-line);background:color-mix(in srgb, var(--fjord-900) 52%, transparent);border-radius:999px;gap:3px;padding:4px;display:flex}.aino-chat-mode-switch button,.aino-chat-new,.aino-chat-close{min-height:44px;color:var(--aino-dialog-muted);cursor:pointer;font:inherit;border:0}.aino-chat-mode-switch button{background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-width:88px;padding:0 14px;font-size:11px;font-weight:690;display:inline-flex}.aino-chat-mode-switch button[aria-selected=true]{background:var(--glass-highlight);box-shadow:inset 0 0 0 1px var(--glass-edge);color:var(--aino-dialog-text)}.aino-chat-mode-switch button:focus-visible,.aino-chat-new:focus-visible,.aino-chat-close:focus-visible,.aino-chat-composer button:focus-visible,.aino-voice-controls button:focus-visible{outline:2px solid var(--blue-100);outline-offset:2px}.aino-chat-header-actions{justify-content:flex-end;gap:6px;display:flex}.aino-chat-new,.aino-chat-close{border:1px solid var(--aino-dialog-line);background:color-mix(in srgb, var(--on-fjord) 6%, transparent);border-radius:13px;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:680;display:inline-flex}.aino-chat-new{padding:0 13px}.aino-chat-close{width:44px;padding:0}.aino-chat-text-panel{grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.aino-chat-session-line{border-bottom:1px solid var(--aino-dialog-line);min-height:36px;color:var(--aino-dialog-dim);font-family:var(--font-mono,monospace);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:8px;padding:8px 24px;font-size:9px;font-weight:650;display:flex}.aino-chat-session-dot{background:#71dccb;border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #71dccbb8}.aino-chat-messages{scrollbar-color:#dceaff2e transparent;flex-direction:column;gap:16px;min-height:0;padding:24px clamp(18px,4vw,52px);display:flex;overflow-y:auto}.aino-chat-message{align-items:flex-start;gap:10px;width:min(82%,650px);animation:.19s ease-out aino-message-in;display:flex}.aino-chat-message.is-user{justify-content:flex-end;align-self:flex-end}.aino-chat-message>div{min-width:0}.aino-chat-message p{border:1px solid var(--aino-dialog-line);background:color-mix(in srgb, var(--on-fjord) 7%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--on-fjord) 6%, transparent);color:var(--aino-dialog-text);white-space:pre-wrap;border-radius:6px 16px 16px;align-items:flex-start;gap:7px;margin:0;padding:11px 14px;font-size:13px;font-weight:520;line-height:1.55;display:flex}.aino-chat-message.is-user p{border-color:color-mix(in srgb, var(--blue-100) 30%, transparent);background:color-mix(in srgb, var(--blue-100) 14%, transparent);border-radius:16px 6px 16px 16px}.aino-chat-message.is-error p{color:#ffd6dc;background:#e457651a;border-color:#e4576547}.aino-chat-message time{color:var(--aino-dialog-dim);font-family:var(--font-mono,monospace);letter-spacing:.06em;margin-top:5px;font-size:8px;display:block}.aino-chat-message.is-user time{text-align:right}.aino-chat-composing{width:fit-content;color:var(--aino-dialog-muted);font-family:var(--font-mono,monospace);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;display:flex}.aino-chat-composing span{margin-right:2px}.aino-chat-composing i{background:var(--aino-dialog-accent);border-radius:50%;width:3px;height:3px;animation:1s ease-in-out infinite aino-dot}.aino-chat-composing i:nth-of-type(2){animation-delay:.12s}.aino-chat-composing i:nth-of-type(3){animation-delay:.24s}.aino-chat-composer{border-top:1px solid var(--aino-dialog-line);background:color-mix(in srgb, var(--fjord-900) 64%, transparent);padding:12px clamp(18px,3vw,32px) 18px}.aino-chat-boundary{color:var(--aino-dialog-muted);align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.aino-chat-boundary svg{color:#71dccb;flex:none;margin-top:1px}.aino-chat-boundary p,.aino-chat-demo-help{margin:0;font-size:10px;line-height:1.45}.aino-chat-composer>label{color:var(--aino-dialog-soft);margin:0 0 7px 2px;font-size:11px;font-weight:680;display:block}.aino-chat-input-row{position:relative}.aino-chat-input-row textarea{resize:vertical;border:1px solid var(--aino-dialog-line-strong);background:color-mix(in srgb, var(--on-fjord) 7%, transparent);width:100%;min-height:52px;max-height:120px;box-shadow:inset 0 1px 2px color-mix(in srgb, var(--fjord-900) 42%, transparent);color:var(--aino-dialog-text);font:520 13px/1.5 var(--font-readable,sans-serif);border-radius:16px;outline:0;padding:15px 58px 12px 16px;display:block}.aino-chat-input-row textarea::placeholder{color:var(--aino-dialog-dim)}.aino-chat-input-row textarea:focus-visible{border-color:color-mix(in srgb, var(--blue-100) 58%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--blue-100) 14%, transparent), inset 0 1px 2px color-mix(in srgb, var(--fjord-900) 42%, transparent)}.aino-chat-input-row textarea:disabled{cursor:not-allowed;opacity:.6}.aino-chat-input-row button{border:1px solid var(--on-fjord);background:var(--on-fjord);width:44px;height:44px;box-shadow:0 12px 28px -16px color-mix(in srgb, var(--fjord-900) 80%, transparent);color:var(--fjord-900);cursor:pointer;border-radius:12px;place-items:center;display:grid;position:absolute;bottom:4px;right:6px}.aino-chat-input-row button:disabled{border-color:var(--aino-dialog-line);background:color-mix(in srgb, var(--on-fjord) 6%, transparent);box-shadow:none;color:var(--aino-dialog-dim);cursor:not-allowed}.aino-chat-demo-help{color:var(--aino-dialog-muted);align-items:flex-start;gap:6px;margin-top:8px;display:flex}.aino-chat-demo-help svg{color:var(--aino-dialog-accent);flex:none;margin-top:1px}.aino-chat-voice-slot,.aino-voice-panel{min-height:0}.aino-chat-voice-loading{height:100%;color:var(--aino-dialog-muted);justify-content:center;align-items:center;gap:9px;font-size:12px;display:flex}.aino-voice-panel{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);height:100%;display:grid}.aino-voice-stage{border-right:1px solid var(--aino-dialog-line);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:0;padding:34px;display:flex;position:relative;overflow:hidden}.aino-voice-grid{pointer-events:none;background-color:#0000;background-image:linear-gradient(#78b7ff09 1px,#0000 1px),linear-gradient(90deg,#78b7ff09 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 76%);mask-image:radial-gradient(circle,#000,#0000 76%)}.aino-voice-provider{color:var(--aino-dialog-muted);font-family:var(--font-mono,monospace);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:7px;font-size:9px;font-weight:680;display:inline-flex;position:absolute;top:22px;left:24px}.aino-voice-provider svg{color:var(--aino-dialog-accent)}.aino-voice-orb-wrap{place-items:center;width:176px;height:176px;display:grid;position:relative}.aino-voice-orb-wrap>span{border:1px solid #78b7ff2e;border-radius:50%;position:absolute;inset:15px;box-shadow:0 0 60px #2f7bff1f}.aino-voice-orb-wrap>span.is-active{animation:2.4s ease-in-out infinite aino-voice-ring}.aino-voice-status{z-index:1;margin-top:6px;position:relative}.aino-voice-status strong{color:var(--aino-dialog-text);font-family:var(--font-product-display,serif);font-size:21px;font-weight:520;display:block}.aino-voice-status>div{justify-content:center;align-items:center;gap:3px;height:27px;margin-top:7px;display:flex}.aino-voice-status i{background:#78b7ff6b;border-radius:2px;width:2px;height:4px}.aino-voice-status>div.is-active i{animation:1.1s ease-in-out infinite alternate aino-wave}.aino-voice-status i:nth-child(3n){animation-delay:.12s}.aino-voice-status i:nth-child(4n){animation-delay:.22s}.aino-voice-status i:nth-child(5n){animation-delay:.32s}.aino-voice-intro{z-index:1;max-width:460px;color:var(--aino-dialog-muted);margin:12px 0 0;font-size:11px;line-height:1.55;position:relative}.aino-voice-controls{z-index:1;justify-content:center;align-items:center;gap:8px;margin-top:20px;display:flex;position:relative}.aino-voice-controls button{border:1px solid var(--aino-dialog-line);min-height:46px;color:var(--aino-dialog-text);cursor:pointer;font:680 11px var(--font-readable,sans-serif);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.aino-voice-controls .is-start{background:linear-gradient(135deg,#2457d6,#2f7bff);border-color:#78b7ff57;box-shadow:0 16px 36px -18px #2f7bffd6}.aino-voice-controls .is-stop{color:#ffd6dc;background:#e457651f;border-color:#e457654d}.aino-voice-controls .is-mute{background:#dceaff12;width:46px;padding:0}.aino-voice-controls button:disabled{cursor:not-allowed;opacity:.5}.aino-voice-spin{animation:.8s linear infinite aino-spin}.aino-voice-notice,.aino-voice-error{z-index:1;border:1px solid var(--aino-dialog-line);max-width:470px;color:var(--aino-dialog-muted);text-align:left;background:#dceaff0d;border-radius:11px;align-items:flex-start;gap:7px;margin:15px 0 0;padding:9px 11px;font-size:10px;line-height:1.45;display:flex;position:relative}.aino-voice-notice svg,.aino-voice-error svg{flex:none;margin-top:1px}.aino-voice-error{color:#ffd6dc;background:#e4576517;border-color:#e4576547}.aino-voice-transcript{background:#03111957;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.aino-voice-transcript>header{border-bottom:1px solid var(--aino-dialog-line);min-height:46px;color:var(--aino-dialog-muted);font-family:var(--font-mono,monospace);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 16px;font-size:9px;font-weight:680;display:flex}.aino-voice-transcript>header>span:last-child{background:var(--aino-dialog-dim);border-radius:50%;width:7px;height:7px}.aino-voice-transcript>header>span.is-active{background:#71dccb;box-shadow:0 0 12px #71dccbb3}.aino-voice-transcript>div{flex-direction:column;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.aino-voice-transcript article{border-left:2px solid #78b7ff59;padding-left:10px}.aino-voice-transcript article.is-agent{border-color:#71dccb}.aino-voice-transcript article strong{color:var(--aino-dialog-dim);font-family:var(--font-mono,monospace);letter-spacing:.07em;text-transform:uppercase;font-size:8px}.aino-voice-transcript article p,.aino-voice-empty{color:var(--aino-dialog-soft);margin:4px 0 0;font-size:11px;line-height:1.5}.aino-voice-empty{color:var(--aino-dialog-dim);text-align:center;margin:auto 0}.aino-voice-transcript>footer{border-top:1px solid var(--aino-dialog-line);color:var(--aino-dialog-muted);align-items:flex-start;gap:8px;padding:14px 16px;display:flex}.aino-voice-transcript>footer svg{color:#71dccb;flex:none}.aino-voice-transcript>footer p{margin:0;font-size:9px;line-height:1.45}.aino-chat-overlay[data-theme=light]{background:color-mix(in srgb, var(--fjord-900) 24%, transparent);-webkit-backdrop-filter:blur(10px)saturate(92%)}.aino-chat-dialog[data-theme=light]{--aino-dialog-line:var(--rule);--aino-dialog-line-strong:var(--rule-firm);--aino-dialog-text:var(--ink);--aino-dialog-soft:color-mix(in srgb, var(--ink) 82%, transparent);--aino-dialog-muted:var(--ink-60);--aino-dialog-dim:var(--ink-40);--aino-dialog-accent:var(--fjord-500);border-color:var(--glass-border);background:linear-gradient(118deg, color-mix(in srgb, var(--surface) 52%, transparent), transparent 44%), color-mix(in srgb, var(--glass-bg) 82%, var(--surface-soft));box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-edge-bright), inset 0 0 48px color-mix(in srgb, var(--blue-100) 16%, transparent);-webkit-backdrop-filter:blur(22px)saturate(108%);background-size:auto}.aino-chat-dialog[data-theme=light] .aino-chat-header{background:color-mix(in srgb, var(--surface-soft) 58%, transparent);box-shadow:inset 0 1px 0 var(--glass-edge-bright);padding:16px 22px}.aino-chat-dialog[data-theme=light] .aino-chat-mode-switch{background:color-mix(in srgb, var(--surface) 58%, transparent)}.aino-chat-dialog[data-theme=light] .aino-chat-mode-switch button[aria-selected=true]{background:color-mix(in srgb, var(--blue-100) 54%, var(--surface-soft));box-shadow:inset 0 0 0 1px var(--rule)}.aino-chat-dialog[data-theme=light] .aino-chat-new,.aino-chat-dialog[data-theme=light] .aino-chat-close{background:color-mix(in srgb, var(--surface) 62%, transparent)}.aino-chat-dialog[data-theme=light] .aino-chat-messages{scrollbar-color:var(--rule-firm) transparent;gap:20px;padding:32px clamp(24px,5vw,64px)}.aino-chat-dialog[data-theme=light] .aino-chat-message{width:min(78%,620px)}.aino-chat-dialog[data-theme=light] .aino-chat-message p{background:color-mix(in srgb, var(--surface-soft) 84%, transparent);box-shadow:inset 0 1px 0 var(--glass-edge-bright)}.aino-chat-dialog[data-theme=light] .aino-chat-message.is-user p{border-color:color-mix(in srgb, var(--fjord-500) 24%, transparent);background:color-mix(in srgb, var(--blue-100) 48%, var(--surface-soft))}.aino-chat-dialog[data-theme=light] .aino-chat-composer{background:color-mix(in srgb, var(--surface-soft) 68%, transparent);padding:16px clamp(24px,4vw,40px) 20px}.aino-chat-dialog[data-theme=light] .aino-chat-input-row textarea{background:color-mix(in srgb, var(--surface) 76%, transparent);box-shadow:inset 0 1px 2px color-mix(in srgb, var(--fjord-900) 8%, transparent)}.aino-chat-dialog[data-theme=light] .aino-chat-input-row textarea:focus-visible{border-color:var(--fjord-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--blue-100) 62%, transparent), inset 0 1px 2px color-mix(in srgb, var(--fjord-900) 8%, transparent)}.aino-chat-dialog[data-theme=light] .aino-chat-input-row button{border-color:var(--fjord-900);background:var(--fjord-900);box-shadow:0 12px 28px -16px color-mix(in srgb, var(--fjord-900) 54%, transparent);color:var(--on-fjord)}.aino-chat-dialog[data-theme=light] .aino-chat-input-row button:disabled{border-color:var(--aino-dialog-line);background:color-mix(in srgb, var(--surface) 64%, transparent);color:var(--aino-dialog-dim)}.aino-chat-dialog[data-theme=light] .aino-voice-grid{display:none}.aino-chat-dialog[data-theme=light] .aino-voice-transcript{background:color-mix(in srgb, var(--surface-soft) 72%, transparent)}.aino-chat-dialog[data-theme=light] .aino-voice-notice,.aino-chat-dialog[data-theme=light] .aino-voice-controls .is-mute{background:color-mix(in srgb, var(--surface) 66%, transparent)}@keyframes aino-overlay-in{0%{opacity:0}}@keyframes aino-overlay-out{to{opacity:0}}@keyframes aino-dialog-in{0%{opacity:0;transform:translate(-50%,calc(18px - 50%))scale(.975)}}@keyframes aino-dialog-out{to{opacity:0;transform:translate(-50%,calc(10px - 50%))scale(.985)}}@keyframes aino-message-in{0%{opacity:0;transform:translateY(5px)}}@keyframes aino-dot{0%,to{opacity:.3}50%{opacity:1}}@keyframes aino-spin{to{transform:rotate(360deg)}}@keyframes aino-voice-ring{50%{transform:scale(1.045);box-shadow:0 0 78px #2f7bff42}}@keyframes aino-wave{to{background:#78b7ff;height:24px}}@media (width<=760px){.aino-chat-floating-trigger{width:54px;height:54px;bottom:84px;right:14px}.aino-chat-dialog{border-radius:22px;width:calc(100vw - 16px);height:calc(100dvh - 16px)}.aino-chat-header{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:0;padding:11px 10px 10px 14px}.aino-chat-dialog[data-theme=light] .aino-chat-header{padding:12px 12px 11px 14px}.aino-chat-identity p{display:none}.aino-chat-mode-switch{grid-area:2/1/auto/-1;justify-self:stretch}.aino-chat-mode-switch button{flex:50%;min-width:0}.aino-chat-new span{display:none}.aino-chat-new{width:44px;padding:0}.aino-chat-messages{padding:16px 13px}.aino-chat-dialog[data-theme=light] .aino-chat-messages{gap:16px;padding:20px 16px}.aino-chat-message{width:92%}.aino-chat-dialog[data-theme=light] .aino-chat-message{width:90%}.aino-chat-composer{padding:10px 12px max(12px, env(safe-area-inset-bottom))}.aino-chat-dialog[data-theme=light] .aino-chat-composer{padding:12px 14px max(14px, env(safe-area-inset-bottom))}.aino-chat-boundary{margin-bottom:7px}.aino-chat-boundary p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.aino-voice-panel{grid-template-rows:minmax(0,1fr) minmax(145px,.58fr);grid-template-columns:1fr}.aino-voice-stage{border-right:0;border-bottom:1px solid var(--aino-dialog-line);padding:38px 18px 18px}.aino-voice-provider{top:13px;left:16px}.aino-voice-orb-wrap{width:126px;height:126px;transform:scale(.8)}.aino-voice-status{margin-top:-8px}.aino-voice-status strong{font-size:18px}.aino-voice-status>div{height:18px;margin-top:3px}.aino-voice-intro{margin-top:6px;font-size:10px}.aino-voice-controls{margin-top:11px}.aino-voice-notice,.aino-voice-error{margin-top:9px}.aino-voice-transcript>footer{display:none}}@media (prefers-reduced-motion:reduce){.aino-chat-overlay,.aino-chat-dialog,.aino-chat-message,.aino-chat-composing i,.aino-voice-orb-wrap>span,.aino-voice-status i,.aino-voice-spin{animation:none!important}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.aino-chat-overlay{background:var(--glass-fjord-deep)}.aino-chat-dialog{background:var(--fjord-900)}.aino-chat-overlay[data-theme=light]{background:color-mix(in srgb, var(--fjord-900) 30%, transparent)}.aino-chat-dialog[data-theme=light]{background:var(--paper-elevated)}}:root{--fjord-900:#0b1f2b;--fjord-700:#123445;--fjord-500:#1d4e66;--blue-500:#2f95b9;--blue-100:#ddedf3;--ink-red:#a8412b;--ink-red-dark:#d8674c;--paper:#f3f6f6;--surface:#fff;--paper-elevated:#f3f6f6f5;--surface-soft:#ffffffdb;--ink:#0e1a20;--ink-60:#0e1a2099;--ink-40:#0e1a2085;--ink-20:#0e1a2033;--rule:#1234452e;--rule-row:#12344547;--rule-firm:#12344557;--on-fjord:#ffffffeb;--on-fjord-60:#ffffff94;--on-fjord-40:#ffffff61;--rule-on-fjord:#ffffff24;--backdrop-wash:#e1ecf24d;--backdrop-shade:#0b1f2b29;--glass-fjord:#123445c2;--glass-fjord-deep:#0b1f2be0;--glass-chart:#1d4e6675;--glass-bg:#f3f6f6b8;--glass-blur:18px;--glass-border:#ffffff70;--glass-edge:#ffffff57;--glass-edge-bright:#ffffff9e;--glass-highlight:#ddedf333;--glass-shadow:0 30px 80px -28px #0b1f2b9e;--workspace-shadow:0 38px 100px -52px #0b1f2b75;--sheet-radius:14px;--raised-radius:18px;--raised-shadow:0 24px 48px -14px #0b1f2b33;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--page-margin:32px;--gutter:20px;--columns:12;--tex-pitch:4px;--tex-line:1px;--tex-angle:45deg;--tex-hatch-alpha:28%;--tex-dots-alpha:22%;--tex-stroke:1.5px;--motion-acknowledge:90ms;--motion-change:.14s;--motion-settle:.22s;--motion-travel:.32s;--motion-dissolve:.42s;--ease-acknowledge:cubic-bezier(.2, 0, 0, 1);--ease-settle:cubic-bezier(.32, 0, .16, 1);--ease-dissolve:cubic-bezier(.4, 0, 1, 1);--approve-dur:.24s;--approve-ease:cubic-bezier(.2, 0, 0, 1);--count-dur:.4s;--fade-dur:var(--motion-change);--font-display:"Linkara", sans-serif;--font-ui:"Gatsbyline", system-ui, sans-serif;--font-mono:ui-monospace, "JetBrains Mono", monospace;--t-display:56px;--t-fig-xl:48px;--t-fig-l:30px;--t-fig-m:20px;--t-body:15px;--t-small:13px;--t-label:11px}@media (width>=1440px){:root{--t-display:64px;--t-fig-xl:52px}}@media (width>=1920px){:root{--t-display:72px;--t-fig-xl:56px;--page-margin:48px;--gutter:24px}}.on-fjord{--ink:var(--on-fjord);--ink-60:var(--on-fjord-60);--ink-40:var(--on-fjord-40);--rule:var(--rule-on-fjord);--rule-row:#fff3;--rule-firm:#ffffff42;--ink-red:var(--ink-red-dark);--surface:var(--fjord-500);color:var(--on-fjord)}[class*=tex-]{--tex-color:currentColor}.tex-solid{background-color:var(--tex-color);background-image:none}.tex-hatch{background-color:#0000;background-image:repeating-linear-gradient(var(--tex-angle), transparent 0 calc(var(--tex-pitch) - var(--tex-line)), color-mix(in srgb, var(--tex-color) var(--tex-hatch-alpha), transparent) calc(var(--tex-pitch) - var(--tex-line)) var(--tex-pitch))}.tex-outline{box-shadow:inset 0 0 0 var(--tex-stroke) var(--tex-color);background-color:#0000;background-image:none}.tex-dots{background-color:#0000;background-image:radial-gradient(color-mix(in srgb, var(--tex-color) var(--tex-dots-alpha), transparent) .5px, transparent .5px);background-size:var(--tex-pitch) var(--tex-pitch)}.tex-outline[data-approved=true]{background-color:var(--tex-color);box-shadow:inset 0 0 0 var(--tex-stroke) transparent;transition:background-color var(--approve-dur) var(--approve-ease), box-shadow var(--approve-dur) var(--approve-ease)}@media (prefers-reduced-motion:reduce){.tex-outline[data-approved=true]{transition:none}}@font-face{font-family:Linkara;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/linkara/Linkara.otf)format("opentype")}@font-face{font-family:Gatsbyline;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/gatsbyline/Gatsbyline-Regular.otf)format("opentype")}@font-face{font-family:Gatsbyline;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/gatsbyline/Gatsbyline-Medium.otf)format("opentype")}@font-face{font-family:Gatsbyline;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/gatsbyline/Gatsbyline-SemiBold.otf)format("opentype")}@font-face{font-family:Gatsbyline;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/gatsbyline/Gatsbyline-Bold.otf)format("opentype")}@font-face{font-family:Gatsbyline;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/gatsbyline/Gatsbyline-ExtraBold.otf)format("opentype")}:root{--font-display:"Linkara", sans-serif;--font-ui:"Gatsbyline", system-ui, sans-serif}@keyframes hub-v2-settle{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}[data-hub-motion=settle]{animation:hub-v2-settle var(--motion-settle) var(--ease-settle) both}[data-hub-interaction=press]{transition:background-color var(--motion-acknowledge) var(--ease-acknowledge), border-color var(--motion-acknowledge) var(--ease-acknowledge), color var(--motion-acknowledge) var(--ease-acknowledge)}[data-hub-interaction=press]:active{background-color:color-mix(in srgb, currentColor 10%, transparent);transition-duration:0s}[data-hub-locate=true]{background-color:color-mix(in srgb, var(--blue-100) 42%, transparent)}.blockframe-shell{z-index:3;width:min(100%, var(--blockframe-max,2400px));justify-content:space-between;align-items:center;gap:var(--s-5);background:0 0;min-width:0;margin-inline:auto;display:flex;position:relative}.blockframe-shell-capsule{border:1px solid var(--glass-border);background:var(--glass-bg);min-width:0;height:44px;box-shadow:0 14px 36px -26px var(--fjord-900), inset 0 1px 0 var(--glass-edge-bright);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(112%);border-radius:999px;align-items:center;display:flex}.blockframe-shell-logo{gap:var(--s-3);flex:0 0 200px;width:200px;padding:0 18px}.blockframe-shell-logo a{align-items:center;display:inline-flex}.blockframe-shell-logo-lockup,.blockframe-shell-logo-lockup.vn-live-mark{width:max-content;height:1.1rem;display:inline-flex}.blockframe-shell-logo>span{padding-left:var(--s-3);border-left:1px solid var(--rule);color:var(--ink-60);font-size:var(--t-small);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.blockframe-shell-primary{flex:0 300px;justify-content:center;gap:2px;width:300px;padding:3px}.blockframe-shell-primary a{min-width:0;color:var(--ink-60);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:550;text-decoration:none;display:inline-flex;overflow:hidden}.blockframe-shell-primary a[aria-current=page],.blockframe-shell-primary[data-content=context-actions] a[data-emphasis=true]{background:var(--fjord-900);box-shadow:0 8px 18px -14px var(--fjord-900);color:var(--on-fjord)}.blockframe-shell-primary[data-content=context-actions]{gap:3px}.blockframe-shell-primary[data-content=context-actions] a{flex:0 auto;padding-inline:12px}.blockframe-shell-primary-icon{flex:none;place-items:center;display:inline-grid}.blockframe-shell-actions{flex:0 0 184px;justify-content:flex-end;gap:4px;width:184px;padding:3px 7px}.blockframe-shell-actions label,.blockframe-shell-actions select,.blockframe-shell-actions button,.blockframe-shell-actions>a,.blockframe-shell-actions>details,.blockframe-shell-actions>details>summary{height:32px}.blockframe-shell-actions select,.blockframe-shell-actions button,.blockframe-shell-actions>a,.blockframe-shell-actions>details>summary{color:var(--ink);font:inherit;background:0 0;border:0}.blockframe-shell-actions select{width:42px;font-family:var(--font-mono);font-size:var(--t-label);padding-left:5px}.blockframe-shell-actions button,.blockframe-shell-actions>a,.blockframe-shell-actions>details>summary{width:28px;color:var(--ink);cursor:pointer;border-radius:50%;flex:0 0 28px;place-items:center;text-decoration:none;display:inline-grid;position:relative}.blockframe-shell-utility>span{border:1px solid var(--glass-edge-bright);background:var(--ink-red);min-width:14px;height:14px;color:var(--on-fjord);font-family:var(--font-mono);border-radius:999px;place-items:center;padding-inline:3px;font-size:8px;font-weight:700;line-height:1;display:grid;position:absolute;top:-1px;right:-2px}.blockframe-shell-backdrops,.blockframe-shell-account{flex:0 0 28px;width:28px;position:relative}.blockframe-shell-account>summary{list-style:none;background:var(--fjord-900)!important;color:var(--on-fjord)!important;font-size:11px!important;font-weight:700!important}.blockframe-shell-account>summary::-webkit-details-marker{display:none}.blockframe-shell:has(.blockframe-shell-account[open]){z-index:70}.blockframe-account-menu{z-index:60;border:1px solid var(--rule-firm);background:var(--paper);width:190px;box-shadow:var(--raised-shadow);border-radius:14px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 12px);right:-7px}.blockframe-account-menu>a,.blockframe-account-menu>button{width:100%;min-height:40px;color:var(--ink);font-family:var(--font-ui);background:0 0;border:0;border-radius:9px;justify-content:flex-start;align-items:center;padding:0 12px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.blockframe-account-menu>a:hover,.blockframe-account-menu>button:hover{background:var(--surface-soft)}.blockframe-shell-backdrops>summary{list-style:none}.blockframe-shell-backdrops>summary::-webkit-details-marker{display:none}.blockframe-shell-backdrops[open]>summary{background:var(--glass-highlight)}.blockframe-shell:has(.blockframe-shell-backdrops[open]){z-index:70}.blockframe-backdrop-menu{z-index:60;border:1px solid var(--rule-firm);border-radius:var(--sheet-radius);background:var(--paper);width:min(278px,100vw - 20px);box-shadow:var(--raised-shadow);color:var(--ink);gap:9px;padding:12px;display:grid;position:absolute;top:calc(100% + 12px);right:-68px}.blockframe-backdrop-menu>span{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;font-weight:650}.blockframe-backdrop-options{gap:6px;display:grid}.blockframe-backdrop-options>a{border:1px solid var(--rule);min-height:52px;color:var(--ink-60);font-size:var(--t-small);border-radius:10px;grid-template-columns:72px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:5px;font-weight:600;text-decoration:none;display:grid}.blockframe-backdrop-options>a:hover,.blockframe-backdrop-options>a[aria-current=true]{border-color:var(--rule-firm);background:var(--surface-soft);color:var(--ink)}.blockframe-backdrop-preview{background-position:50%;background-size:cover;border-radius:7px;width:72px;height:40px}.blockframe-shell-actions .blockframe-shell-profile{background:var(--fjord-900);color:var(--on-fjord);font-weight:700}.blockframe-shell a:focus-visible,.blockframe-shell select:focus-visible,.blockframe-shell button:focus-visible,.blockframe-shell summary:focus-visible{outline:2px solid var(--blue-500);outline-offset:3px}.blockframe-nav-rail{z-index:30;top:50%;left:var(--blockframe-outer,var(--s-5));border:1px solid var(--glass-border);background:var(--glass-bg);width:56px;min-height:0;max-height:calc(100dvh - 160px);box-shadow:0 14px 36px -26px var(--fjord-900), inset 0 1px 0 var(--glass-edge-bright);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(112%);transition:width var(--fade-dur) ease, border-radius var(--fade-dur) ease, box-shadow var(--fade-dur) ease;border-radius:24px;flex-direction:column;align-items:stretch;gap:2px;padding:8px;display:flex;position:fixed;overflow:hidden;transform:translateY(-50%)}.blockframe-nav-rail a{width:100%;height:40px;color:var(--ink-60);transition:color var(--fade-dur) ease, background-color var(--fade-dur) ease;border-radius:14px;grid-template-columns:40px minmax(0,1fr);align-items:center;text-decoration:none;display:grid}.blockframe-nav-rail-icon{place-items:center;width:40px;height:40px;display:grid}.blockframe-nav-rail-icon svg{display:block}.blockframe-nav-rail-label{min-width:0;font-size:var(--t-small);opacity:0;text-overflow:ellipsis;transition:opacity var(--fade-dur) ease, transform var(--fade-dur) ease;white-space:nowrap;padding-right:14px;font-weight:600;overflow:hidden;transform:translate(-6px)}.blockframe-nav-rail-sections{border-top:1px solid var(--rule);gap:12px;margin-top:6px;padding-top:8px;display:none}.blockframe-nav-rail-group{gap:1px;display:grid}.blockframe-nav-rail-heading{color:var(--ink-40);font-family:var(--font-mono);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;padding:3px 10px 4px;font-size:9px;font-weight:650;overflow:hidden}.blockframe-nav-rail a.blockframe-nav-rail-secondary{border-radius:11px;grid-template-columns:32px minmax(0,1fr);height:34px}.blockframe-nav-rail-secondary .blockframe-nav-rail-icon{width:32px;height:34px}.blockframe-nav-rail-secondary .blockframe-nav-rail-label{padding-right:10px;font-size:11px;font-weight:550}.blockframe-nav-rail-studio{border-top:1px solid var(--rule);padding-top:8px}.blockframe-nav-rail a:hover{background:var(--glass-highlight);color:var(--ink)}.blockframe-nav-rail a[aria-current=page]{background:var(--fjord-900);color:var(--on-fjord)}.blockframe-nav-rail a:focus-visible{outline:2px solid var(--blue-500);outline-offset:3px}.blockframe-nav-more-trigger{display:none}@keyframes blockframe-mobile-menu-enter{0%{opacity:0}to{opacity:1}}.blockframe-mobile-menu-overlay{z-index:80;background:color-mix(in srgb, var(--fjord-900) 52%, transparent);-webkit-backdrop-filter:blur(8px);animation:blockframe-mobile-menu-enter var(--motion-change) var(--ease-acknowledge) both;position:fixed;inset:0}.blockframe-mobile-menu{z-index:81;border:1px solid var(--rule-on-fjord);background:var(--fjord-900);max-height:calc(100dvh - 24px);box-shadow:0 28px 80px -28px var(--fjord-900), inset 0 1px 0 var(--rule-on-fjord);color:var(--on-fjord);font-family:var(--font-ui);animation:blockframe-mobile-menu-enter var(--motion-change) var(--ease-acknowledge) both;border-radius:28px;outline:0;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;bottom:12px;left:12px;right:12px;overflow:hidden}.blockframe-mobile-menu-header{border-bottom:1px solid var(--rule-on-fjord);justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:14px 16px 13px 20px;display:flex}.blockframe-mobile-menu-header>div{gap:2px;display:grid}.blockframe-mobile-menu-header span,.blockframe-mobile-menu-heading{color:var(--on-fjord-60);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:650}.blockframe-mobile-menu-header h2{letter-spacing:-.03em;margin:0;font-size:27px;font-weight:500;line-height:1.05}.blockframe-mobile-menu-header button{border:1px solid var(--rule-on-fjord);background:var(--glass-highlight);width:44px;height:44px;color:var(--on-fjord);cursor:pointer;border-radius:14px;flex:0 0 44px;place-items:center;display:grid}.blockframe-mobile-menu-scroll{padding:18px 16px calc(20px + env(safe-area-inset-bottom));overscroll-behavior:contain;scrollbar-color:var(--rule-on-fjord) transparent;scrollbar-width:thin;gap:20px;display:grid;overflow-y:auto}.blockframe-mobile-menu-group{gap:8px;display:grid}.blockframe-mobile-menu-heading{padding-inline:4px}.blockframe-mobile-menu-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.blockframe-mobile-menu-links a{border:1px solid var(--rule-on-fjord);min-height:50px;color:var(--on-fjord-60);border-radius:14px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:600;line-height:1.15;text-decoration:none;display:grid}.blockframe-mobile-menu-links a svg{color:var(--on-fjord)}.blockframe-mobile-menu-links a:hover{background:var(--glass-highlight);color:var(--on-fjord)}.blockframe-mobile-menu-links a[aria-current=page]{border-color:var(--on-fjord);background:var(--on-fjord);color:var(--fjord-900)}.blockframe-mobile-menu-links a[aria-current=page] svg{color:var(--fjord-900)}.blockframe-mobile-menu :is(a,button):focus-visible{outline:2px solid var(--blue-100);outline-offset:2px}@media (width<=1180px){.blockframe-shell-primary a{padding-inline:8px}}@media (width<=920px){.blockframe-shell{gap:var(--s-3);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo actions""nav nav";display:grid}.blockframe-shell-logo{grid-area:logo}.blockframe-shell-primary{grid-area:nav;justify-self:center;width:min(100%,300px)}.blockframe-shell-actions{grid-area:actions}}@media (width>=641px){.blockframe-nav-rail:is(:hover,:focus-within){width:208px;box-shadow:0 20px 54px -28px var(--fjord-900), inset 0 1px 0 var(--glass-edge-bright);scrollbar-color:var(--rule-firm) transparent;scrollbar-width:thin;border-radius:28px;overflow:hidden auto}.blockframe-nav-rail:is(:hover,:focus-within) .blockframe-nav-rail-label{opacity:1;transform:translate(0)}.blockframe-nav-rail:is(:hover,:focus-within) .blockframe-nav-rail-sections{display:grid}.blockframe-nav-rail:is(:hover,:focus-within)::-webkit-scrollbar{width:6px}.blockframe-nav-rail:is(:hover,:focus-within)::-webkit-scrollbar-thumb{background:var(--rule-firm);border-radius:999px}}@media (width<=640px){.blockframe-shell-logo{flex-basis:auto;width:min(200px,100vw - 220px)}.blockframe-shell-logo-lockup.vn-live-mark{--vn-mark-icon-h:.86rem;width:max-content;height:var(--vn-mark-icon-h)}.blockframe-shell-logo>span{display:none}.blockframe-shell-actions{width:184px}.blockframe-shell-primary{justify-content:center;width:min(100%,300px);overflow-x:auto}.blockframe-shell-primary a{flex:none}.blockframe-nav-rail{border-radius:24px;flex-direction:row;justify-content:space-around;width:auto;height:56px;padding:8px 12px;inset:auto 12px 12px;transform:none}.blockframe-nav-rail a{grid-template-columns:40px;width:40px}.blockframe-nav-rail-label,.blockframe-nav-rail-sections,.blockframe-nav-rail a:nth-child(2),.blockframe-nav-rail a:nth-child(5){display:none}.blockframe-nav-more-trigger{width:40px;height:40px;color:var(--ink-60);cursor:pointer;background:0 0;border:0;border-radius:14px;flex:0 0 40px;place-items:center;display:grid}.blockframe-nav-more-trigger:hover,.blockframe-nav-more-trigger[data-state=open]{background:var(--fjord-900);color:var(--on-fjord)}.blockframe-nav-more-trigger:focus-visible{outline:2px solid var(--blue-500);outline-offset:3px}}.hub-v2-lab{box-sizing:border-box;min-height:100dvh;padding:var(--s-5) var(--page-margin) var(--s-8);background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--t-body);line-height:1.45;overflow-x:hidden}.hub-v2-lab *,.hub-v2-lab :before,.hub-v2-lab :after{box-sizing:border-box}.hub-v2-texture-patterns{width:0;height:0;display:block;position:absolute}.hub-v2-shell{z-index:3;width:min(100%,1400px);margin:0 auto var(--s-5);border:1px solid var(--rule);background:var(--surface);border-radius:999px;position:relative}.hub-v2-shell-bar{align-items:center;gap:var(--s-3);min-height:58px;padding:var(--s-2) var(--s-3);white-space:nowrap;display:flex}.hub-v2-shell-brand,.hub-v2-shell-link,.hub-v2-shell-product-entry a{color:inherit;text-decoration:none}.hub-v2-shell-brand{flex:none;align-items:center;display:inline-flex}.hub-v2-shell-brand-lockup,.hub-v2-shell-brand-lockup.vn-live-mark{width:auto;height:1.4rem}.hub-v2-shell-current-product{padding-left:var(--s-3);border-left:1px solid var(--rule);color:var(--ink-60);font-size:var(--t-small);flex:none}.hub-v2-shell-nav{min-width:0}.hub-v2-shell-nav-desktop{flex:auto}.hub-v2-shell-links,.hub-v2-shell-mobile-links{border:1px solid var(--rule);background:var(--paper);border-radius:999px;align-items:center;gap:2px;margin:0;padding:3px;list-style:none;display:flex}.hub-v2-shell-link{max-width:15ch;padding:var(--s-2) var(--s-3);color:var(--ink-60);font-size:var(--t-small);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;display:block;overflow:hidden}.hub-v2-shell-link:hover{background:var(--surface);color:var(--ink)}.hub-v2-shell-link[aria-current=page]{background:var(--fjord-900);color:var(--on-fjord)}.hub-v2-shell-product-entry{min-width:0;padding-left:var(--s-3);border-left:1px solid var(--rule);flex:0 auto;gap:1px;display:grid}.hub-v2-shell-mobile-product-entry{display:none}.hub-v2-shell-product-caption{color:var(--ink-40);font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase}.hub-v2-shell-product-entry a{color:var(--ink);font-size:var(--t-small);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.hub-v2-shell-product-entry a:hover{text-underline-offset:3px;text-decoration:underline}.hub-v2-shell-utilities{align-items:center;gap:var(--s-1);flex:none;margin-left:auto;display:flex}.hub-v2-shell-locale select,.hub-v2-shell-utility,.hub-v2-shell-mobile-trigger{border:1px solid var(--rule-firm);min-height:32px;color:var(--ink);font:inherit;background:0 0;border-radius:999px}.hub-v2-shell-locale select{padding:0 var(--s-2);font-family:var(--font-mono);font-size:var(--t-label)}.hub-v2-shell-utility,.hub-v2-shell-mobile-trigger{cursor:pointer;width:32px;padding:0}.hub-v2-shell-profile{background:var(--fjord-700);color:var(--on-fjord)}.hub-v2-shell-mobile-trigger,.hub-v2-shell-mobile-menu{display:none}.hub-v2-shell-locale select:focus-visible,.hub-v2-shell-utility:focus-visible,.hub-v2-shell-mobile-trigger:focus-visible,.hub-v2-shell-brand:focus-visible,.hub-v2-shell-link:focus-visible,.hub-v2-shell-product-entry a:focus-visible{outline:2px solid var(--blue-500);outline-offset:3px}.hub-v2-lab-header,.hub-v2-viewport-controls,.hub-v2-register-lab,.hub-v2-async-gallery,.hub-v2-lab-footer{width:min(100%,1400px);margin-inline:auto}.hub-v2-lab-header{gap:var(--s-7);padding-block:var(--s-5) var(--s-7);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.hub-v2-lab-header-copy{max-width:820px}.hub-v2-lab-header h1,.hub-v2-section-heading h2,.hub-v2-viewport-controls h2{color:var(--ink);margin:0}.hub-v2-lab-header h1{max-width:720px;font-family:var(--font-display);font-size:clamp(42px, 4vw, var(--t-display));letter-spacing:-.035em;font-weight:400;line-height:.98}.hub-v2-lab-header h1 .hub-v2-lab-title-quiet{color:var(--ink-40)}.hub-v2-lab-header p,.hub-v2-section-heading p,.hub-v2-legend-note,.hub-v2-register-help,.hub-v2-viewport-note{max-width:62ch;margin:var(--s-3) 0 0;color:var(--ink-60)}.hub-v2-lab-header-mark{border:1px solid var(--rule-firm);width:104px;height:104px;color:var(--fjord-700);font-family:var(--font-display);border-radius:50%;align-content:center;justify-items:center;font-size:48px;line-height:.8;display:grid}.hub-v2-lab-header-mark small{margin-top:var(--s-2);color:var(--ink-60);font-family:var(--font-mono);letter-spacing:.14em;font-size:9px}.hub-v2-eyebrow,.hub-v2-type-label,.hub-v2-stat dt,.hub-v2-register-header,.hub-v2-fixture-count,.hub-v2-state-status,.hub-v2-lab-footer,.hub-v2-viewport-note{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase}.hub-v2-eyebrow{margin-bottom:var(--s-2);color:var(--ink-60);display:block}.hub-v2-viewport-controls{gap:var(--s-3) var(--s-7);padding-block:var(--s-4);border-block:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.hub-v2-viewport-controls h2{font-family:var(--font-ui);font-size:var(--t-fig-m);letter-spacing:-.02em;font-weight:500;line-height:1.1}.hub-v2-viewport-list{justify-content:end;gap:var(--s-2);flex-wrap:wrap;display:flex}.hub-v2-viewport-button,.hub-v2-tab,.hub-v2-button,.hub-v2-inline-button{border:1px solid var(--rule-firm);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px}.hub-v2-viewport-button,.hub-v2-tab{padding:var(--s-2) var(--s-3);font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.02em}.hub-v2-viewport-button[aria-pressed=true],.hub-v2-tab[aria-selected=true]{border-color:var(--fjord-700);background:var(--fjord-700);color:var(--on-fjord)}.hub-v2-viewport-button:focus-visible,.hub-v2-tab:focus-visible,.hub-v2-button:focus-visible,.hub-v2-inline-button:focus-visible,.hub-v2-register-row:focus-visible{outline:2px solid var(--blue-500);outline-offset:3px}.hub-v2-viewport-note{color:var(--ink-40);text-transform:none;letter-spacing:.02em;grid-column:1/-1;margin-top:0}.hub-v2-surface{width:min(100%,1400px);margin:var(--s-7) auto 0}.hub-v2-surface-sheet{padding:clamp(var(--s-5), 4vw, var(--s-7));border:1px solid var(--rule);border-radius:var(--sheet-radius);background:var(--surface)}.hub-v2-surface-raised{padding:clamp(var(--s-5), 4vw, var(--s-7));border-radius:var(--raised-radius);background:var(--fjord-700);box-shadow:var(--raised-shadow)}.hub-v2-section-heading h2{max-width:740px;font-family:var(--font-ui);letter-spacing:-.025em;font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.02}.hub-v2-language-grid{gap:var(--s-7);margin-top:var(--s-7);grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);display:grid}.hub-v2-language-grid h3,.hub-v2-register-heading h3,.hub-v2-chart-heading h3,.hub-v2-approval-copy h3,.hub-v2-type-specimen+h3{font-size:var(--t-fig-m);margin:0;font-weight:500}.hub-v2-type-specimen{margin-top:var(--s-3);border-top:1px solid var(--rule)}.hub-v2-type-row{gap:var(--s-3);padding-block:var(--s-3);border-bottom:1px solid var(--rule-row);grid-template-columns:64px minmax(120px,.7fr) minmax(0,1.6fr);align-items:baseline;display:grid}.hub-v2-type-size{color:var(--ink-40);font-family:var(--font-mono);font-size:var(--t-label)}.hub-v2-type-sample{color:var(--ink)}.hub-v2-type-small{font-size:var(--t-small)}.hub-v2-type-body{font-size:var(--t-body)}.hub-v2-type-figure{font-family:var(--font-display);font-size:var(--t-fig-xl);line-height:.9}.hub-v2-type-display{font-family:var(--font-display);font-size:var(--t-display);letter-spacing:-.04em;line-height:.88}.hub-v2-texture-legend,.hub-v2-chart-legend{gap:var(--s-2);margin-top:var(--s-3);display:grid}.hub-v2-texture-token{align-items:center;gap:var(--s-2);min-height:22px;display:inline-flex}.hub-v2-texture-swatch{width:24px;height:12px;color:var(--tex-color);flex:none;display:inline-block}.hub-v2-texture-label{color:var(--ink-60);font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;line-height:1}.hub-v2-legend-note{font-size:var(--t-small)}.hub-v2-rule-break{margin-block:var(--s-7);border-top:1px solid var(--rule)}.hub-v2-stat-rule-row{margin:var(--s-3) 0 0;border-top:1px solid var(--rule-firm);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.hub-v2-stat{min-width:0;padding:var(--s-3) var(--s-4) 0;border-right:1px solid var(--rule-firm)}.hub-v2-stat:first-child{padding-left:0}.hub-v2-stat:last-child{border-right:0}.hub-v2-stat dt{color:var(--ink-60)}.hub-v2-stat dd{margin:var(--s-2) 0 0}.hub-v2-stat>span{margin-top:var(--s-1);color:var(--ink-40);font-family:var(--font-mono);letter-spacing:.06em;font-size:10px;display:block}.hub-v2-stat-plain{color:var(--ink)!important;font-family:var(--font-ui)!important;font-size:var(--t-fig-l)!important;letter-spacing:-.03em!important}.hub-v2-financial{color:var(--ink);font-family:var(--font-ui);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"tnum" 1, "lnum" 1;white-space:nowrap;align-items:baseline;display:inline-flex}.hub-v2-financial[data-negative=true]{color:var(--ink-red)}.hub-v2-financial-m{font-size:var(--t-fig-m);letter-spacing:-.02em}.hub-v2-financial-l{font-size:var(--t-fig-l);letter-spacing:-.03em}.hub-v2-financial-xl{font-size:var(--t-fig-xl);letter-spacing:-.035em}.hub-v2-financial-visual{align-items:baseline;display:inline-flex}.hub-v2-financial-sign{margin-right:.08em}.hub-v2-financial-group{align-items:baseline;display:inline-flex}.hub-v2-financial-gap{width:.23em;display:inline-block}.hub-v2-financial-decimals{margin-left:.02em}.hub-v2-financial-currency{color:var(--ink-40);margin-left:.3em;font-size:.55em;font-weight:400}.hub-v2-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.hub-v2-focal-surface{gap:var(--s-7);grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:start;display:grid}.hub-v2-chart-shell{min-width:0}.hub-v2-chart-heading,.hub-v2-register-heading{gap:var(--s-4);justify-content:space-between;align-items:end;display:flex}.hub-v2-chart-heading h3,.hub-v2-approval-copy h3{color:var(--on-fjord)}.hub-v2-chart-heading .hub-v2-eyebrow,.hub-v2-approval-copy .hub-v2-eyebrow{color:var(--on-fjord-60)}.hub-v2-chart-heading .hub-v2-financial{color:var(--on-fjord)}.hub-v2-chart-heading .hub-v2-financial-currency{color:var(--on-fjord-60)}.hub-v2-chart{width:100%;min-height:230px;margin-top:var(--s-4);display:block;overflow:visible}.hub-v2-chart-area,.hub-v2-chart-line,.hub-v2-chart-proposal,.hub-v2-chart-rule{vector-effect:non-scaling-stroke}.hub-v2-chart-solid{fill:var(--fjord-500)}.hub-v2-chart-hatch,.hub-v2-chart-dots{opacity:1}.hub-v2-chart-solid-line{fill:none;stroke:var(--on-fjord);stroke-width:2px}.hub-v2-chart-comparison{fill:none;stroke:var(--on-fjord-60);stroke-dasharray:1 5;stroke-linecap:round;stroke-width:2px}.hub-v2-chart-proposal{stroke:var(--blue-500);stroke-dasharray:3 4;stroke-width:1.5px}.hub-v2-chart-rule{stroke:var(--rule-on-fjord);stroke-width:1px}.hub-v2-chart-label{fill:var(--on-fjord-60);font-family:var(--font-mono);letter-spacing:.04em;font-size:11px}.hub-v2-chart-legend{gap:var(--s-3) var(--s-5);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.on-fjord .hub-v2-texture-label{color:var(--on-fjord-60)}.on-fjord .hub-v2-texture-swatch{--tex-color:var(--on-fjord)}.on-fjord .hub-v2-texture-token:nth-child(2) .hub-v2-texture-swatch,.on-fjord .hub-v2-texture-token:nth-child(3) .hub-v2-texture-swatch{--tex-color:var(--blue-500)}.hub-v2-approval-demo{gap:var(--s-5);min-height:100%;padding-left:var(--s-7);border-left:1px solid var(--rule-on-fjord);align-content:space-between;display:grid}.hub-v2-approval-copy p{max-width:36ch;margin:var(--s-3) 0 0;color:var(--on-fjord-60)}.hub-v2-approval-stage{gap:var(--s-4);align-content:end;display:grid}.hub-v2-approval-swatch .hub-v2-texture-fill{min-height:88px;padding:var(--s-4);color:var(--on-fjord);font-family:var(--font-ui);font-size:var(--t-fig-m)}.hub-v2-approval-swatch .hub-v2-texture-label{margin-top:var(--s-2);color:var(--on-fjord-60);display:block}.hub-v2-button{width:100%;padding:var(--s-3) var(--s-4);border-color:var(--on-fjord);background:var(--on-fjord);color:var(--fjord-700);font-weight:600}.hub-v2-button:hover,.hub-v2-inline-button:hover,.hub-v2-tab:hover,.hub-v2-viewport-button:hover{border-color:var(--blue-500)}.hub-v2-register-lab{margin-top:var(--s-8)}.hub-v2-register-heading h3{font-family:var(--font-ui);font-size:var(--t-fig-l);letter-spacing:-.025em;font-weight:500;line-height:1}.hub-v2-register-switch{gap:var(--s-2);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.hub-v2-register{margin-top:var(--s-4)}.hub-v2-fixture-count{color:var(--ink-40);text-transform:none;letter-spacing:.02em;flex:none}.hub-v2-register-help{margin-top:var(--s-2);font-size:var(--t-small)}.hub-v2-register-frame{height:654px;margin-top:var(--s-4);border-top:1px solid var(--rule-firm);scrollbar-gutter:stable;position:relative;overflow-y:auto}.hub-v2-register-header,.hub-v2-register-row{gap:var(--s-3);grid-template-columns:6.5rem minmax(13rem,2fr) minmax(9rem,1.25fr) minmax(8rem,1fr) minmax(9.5rem,1.1fr);align-items:center;display:grid}.hub-v2-register-header{z-index:2;min-height:38px;padding:0 var(--s-3);border-bottom:1px solid var(--rule-firm);background:var(--paper);color:var(--ink-60);position:sticky;top:0}.hub-v2-register-scroll{position:relative}.hub-v2-register-position{height:68px;position:absolute;left:0;right:0}.hub-v2-register-row{min-height:68px;padding:var(--s-2) var(--s-3) 22px;border-bottom:1px solid var(--rule-row);color:var(--ink);cursor:default;position:relative}.hub-v2-register-row:hover,.hub-v2-register-row-state-selected{background:color-mix(in srgb, var(--blue-100) 35%, var(--surface))}.hub-v2-register-row-state-blocked{box-shadow:inset 3px 0 0 var(--ink-red)}.hub-v2-register-row-state-loading{color:var(--ink-40)}.hub-v2-register-row-state-refreshing{box-shadow:inset 3px 0 0 var(--blue-500)}.hub-v2-register-row-state-disconnected{box-shadow:inset 3px 0 0 var(--ink-red)}.hub-v2-register-date,.hub-v2-register-reference,.hub-v2-register-amount{font-variant-numeric:lining-nums tabular-nums;min-width:0}.hub-v2-register-date,.hub-v2-register-reference{color:var(--ink-60);font-family:var(--font-mono);font-size:var(--t-label)}.hub-v2-register-description{min-width:0}.hub-v2-register-description strong,.hub-v2-register-description small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.hub-v2-register-description strong{font-weight:500}.hub-v2-register-description small{color:var(--ink-40);font-size:var(--t-label);margin-top:2px}.hub-v2-register-amount{justify-self:end}.hub-v2-register-status{min-width:0}.hub-v2-register-status .hub-v2-texture-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hub-v2-row-status{right:var(--s-3);bottom:4px;left:var(--s-3);justify-content:space-between;align-items:end;gap:var(--s-3);color:var(--ink-red);font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.02em;display:flex;position:absolute}.hub-v2-row-status[data-row-async-state=loading]{color:var(--ink-60)}.hub-v2-row-status[data-row-async-state=refreshing]{color:var(--blue-500)}.hub-v2-row-status[data-row-async-state=partial],.hub-v2-row-status[data-row-async-state=disconnected],.hub-v2-row-status[data-row-async-state=blocked]{color:var(--ink-red)}.hub-v2-row-status-label{font-weight:600}.hub-v2-row-value-loading{justify-content:flex-end;min-width:5.5rem;display:inline-flex}.hub-v2-row-loading-placeholder{background:var(--rule-row);border-radius:2px;width:4.5rem;height:1em;display:inline-block}.hub-v2-inline-button{min-height:24px;padding:2px var(--s-2);color:inherit;font-family:var(--font-mono);border-color:currentColor;font-size:10px}.hub-v2-register-expanded{top:100%;right:var(--s-3);left:var(--s-3);z-index:1;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--rule-firm);background:var(--surface);color:var(--ink-60);font-family:var(--font-mono);align-items:baseline;gap:var(--s-2) var(--s-4);flex-wrap:wrap;font-size:10px;display:flex;position:absolute}.hub-v2-derived-badge{padding:2px var(--s-2);color:var(--ink);border:1px solid;font-weight:600}.hub-v2-expanded-missing{color:var(--ink-red)}.hub-v2-register-footnote{margin:var(--s-3) 0 0;color:var(--ink-40);font-family:var(--font-mono);font-size:10px}.hub-v2-async-gallery{margin-top:var(--s-8)}.hub-v2-state-list{gap:0 var(--s-7);margin-top:var(--s-5);border-top:1px solid var(--rule-firm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hub-v2-state{gap:var(--s-3);min-width:0;padding-block:var(--s-3);border-bottom:1px solid var(--rule-row);grid-template-columns:10px minmax(0,1fr) auto;align-items:start;display:grid}.hub-v2-state-mark{border:1px solid var(--rule-firm);width:8px;height:8px;margin-top:6px}.hub-v2-state-initial-loading .hub-v2-state-mark,.hub-v2-state-background-refresh .hub-v2-state-mark{background:var(--blue-500)}.hub-v2-state-service-unavailable .hub-v2-state-mark,.hub-v2-state-recoverable-error .hub-v2-state-mark,.hub-v2-state-integration-disconnected .hub-v2-state-mark{border-color:var(--ink-red)}.hub-v2-state h3{font-size:var(--t-small);margin:0;font-weight:600}.hub-v2-state p{color:var(--ink-60);font-size:var(--t-small);margin:3px 0 0}.hub-v2-state .hub-v2-inline-button{color:var(--ink);margin-top:1px}.hub-v2-state-status{color:var(--ink-40);margin-top:5px}.hub-v2-lab-footer{justify-content:space-between;gap:var(--s-3);margin-top:var(--s-8);padding-top:var(--s-3);border-top:1px solid var(--rule);color:var(--ink-40);text-transform:none;letter-spacing:.02em;flex-wrap:wrap;display:flex}@media (width<=1024px){.hub-v2-lab{--page-margin:var(--s-5)}.hub-v2-shell{border-radius:var(--sheet-radius)}.hub-v2-shell-nav-desktop,.hub-v2-shell-bar>.hub-v2-shell-product-entry{display:none}.hub-v2-shell-mobile-product-entry{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--rule);border-left:0;display:grid}.hub-v2-shell-mobile-trigger{flex:none;place-items:center;display:inline-grid}.hub-v2-shell-mobile-menu:not([hidden]){padding:0 var(--s-3) var(--s-3);border-top:1px solid var(--rule);display:block}.hub-v2-shell-mobile-links{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hub-v2-shell-mobile-links .hub-v2-shell-link{white-space:normal;max-width:none}.hub-v2-language-grid,.hub-v2-focal-surface{grid-template-columns:1fr}.hub-v2-approval-demo{min-height:auto;padding-top:var(--s-5);border-top:1px solid var(--rule-on-fjord);border-left:0;padding-left:0}}@media (width<=768px){.hub-v2-lab{padding-top:var(--s-4)}.hub-v2-shell-current-product{text-overflow:ellipsis;margin-right:auto;overflow:hidden}.hub-v2-shell-mobile-product-entry a{white-space:normal}.hub-v2-lab-header{gap:var(--s-5);grid-template-columns:1fr}.hub-v2-lab-header-mark{width:72px;height:72px;font-size:32px}.hub-v2-lab-header-mark small{font-size:7px}.hub-v2-viewport-controls{grid-template-columns:1fr}.hub-v2-viewport-list{justify-content:start}.hub-v2-type-row{grid-template-columns:48px minmax(0,1fr)}.hub-v2-type-sample{grid-column:2}.hub-v2-stat-rule-row{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-v2-stat:nth-child(2n){border-right:0}.hub-v2-stat:nth-child(n+3){border-top:1px solid var(--rule-firm)}.hub-v2-stat:nth-child(3){padding-left:0}.hub-v2-register-header,.hub-v2-register-row{gap:var(--s-2);grid-template-columns:5rem minmax(0,1fr) auto}.hub-v2-register-header span:nth-child(3),.hub-v2-register-header span:nth-child(5),.hub-v2-register-row .hub-v2-register-reference,.hub-v2-register-row .hub-v2-register-status{display:none}.hub-v2-register-amount{grid-area:1/3}.hub-v2-row-status{right:var(--s-2);left:var(--s-2)}.hub-v2-state-list{grid-template-columns:1fr}}@media (width<=520px){.hub-v2-shell{border-radius:24px}.hub-v2-shell-bar{gap:var(--s-2);min-height:54px;padding-inline:var(--s-2)}.hub-v2-shell-brand-lockup{width:82px}.hub-v2-shell-current-product,.hub-v2-shell-utility[data-utility=help]{display:none}.hub-v2-shell-utilities{margin-left:auto}.hub-v2-shell-mobile-menu:not([hidden]){padding-inline:var(--s-2)}}@media (width<=540px){.hub-v2-lab{--page-margin:var(--s-3)}.hub-v2-lab-header h1{font-size:40px}.hub-v2-surface-sheet,.hub-v2-surface-raised{padding:var(--s-4)}.hub-v2-chart-heading,.hub-v2-register-heading{align-items:start;display:grid}.hub-v2-chart-heading .hub-v2-financial,.hub-v2-fixture-count{justify-self:start}.hub-v2-chart{min-height:190px}.hub-v2-chart-label{font-size:9px}.hub-v2-chart-legend{display:grid}.hub-v2-register-header,.hub-v2-register-row{padding-right:var(--s-3);padding-left:var(--s-2);grid-template-columns:4rem minmax(0,1fr) minmax(6.75rem,max-content)}.hub-v2-register-description strong{font-size:13px}.hub-v2-financial-m{font-size:14px}.hub-v2-state{grid-template-columns:10px minmax(0,1fr)}.hub-v2-state .hub-v2-inline-button,.hub-v2-state-status{grid-column:2;justify-self:start}}@media (prefers-reduced-motion:reduce){[data-hub-motion],[data-hub-interaction]{transition-duration:0s!important;animation-duration:0s!important}.hub-v2-lab *,.hub-v2-lab :before,.hub-v2-lab :after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}.blockframe-mobile-menu,.blockframe-mobile-menu-overlay{animation-duration:0s!important}}.hub-v2-production-shell{--blockframe-outer:clamp(12px, 1.8vw, 36px);--hub-v2-main-inline:clamp(14px, 2.2vw, 54px);--font-display:var(--font-readable);--font-body:var(--font-readable);--font-ui:var(--font-readable);--font-product:var(--font-readable);--font-product-display:var(--font-readable);--font-brand:var(--font-public-display);--paper:#fcfdf9eb;--paper-raised:#fcfdf9;--paper-elevated:#fcfdf9eb;--surface:var(--paper-elevated);--surface-soft:#fcfdf9db;--glass-bg:#fcfdf9b8;--hub-bg:246 247 243;--hub-surface:252 253 249;--hub-surface-raised:252 253 249;--work-bg:246 247 243;--work-surface:252 253 249;--work-surface-raised:252 253 249;--vantnod-paper:#f6f7f3;--raised-radius:.125rem;--sheet-radius:.125rem;--hub-shape-radius:var(--raised-radius);--cockpit-radius-lg:var(--hub-shape-radius);--cockpit-radius-md:var(--hub-shape-radius);--cockpit-radius-sm:var(--hub-shape-radius);--cockpit-panel-bg:var(--paper-elevated);--cockpit-panel-shadow:0 1px 0 color-mix(in srgb, var(--paper-raised) 78%, transparent) inset, 0 22px 48px -30px var(--fjord-900);isolation:isolate;background-color:var(--fjord-500);min-height:100dvh;color:var(--ink);font-family:var(--font-ui);background-image:none;overflow-x:clip}.hub-v2-production-shell :where(h1,h2,h3,h4,h5,h6,.font-display,.font-editorial,.font-sans){font-family:var(--font-readable)}.hub-v2-production-shell :where(.font-brand,.font-logo){font-family:var(--font-public-display)}.hub-v2-production-shell :where(button,input,select,textarea,label){font-family:var(--font-ui)}.hub-v2-production-atmosphere{z-index:0;object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:fixed;inset:0}.hub-v2-production-shell *,.hub-v2-production-shell :before,.hub-v2-production-shell :after{box-sizing:border-box}.hub-v2-production-shell[data-theme=dark]{--paper:var(--fjord-900);--paper-raised:var(--fjord-900);--paper-elevated:var(--fjord-900);--surface:var(--fjord-900);--surface-soft:color-mix(in srgb, var(--fjord-900) 86%, transparent);--glass-bg:var(--glass-fjord);--cockpit-panel-bg:var(--fjord-900);--cockpit-panel-shadow:0 1px 0 color-mix(in srgb, var(--on-fjord) 8%, transparent) inset, 0 24px 52px -32px var(--fjord-900);background-color:var(--fjord-900)}.hub-v2-production-shell>.blockframe-shell{z-index:100;top:var(--blockframe-outer);right:var(--blockframe-outer);left:var(--blockframe-outer);width:auto;max-width:2400px;position:fixed}.hub-v2-production-shell .blockframe-shell-logo>span{padding-left:8px;font-size:11px}.hub-v2-production-shell .blockframe-shell-capsule,.hub-v2-production-shell .blockframe-shell-primary a,.hub-v2-production-shell .blockframe-nav-rail,.hub-v2-production-shell .blockframe-nav-rail a,.hub-v2-production-shell .blockframe-nav-rail:is(:hover,:focus-within){border-radius:var(--hub-shape-radius)}.hub-v2-production-shell[data-theme=dark] .blockframe-shell-capsule,.hub-v2-production-shell[data-theme=dark] .blockframe-nav-rail{border-color:var(--glass-edge);background:var(--glass-fjord);color:var(--on-fjord);box-shadow:0 14px 36px -26px var(--fjord-900), inset 0 1px 0 var(--glass-edge-bright)}.hub-v2-production-shell[data-theme=dark] .blockframe-shell-logo-lockup{filter:brightness(0)invert()}.hub-v2-production-shell[data-theme=dark] .blockframe-shell-logo>span{border-color:var(--rule-on-fjord);color:var(--on-fjord-60)}.hub-v2-production-shell[data-theme=dark] .blockframe-shell-primary a{color:var(--on-fjord-60)}.hub-v2-production-shell[data-theme=dark] .blockframe-shell-primary a[aria-current=page],.hub-v2-production-shell[data-theme=dark] .blockframe-nav-rail a[aria-current=page]{background:color-mix(in srgb, var(--fjord-900) 72%, transparent);color:var(--on-fjord)}.hub-v2-production-shell[data-theme=dark] .blockframe-shell-utility,.hub-v2-production-shell[data-theme=dark] .blockframe-shell-actions button,.hub-v2-production-shell[data-theme=dark] .blockframe-shell-actions a{color:var(--on-fjord)}.hub-v2-production-shell[data-theme=dark] .hub-v2-notification-tray{border-color:var(--glass-edge);background:var(--fjord-900);color:var(--on-fjord)}.hub-v2-production-skip{z-index:240;background:var(--fjord-900);color:var(--on-fjord);transition:transform var(--motion-change) var(--ease-settle);border-radius:10px;padding:10px 14px;font-size:13px;font-weight:700;text-decoration:none;position:fixed;top:8px;left:16px;transform:translateY(-140%)}.hub-v2-production-skip:focus{transform:translateY(0)}.hub-v2-production-main{z-index:1;min-height:100dvh;padding:clamp(78px, 6vw, 108px) var(--hub-v2-main-inline) clamp(96px, 7vw, 140px) clamp(88px, 7vw, 158px);transition:padding-left var(--fade-dur) ease;position:relative}.hub-v2-production-shell:has(.blockframe-nav-rail:is(:hover,:focus-within)) .hub-v2-production-main{padding-left:clamp(236px,16vw,300px)}.hub-v2-production-content{width:min(100%,3000px);min-width:0;margin-inline:auto;display:grid}.hub-v2-production-content.has-inspector{grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:clamp(16px,1.4vw,30px)}.hub-v2-production-outlet{min-width:0}.hub-v2-production-outlet>.hub-page-shell{max-width:2400px;padding:clamp(18px,2vw,32px)}.hub-v2-production-outlet .hub-page-ground{display:none}.hub-v2-production-outlet .hub-page-header{border-bottom:0;padding-top:0}.hub-v2-production-outlet .hub-page-title{color:var(--fjord-900);font-family:var(--font-display);text-shadow:0 0 1px color-mix(in srgb, var(--paper) 92%, transparent), 0 1px 0 color-mix(in srgb, var(--paper) 78%, transparent), 0 0 12px color-mix(in srgb, var(--paper) 70%, transparent);font-weight:500}.hub-v2-production-shell[data-theme=dark] .hub-v2-production-outlet .hub-page-title{color:var(--on-fjord);text-shadow:0 0 1px color-mix(in srgb, var(--fjord-900) 88%, transparent), 0 1px 0 color-mix(in srgb, var(--fjord-900) 70%, transparent), 0 0 12px color-mix(in srgb, var(--fjord-900) 62%, transparent)}.hub-v2-production-shell .cockpit-glass-panel{background:var(--cockpit-panel-bg);-webkit-backdrop-filter:none}.hub-v2-production-inspector{display:block}.hub-v2-production-inspector>div{height:calc(100dvh - 108px);position:sticky;top:86px}.hub-v2-production-mobile-inspector{display:none}.hub-v2-production-demo,.hub-v2-production-company{width:min(100%,3000px);margin:0 auto 12px}.hub-v2-production-shell[data-hub-float=true] .hub-v2-production-demo{margin-bottom:8px}.hub-v2-production-shell:has([data-production-cockpit=true]) .hub-v2-production-demo{margin-bottom:8px}.hub-v2-production-shell[data-hub-float=true] .hub-v2-production-company{display:none}.hub-v2-production-shell:has([data-production-cockpit=true]) .hub-v2-production-company{display:none}.hub-v2-production-demo{border:1px solid var(--glass-border);border-radius:var(--hub-shape-radius);background:var(--glass-bg);min-height:44px;color:var(--ink);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));align-items:center;gap:10px;padding:8px 12px;display:flex}.hub-v2-production-shell[data-theme=dark] .hub-v2-production-demo{border-color:var(--glass-edge);background:color-mix(in srgb, var(--glass-fjord) 70%, transparent);color:var(--on-fjord);box-shadow:inset 0 1px 0 var(--glass-edge-bright)}.hub-v2-production-shell[data-theme=dark][data-hub-float=true] .hub-v2-production-demo{min-height:36px;margin-bottom:12px;padding:6px 12px;font-size:11px}.hub-v2-production-shell[data-theme=dark]:has([data-production-cockpit=true]) .hub-v2-production-demo{min-height:36px;margin-bottom:12px;padding:6px 12px;font-size:11px}.hub-v2-production-demo>span{background:var(--ink-red);border-radius:50%;flex:0 0 8px;width:8px;height:8px}.hub-v2-production-demo p{margin:0;font-size:12px;line-height:1.4}.hub-v2-production-company{color:var(--on-fjord-60);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.hub-v2-notification-tray{z-index:110;top:calc(var(--blockframe-outer) + 56px);right:var(--blockframe-outer);border:1px solid var(--rule-firm);border-radius:var(--hub-shape-radius);background:var(--paper);width:min(360px,100vw - 24px);max-height:min(620px,100dvh - 100px);box-shadow:var(--raised-shadow);color:var(--ink);display:grid;position:fixed;overflow:hidden}.hub-v2-notification-tray>header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.hub-v2-notification-tray>header div{gap:4px;display:grid}.hub-v2-notification-tray>header span{color:var(--ink-40);font-family:var(--font-mono);letter-spacing:.1em;font-size:9px}.hub-v2-notification-tray>header strong{font-size:14px;font-weight:650}.hub-v2-notification-tray>header button{border:1px solid var(--rule);border-radius:var(--hub-shape-radius);background:var(--surface-soft);width:38px;height:38px;color:var(--ink);place-items:center;display:grid}.hub-v2-notification-list{gap:6px;padding:8px;display:grid;overflow-y:auto}.hub-v2-notification-list>button{border-radius:var(--hub-shape-radius);min-height:62px;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.hub-v2-notification-list>button:hover{background:var(--surface-soft)}.hub-v2-notification-list>button>span:first-child{background:var(--blue-500);border-radius:50%;width:6px;height:6px;margin-top:5px}.hub-v2-notification-list>button>span:last-child{gap:4px;display:grid}.hub-v2-notification-list strong{font-size:13px}.hub-v2-notification-list small{color:var(--ink-60);font-size:11px;line-height:1.45}.hub-v2-notification-state{color:var(--ink-60);gap:12px;padding:20px;font-size:12px;line-height:1.5;display:grid}.hub-v2-notification-state p{margin:0}.hub-v2-notification-state button,.hub-v2-production-mobile-inspector>button{border:1px solid var(--rule-firm);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;border-radius:12px;padding:0 14px;font-weight:650}@media (width<=1100px){.hub-v2-production-main{padding-top:126px}.hub-v2-production-content.has-inspector{grid-template-columns:minmax(0,1fr)}.hub-v2-production-inspector{display:none}.hub-v2-production-mobile-inspector{width:min(100%,3000px);margin:14px auto 0;display:block}.hub-v2-production-mobile-inspector>button{justify-content:space-between;align-items:center;width:100%;display:flex}}@media (width<=640px){.hub-v2-production-shell{--blockframe-outer:10px}.hub-v2-production-shell>.blockframe-shell{grid-template:"logo actions"44px/minmax(0,1fr) auto;gap:6px;left:10px;right:10px}.hub-v2-production-shell>.blockframe-shell .blockframe-shell-primary{display:none}.hub-v2-production-shell>.blockframe-nav-rail{z-index:60;width:calc(100% - 20px);margin:66px 10px 0;position:relative;inset:auto}.hub-v2-production-shell>.blockframe-nav-rail>a:nth-child(2){display:grid}.hub-v2-production-shell>.blockframe-nav-rail>a:nth-child(5),.hub-v2-production-shell>.blockframe-nav-rail>a:nth-child(6){display:none}.hub-v2-production-main{padding:14px 10px calc(28px + env(safe-area-inset-bottom))}.hub-v2-production-shell:has(.blockframe-nav-rail:is(:hover,:focus-within)) .hub-v2-production-main{padding:14px 10px calc(28px + env(safe-area-inset-bottom))}.hub-v2-notification-tray{width:auto;max-height:calc(100dvh - 210px);top:66px;left:10px;right:10px}.hub-v2-production-demo p{font-size:11px}.hub-v2-production-outlet>.hub-page-shell{padding:14px}}@media (prefers-reduced-motion:reduce){.hub-v2-production-main,.hub-v2-production-skip{transition:none}}.vn-public-support{--support-paper:#0b1f2b;--support-ink:#f7f9fc;--support-muted:#f7f9fc9e;--support-rule:#f7f9fc1f;--support-blue:#2f7bff;z-index:55;pointer-events:auto;flex-direction:column;align-items:flex-end;gap:.7rem;max-width:min(22.5rem,100vw - 1.6rem);display:flex;position:fixed;bottom:1.15rem;right:1.15rem}.vn-public-support[data-raised=true]{bottom:21.5rem}.vn-public-support-panel{border:1px solid var(--support-rule);background:color-mix(in srgb, var(--support-paper) 92%, #08141c);width:min(22.5rem,100vw - 1.6rem);color:var(--support-ink);border-radius:2px;padding:1.05rem 1.1rem 1rem;box-shadow:0 28px 70px -36px #08141cb8}.vn-public-support-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--support-muted);margin:0;font-family:Gatsbyline,system-ui,sans-serif;font-size:10px}.vn-public-support-panel h2{letter-spacing:-.04em;margin:.45rem 0 0;font-family:Gatsbyline,system-ui,sans-serif;font-size:1.35rem;font-weight:600;line-height:1.05}.vn-public-support-panel p{color:#f7f9fcc7;margin:.65rem 0 0;font-family:Gatsbyline,system-ui,sans-serif;font-size:13.5px;line-height:1.55}.vn-public-support-actions{gap:.45rem;margin-top:.95rem;display:grid}.vn-public-support-actions a,.vn-public-support-actions button{border-radius:2px;justify-content:center;align-items:center;min-height:2.55rem;padding:.55rem .85rem;font-family:Gatsbyline,system-ui,sans-serif;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.vn-public-support-actions .is-primary{background:var(--support-blue);color:#fff;border:0}.vn-public-support-actions .is-secondary{color:var(--support-ink);background:0 0;border:1px solid #f7f9fc2e}.vn-public-support-actions .is-quiet{color:var(--support-muted);background:0 0;border:0}.vn-public-support-note{color:var(--support-muted);margin-top:.7rem;font-family:Gatsbyline,system-ui,sans-serif;font-size:11px;line-height:1.45}.vn-public-support-launcher{background:var(--support-paper);min-height:3.15rem;color:var(--support-ink);border:1px solid #f7f9fc29;border-radius:2px;align-items:center;gap:.65rem;padding:.45rem .95rem .45rem .5rem;font-family:Gatsbyline,system-ui,sans-serif;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 18px 40px -24px #08141ccc}.vn-public-support-launcher span[data-role=mark]{background:var(--support-blue);color:#fff;border-radius:2px;place-items:center;width:2.2rem;height:2.2rem;display:grid}body:has(.vn-public-chrome[data-mobile-open=true]) .vn-public-support{visibility:hidden;opacity:0;pointer-events:none}@media (width<=640px){.vn-public-support{max-width:calc(100vw - 1.5rem);left:auto;right:.75rem}.vn-public-support-panel{width:min(22.5rem,100vw - 1.5rem)}.vn-public-support-launcher{justify-content:center;width:3.15rem;max-width:3.15rem;padding:.45rem}.vn-public-support-launcher span[data-role=label]{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:reduce){.vn-public-support-launcher,.vn-public-support-panel{transition:none}}.vn-brand-pieces{pointer-events:none;-webkit-user-select:none;user-select:none;max-width:100%;display:block;overflow:visible}.vn-brand-pieces[data-tone=bone] image{filter:brightness(0)invert()}.vn-brand-pieces__piece{transform-box:fill-box;transform-origin:50%;transition:transform .62s cubic-bezier(.22,1,.36,1)}.vn-brand-pieces[data-motion=settle] .vn-brand-pieces__piece{will-change:transform, opacity}.vn-brand-pieces[data-motion=settle] .vn-brand-pieces__piece--left{animation:.76s cubic-bezier(.22,1,.36,1) both vn-brand-piece-left-settle}.vn-brand-pieces[data-motion=settle] .vn-brand-pieces__piece--upper{animation:.82s cubic-bezier(.22,1,.36,1) 40ms both vn-brand-piece-upper-settle}.vn-brand-pieces[data-motion=settle] .vn-brand-pieces__piece--lower{animation:.86s cubic-bezier(.22,1,.36,1) 80ms both vn-brand-piece-lower-settle}@keyframes vn-brand-piece-left-settle{0%{opacity:0;transform:translate(-2.2%,1.2%)}to{opacity:1;transform:translate(0,0)}}@keyframes vn-brand-piece-upper-settle{0%{opacity:0;transform:translate(2.6%,-1.8%)}to{opacity:1;transform:translate(0,0)}}@keyframes vn-brand-piece-lower-settle{0%{opacity:0;transform:translate(1.8%,2.4%)}to{opacity:1;transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){.vn-brand-pieces__piece{will-change:auto;transition:none!important;animation:none!important;transform:none!important}}.program-support{--program-ink:var(--pb-ink);--program-ink-soft:var(--pb-ink-soft);--program-ink-faint:var(--pb-ink-faint);border-block:1px solid var(--pb-rule-strong);background:0 0;padding-block:clamp(2.4rem,2.05rem + .9vw,3.25rem)}.program-support__inner{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:clamp(1.15rem,.85rem + .8vw,1.9rem);display:grid}.program-support__heading{text-align:left;grid-column:1/13;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:clamp(.75rem,.45rem + .65vw,1.5rem);max-width:none;margin:0;display:grid}.program-support__heading h2{color:var(--program-ink);font-family:var(--font-ui,"Gatsbyline", system-ui, sans-serif);letter-spacing:-.035em;text-wrap:balance;grid-column:1/7;margin:0;font-size:clamp(1.3rem,1.14rem + .45vw,1.72rem);font-weight:500;line-height:1.04}.program-support__heading p{max-width:46ch;color:var(--program-ink-faint);font-family:var(--font-ui,"Gatsbyline", system-ui, sans-serif);text-align:right;grid-column:8/13;justify-self:end;margin:0;font-size:clamp(.7rem,.66rem + .1vw,.78rem);line-height:1.55}.program-support__list{border-top:1px solid var(--pb-rule);grid-column:1/13;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:clamp(.85rem,.65rem + .55vw,1.35rem) clamp(1.1rem,.65rem + 1.2vw,2.2rem);margin:0;padding:clamp(1.15rem,.9rem + .65vw,1.75rem) 0 0;list-style:none;display:grid}.program-support__list li{min-width:0}.program-support__list a{min-height:3.05rem;color:var(--program-ink-soft);text-align:left;opacity:.72;align-content:center;justify-items:start;gap:.4rem;text-decoration:none;transition:color .18s,opacity .18s;display:grid}.program-support__list a:hover,.program-support__list a:focus-visible{opacity:1}.program-support__list a:focus-visible{outline:2px solid var(--pb-accent);outline-offset:.55rem}.program-support__mark{width:min(100%, var(--program-mark-width));justify-content:flex-start;align-items:center;height:1.4rem;display:flex;position:relative}.program-support__image{object-fit:contain;filter:grayscale()saturate(0);width:auto;max-width:100%;height:auto;max-height:1.4rem;display:block}.program-support__image--dark{display:none}.program-support__name{color:currentColor;font-family:var(--font-ui,"Gatsbyline", system-ui, sans-serif);letter-spacing:.015em;font-size:.68rem;font-weight:650;line-height:1.3}.dark .program-support,.vn-public-surface[data-theme=dark] .program-support{--program-ink:var(--pb-bone);--program-ink-soft:#f7f9f5c2;--program-ink-faint:#f7f9f58a;background:var(--pb-fjord-deep)}.dark .program-support__list a,.vn-public-surface[data-theme=dark] .program-support__list a{opacity:.74}.dark .program-support .program-support__image--light,.vn-public-surface[data-theme=dark] .program-support .program-support__image--light{display:none}.dark .program-support .program-support__image--dark,.vn-public-surface[data-theme=dark] .program-support .program-support__image--dark{display:block}.dark .program-support .program-support__image:not(.program-support__image--light):not(.program-support__image--dark),.vn-public-surface[data-theme=dark] .program-support .program-support__image:not(.program-support__image--light):not(.program-support__image--dark){filter:grayscale()saturate(0)brightness(0)invert()}@media (prefers-color-scheme:dark){.pb-public-home .program-support{--program-ink:var(--pb-ink);--program-ink-soft:var(--pb-ink-soft);--program-ink-faint:var(--pb-ink-faint)}.pb-public-home .program-support .program-support__image--light{display:none}.pb-public-home .program-support .program-support__image--dark{display:block}.pb-public-home .program-support .program-support__image:not(.program-support__image--light):not(.program-support__image--dark){filter:grayscale()saturate(0)brightness(0)invert()}}@media (width<=720px){.program-support__inner{grid-template-columns:minmax(0,1fr)}.program-support__heading,.program-support__list{grid-column:1}.program-support__heading{grid-template-columns:minmax(0,1fr);max-width:32rem}.program-support__heading h2,.program-support__heading p{grid-column:1}.program-support__heading p{text-align:left;justify-self:start}.program-support__list{scroll-snap-type:x proximity;scrollbar-color:var(--pb-rule-strong) transparent;scrollbar-width:thin;grid-template-rows:repeat(2,minmax(0,auto));grid-template-columns:repeat(4,minmax(9rem,1fr));column-gap:clamp(1rem,2vw,1.75rem);padding-bottom:.55rem;overflow-x:auto}.program-support__list li{scroll-snap-align:start}.program-support__list a{min-height:3.2rem}.program-support__mark{height:1.45rem}.program-support__image{max-height:1.45rem}}@media (prefers-reduced-motion:reduce){.program-support__list a{transition:none}}.vn-public-page-frame>.pb-public-home>main>.program-support[data-public-shape=program-support]{border-block-color:color-mix(in srgb, var(--pb-rule-strong) 82%, transparent);background:color-mix(in srgb, var(--pb-paper-elevated) 82%, transparent);width:100%;max-width:none;margin-inline:0;padding-block:clamp(3.25rem,2.7rem + 1.4vw,4.75rem)}.pb-public-home .program-support__inner{align-items:stretch;gap:clamp(1.35rem,1rem + .9vw,2.25rem)}.pb-public-home .program-support__heading{align-items:start}.pb-public-home .program-support__heading h2{font-size:clamp(1.55rem,1.25rem + .85vw,2.2rem);line-height:1.08}.pb-public-home .program-support__heading p{align-self:end;font-size:clamp(.72rem,.68rem + .11vw,.8rem)}.pb-public-home .program-support__list{gap:0;padding-top:clamp(1.15rem,.9rem + .7vw,1.8rem)}.pb-public-home .program-support__list a{border:1px solid color-mix(in srgb, var(--pb-rule) 88%, transparent);background:color-mix(in srgb, var(--pb-paper-elevated) 72%, transparent);min-height:5.75rem;box-shadow:none;opacity:.86;border-radius:0;gap:.6rem;margin:0 -1px -1px 0;padding:.9rem 1rem;transition:border-color .18s,background-color .18s,color .18s,opacity .18s}.pb-public-home .program-support__list a:hover,.pb-public-home .program-support__list a:focus-visible{border-color:color-mix(in srgb, var(--pb-accent) 42%, var(--pb-rule));background:color-mix(in srgb, var(--pb-paper-elevated) 94%, transparent)}.pb-public-home .program-support__mark{height:1.65rem}.pb-public-home .program-support__image{max-height:1.65rem}.pb-public-home .program-support__name{font-size:.72rem}html[data-public-theme=dark] .pb-public-home .program-support__list a{box-shadow:none;background:#f7f9f50e;border-color:#f7f9f51f}html[data-public-theme=dark] .pb-public-home .program-support__list a:hover,html[data-public-theme=dark] .pb-public-home .program-support__list a:focus-visible{background:#f7f9f514;border-color:#9bd8ee57}@media (width<=720px){.vn-public-page-frame>.pb-public-home>main>.program-support[data-public-shape=program-support]{padding-block:3.4rem}.pb-public-home .program-support__heading{gap:.8rem}.pb-public-home .program-support__heading h2{font-size:clamp(1.45rem,6.7vw,1.85rem)}.pb-public-home .program-support__list{scroll-snap-type:none;grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding-bottom:0;overflow:visible}.pb-public-home .program-support__list a{min-height:5.4rem;padding:.8rem}}@media (prefers-reduced-motion:reduce){.pb-public-home .program-support__list a:hover,.pb-public-home .program-support__list a:focus-visible{transform:none}}
