.ob{--paper:var(--rs-surface);--bg-elev:var(--rs-bg);--ink:var(--rs-ink);--ink-2:var(--rs-ink-2);--ink-3:var(--rs-ink-3);--ink-4:var(--rs-ink-3);--ink-5:var(--rs-line);--rule:var(--rs-line);--rule-2:var(--rs-line-2);--accent:var(--rs-accent);--good:var(--rs-ready);--bad:var(--rs-needs);background:var(--paper);width:100vw;min-height:100vh;color:var(--ink);font-family:var(--rs-font-sans);letter-spacing:-.011em;position:relative;overflow:visible}.ob button,.ob input,.ob textarea{font:inherit}.ob button{color:inherit;cursor:pointer;background:0 0;border:0}.ob-topbar{z-index:10;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px 28px;display:grid;position:absolute;top:0;left:0;right:0}.ob-topbar>*{pointer-events:auto}.ob-brand{letter-spacing:-.02em;align-items:center;gap:8px;display:inline-flex}.ob-brand-mark,.ob-auth-mark{background:var(--ink);color:#fff;place-items:center;line-height:1;display:grid;overflow:hidden}.ob-brand-mark{border-radius:6px;width:22px;height:22px}.ob-brand-logo{-o-object-fit:contain;object-fit:contain;filter:invert();width:15px;height:15px}.ob-brand-word{font-size:15px;font-weight:500}.ob-brand-trial{border:1px solid var(--rule);background:var(--bg-elev);color:var(--ink-4);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.04em;border-radius:999px;margin-left:8px;padding:3px 8px;font-size:10.5px}.ob-progress{border:1px solid var(--rule);background:var(--bg-elev);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.ob-progress .seg{background:var(--rule);border-radius:2px;width:22px;height:3px;transition:width .25s,background .25s}.ob-progress .seg.done{background:var(--ink-4)}.ob-progress .seg.now{background:var(--accent);width:30px}.ob-progress-label,.ob-back,.ob-skip,.ob-foot-link{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:-.005em}.ob-progress-label{color:var(--ink-4);letter-spacing:.04em;margin-left:4px;font-size:10.5px}.ob-topbar-right{justify-self:end;align-items:center;gap:8px;display:inline-flex}.ob-back,.ob-skip{color:var(--ink-3);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;display:inline-flex}.ob-skip{color:var(--ink-4);font-size:11.5px}.ob-back:hover,.ob-skip:hover{background:var(--bg-elev);color:var(--ink)}.ob-stage{place-items:center;min-height:100vh;padding:88px 32px 120px;display:grid;position:relative;overflow:visible}.ob-step{flex-direction:column;gap:28px;width:100%;max-width:720px;animation:.5s cubic-bezier(.2,.7,.2,1) both ob-fadein;display:flex}.ob-step-wide{max-width:880px}.ob-step-narrow{max-width:520px}@keyframes ob-fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ob-eyebrow{color:var(--ink-4);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:10.5px;display:inline-flex}.ob-eyebrow .dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.ob-headline{max-width:22ch;color:var(--ink);letter-spacing:-.028em;text-wrap:balance;margin:0;font-size:clamp(34px,4vw,50px);font-weight:500;line-height:1.04}.ob-headline .muted{color:var(--ink-4)}.ob-sub{max-width:52ch;color:var(--ink-3);letter-spacing:-.005em;margin:0;font-size:16px;line-height:1.55}.ob-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.ob-actions .btn{height:44px;padding:0 22px;font-size:14px}.ob-foot-link{color:var(--ink-4);margin-left:auto;font-size:11.5px}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;letter-spacing:-.01em;border-radius:8px;align-items:center;gap:8px;height:32px;padding:0 12px;font-size:13px;font-weight:500;transition:background .15s,transform .12s;display:inline-flex}.btn:hover{background:var(--rs-ink)}.btn:active{transform:translateY(1px)}.ob .btn.accent{border-color:var(--accent);background:var(--accent);color:#fff}.ob .btn.accent:hover{background:color-mix(in oklch, var(--accent) 88%, #000)}.ob-auth{text-align:center;align-items:center;gap:24px;position:relative}.ob-auth-halo,.ob-generate-halo{pointer-events:none;z-index:-1;filter:blur(48px);background:radial-gradient(45% 60% at 30% 30%,#e9c8e88c,#0000 65%),radial-gradient(50% 60% at 70% 40%,#f4d4b78c,#0000 65%),radial-gradient(60% 70% at 50% 80%,#c8ddd080,#0000 70%);position:absolute}.ob-auth-halo{width:480px;height:320px;top:-120px;left:50%;transform:translate(-50%)}.ob-auth-mark{width:88px;height:88px;color:var(--ink);box-shadow:none;background:0 0;border-radius:0}.ob-auth-logo{-o-object-fit:contain;object-fit:contain;width:78px;height:78px}.ob-auth-title{letter-spacing:-.032em;max-width:14ch;margin:0;font-size:clamp(36px,4.8vw,56px);font-weight:500;line-height:1.02}.ob-auth-sub{max-width:44ch;color:var(--ink-3);margin:0;font-size:16px;line-height:1.55}.ob-auth-card{flex-direction:column;gap:10px;width:100%;max-width:380px;margin-top:8px;display:flex}.ob-auth-button{border:1px solid var(--rule);background:var(--paper);width:100%;height:48px;color:var(--ink);letter-spacing:-.005em;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,transform .12s;display:flex}.ob-auth-button:hover{border-color:var(--ink-5);background:var(--bg-elev)}.ob-auth-button.primary{border-color:var(--ink);background:var(--ink);color:#fff}.ob-auth-divider{color:var(--ink-4);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;font-size:10.5px;display:flex}.ob-auth-divider:before,.ob-auth-divider:after{content:"";background:var(--rule);flex:1;height:1px}.ob-auth-foot{color:var(--ink-4);letter-spacing:-.005em;margin-top:24px;font-size:12px}.ob-auth-foot a{color:var(--ink-3);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule)}.ob-trial{text-align:center;align-items:center;gap:18px}.ob-trial-pill{border:1px solid var(--good);background:color-mix(in oklab, var(--rs-ready) 5%, transparent);color:var(--good);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.04em;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:11.5px;display:inline-flex}.dot-good{background:var(--good);border-radius:50%;width:6px;height:6px;animation:1.8s ease-out infinite ob-pulse-good}@keyframes ob-pulse-good{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--rs-ready) 50%, transparent)}70%{box-shadow:0 0 0 8px color-mix(in oklab, var(--rs-ready) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in oklab, var(--rs-ready) 0%, transparent)}}.ob-trial-points{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:640px;margin-top:16px;display:grid}.ob-trial-point,.ob-tile,.ob-tone-tile,.ob-tool{border:1px solid var(--rule);background:var(--paper);border-radius:14px}.ob-trial-point{text-align:left;padding:16px 18px}.ob-trial-point-tag,.ob-tile-tag,.ob-tone-tag,.ob-field-label,.ob-link-row-label,.ob-tool-status{color:var(--ink-4);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;font-size:10.5px}.ob-trial-point-title,.ob-tile-title,.ob-tone-name,.ob-tool-name{color:var(--ink);letter-spacing:-.012em;font-size:15px;font-weight:500}.ob-connect-step .ob-tool-name{font-size:15px;font-weight:500}.ob-trial-point-body,.ob-tile-body,.ob-tone-sample,.ob-tool-body,.ob-toggle-body{color:var(--ink-3);letter-spacing:-.005em;font-size:12.5px;line-height:1.5}.ob-connect-step .ob-tool-body{font-size:13.5px}.ob-tiles,.ob-tone-grid,.ob-tools{gap:10px;display:grid}.ob-tiles{grid-template-columns:repeat(2,1fr)}.ob-tiles-3{grid-template-columns:repeat(3,1fr)}.ob-tile{text-align:left;flex-direction:column;gap:6px;min-height:92px;padding:18px;transition:background .15s,border-color .15s,box-shadow .2s,transform .16s;display:flex;position:relative}.ob-tile:hover,.ob-tone-tile:hover{border-color:var(--ink-3);background:var(--bg-elev);box-shadow:0 12px 34px color-mix(in oklab, var(--rs-ink) 8%, transparent);transform:translateY(-1px)}.ob-tile:focus-visible,.ob-tone-tile:focus-visible,.ob-chip:focus-visible,.ob-tool-action:focus-visible,.ob-suggestion:focus-visible{outline:2px solid color-mix(in oklch, var(--accent) 72%, white);outline-offset:3px}.ob-tile.on,.ob-tone-tile.on{border-color:var(--accent);background:#dd4b1a0a;box-shadow:0 0 0 3px #dd4b1a14}.ob-tile.on .ob-tile-tag,.ob-tone-tile.on .ob-tone-tag{color:var(--accent)}.ob-tile-check{background:var(--accent);color:#fff;opacity:0;border-radius:50%;place-items:center;width:18px;height:18px;transition:opacity .15s,transform .2s cubic-bezier(.2,.7,.2,1);display:grid;position:absolute;top:14px;right:14px;transform:scale(.6)}.ob-tile.on .ob-tile-check{opacity:1;transform:scale(1)}.ob-field{flex-direction:column;gap:8px;display:flex}.ob-input-display{border:0;border-bottom:1px solid var(--rule);width:100%;color:var(--ink);letter-spacing:-.022em;background:0 0;outline:none;padding:8px 0 16px;font-size:clamp(24px,3vw,36px);font-weight:500;line-height:1.1;transition:border-color .15s}.ob-input-display:focus,.ob-input-display:focus-visible{border-bottom-color:var(--accent);outline:none}.ob-input-display::placeholder{color:var(--ink-5)}.ob-suggestions,.ob-chips,.ob-thread-suggestions{flex-wrap:wrap;gap:6px;display:flex}.ob-suggestions{margin-top:8px}.ob-suggestion,.ob-chip{border:1px solid var(--rule);background:var(--paper);color:var(--ink-2);letter-spacing:-.005em;border-radius:999px;align-items:center;gap:6px;display:inline-flex}.ob-suggestion{background:var(--bg-elev);padding:5px 12px;font-size:12px}.ob-suggestion:hover{border-color:var(--ink-5);background:#f0eeea}.ob-suggestion-glyph{color:var(--ink-4);font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:11px}.ob-chip{padding:8px 14px;font-size:13px;transition:background .15s,border-color .15s,color .15s}.ob-chip:hover{background:var(--bg-elev)}.ob-chip.on{border-color:var(--ink);background:var(--ink);color:#fff}.ob-chip .check{display:none}.ob-chip.on .check{display:inline-flex}.ob-focus-list,.ob-links,.ob-toggle-list{flex-direction:column;gap:8px;display:flex}.ob-focus-row{border:1px solid var(--rule);background:var(--paper);border-radius:10px;align-items:center;gap:12px;padding:0 6px 0 14px;display:flex}.ob-focus-row:focus-within,.ob-link-row:focus-within{border-color:var(--ink-4)}.ob-focus-row .marker{background:var(--ink-5);border-radius:50%;flex-shrink:0;width:6px;height:6px}.ob-focus-row.filled .marker{background:var(--accent)}.ob-focus-row input,.ob-link-row input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none}.ob-focus-row input{flex:1;padding:12px 0;font-size:14px}.ob-focus-row input::-moz-placeholder{color:var(--ink-4)}.ob-link-row input::-moz-placeholder{color:var(--ink-4)}.ob-focus-row input::placeholder,.ob-link-row input::placeholder{color:var(--ink-4)}.ob-focus-remove,.ob-focus-add{color:var(--ink-4);border-radius:6px}.ob-focus-remove{margin-right:4px;padding:4px 8px}.ob-focus-remove:hover,.ob-focus-add:hover{background:var(--bg-elev);color:var(--ink)}.ob-focus-add{font-family:var(--font-geist-mono), ui-monospace, monospace;align-self:flex-start;align-items:center;gap:6px;padding:6px 10px;font-size:11.5px;display:inline-flex}.ob-tone-grid{grid-template-columns:repeat(3,1fr)}.ob-tone-tile{text-align:left;padding:18px}.ob-tone-name{margin-bottom:12px}.ob-tone-sample{border-left:2px solid var(--rule-2);padding-left:10px;font-style:italic}.ob-toggle-list{border:1px solid var(--rule);background:var(--paper);border-radius:14px;gap:0;overflow:hidden}.ob-toggle-row{border-top:1px solid var(--rule-2);text-align:left;align-items:center;gap:16px;padding:14px 18px;display:flex}.ob-toggle-row:first-child{border-top:0}.ob-toggle-row:hover{background:#fcfbfa}.ob-toggle-meta{flex:1;min-width:0}.ob-toggle-title{color:var(--ink);margin-bottom:2px;font-size:14px;font-weight:500}.ob-toggle-switch{background:var(--ink-5);border-radius:999px;flex-shrink:0;width:36px;height:22px;transition:background .2s;position:relative}.ob-toggle-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .25s cubic-bezier(.2,.7,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000002e}.ob-toggle-row.on .ob-toggle-switch{background:var(--accent)}.ob-toggle-row.on .ob-toggle-switch:after{transform:translate(14px)}.ob-link-row{border:1px solid var(--rule);background:var(--paper);border-radius:12px;grid-template-columns:140px 1fr;align-items:center;gap:12px;padding:4px 4px 4px 14px;display:grid}.ob-link-row-label{text-transform:none;align-items:center;gap:8px;display:flex}.ob-link-row input{padding:12px 14px 12px 0;font-size:14px}.ob-connect-step{gap:28px;max-width:880px}.ob-connect-step .ob-headline{max-width:18ch;font-size:clamp(34px,4vw,50px);font-weight:500;line-height:1.04}.ob-connect-step .ob-sub{max-width:55ch;font-size:16px;line-height:1.55}.ob-source-plan{width:min(100%,760px);color:var(--ink-3);background:#8d5d3512;border:1px solid #8d5d3533;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;font-size:14px;line-height:1.4;display:flex}.ob-source-plan-kicker{color:var(--ink);flex-shrink:0;font-weight:650}.ob-connect-step .ob-actions .btn{height:44px;padding:0 22px;font-size:14px}.ob-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ob-tool{border-radius:14px;flex-direction:column;gap:14px;min-height:154px;padding:22px 24px;transition:border-color .15s,box-shadow .2s,transform .16s,background .15s;display:flex;position:relative}.ob-tool:hover{border-color:var(--ink-5);box-shadow:0 12px 34px color-mix(in oklab, var(--rs-ink) 6%, transparent);transform:translateY(-1px)}.ob-tool.connected{border-color:color-mix(in oklab, var(--rs-ready) 42%, transparent);background:linear-gradient(180deg, color-mix(in oklab, var(--rs-ready) 11%, transparent), transparent);box-shadow:0 18px 48px color-mix(in oklab, var(--rs-ready) 12%, transparent)}.ob-tool.connected:before{background:var(--good);width:10px;height:10px;box-shadow:0 0 0 5px color-mix(in oklab, var(--rs-ready) 10%, transparent);content:"";border-radius:999px;position:absolute;top:16px;right:16px}.ob-tool-head{align-items:center;gap:14px;display:flex}.ob-tool-icon{border:1px solid var(--rule);background:var(--bg-elev);border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.ob-tool-icon svg{display:block}.ob-tool-status{color:var(--ink-4);letter-spacing:.08em;margin-left:auto;font-size:12px}.ob .ob-tool-action{background:var(--ink);color:#fff;border-radius:8px;justify-content:center;align-self:flex-start;align-items:center;height:38px;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.ob .ob-tool-action.connected{border:1px solid color-mix(in oklab, var(--rs-ready) 25%, transparent);background:color-mix(in oklab, var(--rs-ready) 8%, transparent);color:var(--good)}.ob-generate{text-align:center;align-items:center;gap:32px;position:relative}.ob-generate-halo{opacity:0;transition:opacity 1.2s;inset:-120px -80px}.ob-generate-halo.in{opacity:1}.ob-generate-title{letter-spacing:-.024em;text-wrap:balance;margin:0;font-size:clamp(28px,3.6vw,42px);font-weight:500;line-height:1.05}.ob-generate-status{border:1px solid var(--rule);background:var(--paper);text-align:left;width:100%;max-width:580px;min-height:360px;font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:-.005em;border-radius:14px;flex-direction:column;gap:4px;padding:18px 20px;font-size:12.5px;line-height:1.85;display:flex}.ob-status-line{color:var(--ink-3);opacity:0;align-items:center;gap:10px;animation:.35s ease-out forwards ob-status-in;display:flex;transform:translateY(4px)}.ob-status-line .ind{width:16px;color:var(--ink-4);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ob-status-line.active,.ob-status-line.done{color:var(--ink)}.ob-status-line.active .ind{color:var(--accent)}.ob-status-line.done .ind{color:var(--good)}.ob-status-line .key{color:var(--ink-3)}.ob-status-line .val{color:var(--ink-4);margin-left:6px}.ob-status-spinner{border:1.5px solid var(--ink-5);border-top-color:var(--accent);border-radius:50%;width:10px;height:10px;animation:.9s linear infinite ob-spin}.ob-error{border:1px solid color-mix(in oklab, var(--rs-needs) 20%, transparent);background:color-mix(in oklab, var(--rs-needs) 8%, transparent);color:var(--bad);font-family:var(--rs-font-sans);border-radius:10px;padding:10px 12px;line-height:1.4}.ob-generate-done{opacity:0;flex-direction:column;align-items:center;gap:14px;transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1);display:flex;transform:translateY(8px)}.ob-generate-done.in{opacity:1;transform:translateY(0)}@keyframes ob-spin{to{transform:rotate(360deg)}}@keyframes ob-status-in{to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.ob-stage{padding:88px 20px 120px}.ob-tiles,.ob-tiles-3,.ob-tone-grid,.ob-tools,.ob-trial-points{grid-template-columns:1fr}.ob-stage:has(.ob-connect-step){padding-top:88px}.ob-connect-step .ob-headline{font-size:40px}.ob-connect-step .ob-sub{font-size:16px}.ob-source-plan{flex-direction:column;align-items:flex-start;gap:6px}.ob-link-row{grid-template-columns:100px 1fr}.ob-topbar{grid-template-columns:auto auto auto;padding:14px 18px}}@media (prefers-reduced-motion:reduce){.ob-step,.ob-status-line,.ob-status-spinner,.dot-good,.ob-generate-halo,.ob-auth-halo{transition:none!important;animation:none!important}}
