.ob-stage{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.ob-halo{aspect-ratio:1;pointer-events:none;z-index:0;background:radial-gradient(circle,#d977060f 0%,#f1ede48c 32%,#0000 66%);width:min(820px,130vw);position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.ob-atmosphere{z-index:0;pointer-events:none;position:absolute;inset:0}@media (max-width:720px){.ob-atmosphere{display:none}}.ob-stage[data-bg] .ob-halo,.ob-stage[data-bg] .ob-atmosphere{display:none}.ob-device{z-index:2;background:0 0;flex-direction:column;width:100%;max-width:468px;height:100dvh;display:flex;position:relative;overflow:hidden}@media (min-width:480px){.ob-stage{padding:32px}.ob-device{height:min(900px,96dvh)}}.ob-content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.ob-content::-webkit-scrollbar{width:0}@keyframes ob-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ob-fade{animation:.42s cubic-bezier(.16,1,.3,1) both ob-fade-in}.ob-cta{transition:background var(--dur-normal), color var(--dur-normal), opacity var(--dur-normal), transform var(--dur-fast)}.ob-cta:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.ob-cta:active:not(:disabled){transform:translateY(1px)}.ob-cta-cream{transition:opacity var(--dur-normal), transform var(--dur-fast)}.ob-cta-cream:hover:not(:disabled){opacity:.92}.ob-cta-cream:active:not(:disabled){transform:translateY(1px)}.ob-ghost{transition:color var(--dur-fast);color:#19191980}.ob-ghost:hover{color:var(--ink)}.ob-back{transition:color var(--dur-fast);color:#19191973}.ob-back:hover{color:var(--ink)}.ob-tile{transition:background var(--dur-normal), color var(--dur-normal), transform var(--dur-fast)}.ob-tile:hover:not(.ob-tile-on){background:#e9e1d2}.ob-tile:active{transform:scale(.99)}.ob-input{transition:background var(--dur-normal), box-shadow var(--dur-normal)}.ob-input::placeholder{color:#19191961}.ob-input:focus{box-shadow:inset 0 0 0 1.5px var(--accent);background:#fff}.ob-swatch{transition:transform var(--dur-fast), box-shadow var(--dur-normal)}.ob-swatch:hover{transform:translateY(-2px)}.ob-lang{transition:color var(--dur-fast);color:#19191966}.ob-lang:hover{color:var(--ink)}@keyframes ob-node-in{0%{opacity:0;transform:scale(0)}65%{opacity:1;transform:scale(1.22)}to{opacity:1;transform:scale(1)}}@keyframes ob-twinkle{0%,to{opacity:1}50%{opacity:.58}}@keyframes ob-edge-draw{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}@keyframes ob-graph-grow{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes ob-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes ob-pulse-ring{0%,to{opacity:.24;transform:scale(1)}50%{opacity:.04;transform:scale(1.75)}}.ob-graph-wrap{animation:7.5s ease-in-out infinite ob-drift}.ob-graph-grow{transform-origin:50%;animation:2.4s cubic-bezier(.16,1,.3,1) both ob-graph-grow}.ob-node{transform-box:fill-box;transform-origin:50%;animation-name:ob-node-in,ob-twinkle;animation-duration:.5s,3.6s;animation-timing-function:cubic-bezier(.34,1.56,.64,1),ease-in-out;animation-iteration-count:1,infinite;animation-fill-mode:both,both}.ob-node-accent{transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.34,1.56,.64,1) both ob-node-in}.ob-edge{animation:.55s both ob-edge-draw}.ob-pulse-ring{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite ob-pulse-ring}@keyframes ob-mic-pulse{0%{box-shadow:0 0 #d977065c}to{box-shadow:0 0 0 22px #d9770600}}.ob-mic-rec{animation:1.5s ease-out infinite ob-mic-pulse}@keyframes ob-bar{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.ob-bar{transform-origin:bottom;animation:.9s ease-in-out infinite ob-bar}@keyframes ob-sheet-up{0%{transform:translateY(101%)}to{transform:none}}.ob-sheet{animation:.36s cubic-bezier(.16,1,.3,1) both ob-sheet-up}@keyframes ob-scrim-in{0%{opacity:0}to{opacity:1}}.ob-scrim{animation:.26s both ob-scrim-in}@media (prefers-reduced-motion:reduce){.ob-fade,.ob-graph-wrap,.ob-graph-grow,.ob-node,.ob-node-accent,.ob-edge,.ob-pulse-ring,.ob-mic-rec,.ob-bar,.ob-sheet,.ob-scrim{animation:none!important}.ob-graph-grow{transform:none!important}.ob-node,.ob-node-accent{opacity:1!important;transform:none!important}.ob-edge{stroke-dashoffset:0!important}}
