.ob{display:flex;min-height:100vh;background:var(--bg-page)}.ob-rail{width:360px;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-10) var(--space-8);background:linear-gradient(180deg,var(--jp-wash) 0%,var(--paper-50) 100%);border-right:1px solid var(--border-hairline)}.ob-rail-top{display:flex;flex-direction:column;gap:var(--space-5)}.ob-rail .jp-logo{display:flex;align-items:center;gap:var(--space-3);cursor:default;background:none;border:none;padding:0;color:inherit;font-family:inherit}.ob-rail .jp-logo svg{display:block}.ob-rail .jp-logo-text{font-family:var(--font-display);font-size:26px;color:var(--ink-900);line-height:1;letter-spacing:var(--ls-tight)}.ob-rail .jp-logo-text em{font-style:italic;color:var(--jp-accent)}.ob-rail-title{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:var(--fw-regular);color:var(--fg-primary);margin:0;line-height:var(--lh-snug)}.ob-rail-sub{font-size:var(--fs-body-sm);color:var(--fg-secondary);margin:0;line-height:var(--lh-relaxed)}.ob-steps{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.ob-steps li{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--fg-tertiary);padding:6px var(--space-2);border-radius:var(--radius-md);transition:color var(--dur-fast) var(--ease-out)}.ob-steps li[data-state=active]{color:var(--fg-primary);background:var(--paper-100)}.ob-steps li[data-state=done]{color:var(--success)}.ob-step-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-caption);font-weight:var(--fw-semi);flex-shrink:0;border:1.5px solid var(--border-hairline);color:var(--fg-tertiary);background:var(--bg-surface)}.ob-steps li[data-state=active] .ob-step-dot{border-color:var(--jp-accent);color:var(--jp-on);background:var(--jp-accent)}.ob-steps li[data-state=done] .ob-step-dot{border-color:var(--success);color:var(--success);background:none}.ob-trust{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--fg-tertiary);padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-md)}.ob-trust svg{color:var(--success);flex-shrink:0}.ob-main{flex:1;display:flex;flex-direction:column;min-width:0}.ob-mini{display:none}.ob-skip{align-self:flex-end;padding:6px var(--space-3);margin:var(--space-4) var(--space-8) 0;font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--fg-tertiary);background:none;border:none;cursor:pointer;font-family:inherit;transition:color var(--dur-fast) var(--ease-out)}.ob-skip:hover{color:var(--fg-primary)}.ob-body{flex:1;padding:var(--space-6) var(--space-12) var(--space-8);overflow-y:auto}.ob-step{max-width:600px}.ob-step h1{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:var(--fw-regular);margin:0 0 var(--space-1);color:var(--fg-primary)}.ob-lede{font-size:var(--fs-body);color:var(--fg-secondary);margin:0 0 var(--space-8);line-height:var(--lh-relaxed)}.ob-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.ob-label{font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--fg-primary)}.ob-hint{font-size:var(--fs-caption);color:var(--fg-tertiary);margin-left:var(--space-2);font-weight:var(--fw-regular)}.ob-input{padding:10px var(--space-4);border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-surface);font-family:inherit;font-size:var(--fs-body);color:var(--fg-primary);outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);width:100%}.ob-input::placeholder{color:var(--fg-tertiary)}.ob-input:focus{border-color:var(--jp-accent);box-shadow:0 0 0 3px var(--jp-soft)}.ob-input[type=date]{-webkit-appearance:none;appearance:none}.ob-textarea{resize:vertical;min-height:100px}.ob-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B6157' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.ob-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.ob-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ob-chip{padding:7px var(--space-4);border:1px solid var(--border-hairline);border-radius:var(--radius-pill);background:var(--bg-surface);font-family:inherit;font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--fg-secondary);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.ob-chip:hover{border-color:var(--jp-accent);color:var(--fg-primary)}.ob-chip[data-on=true]{border-color:var(--jp-accent);background:var(--jp-accent);color:var(--jp-on)}.ob-footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:var(--space-4) var(--space-8);border-top:1px solid var(--border-hairline);background:var(--bg-surface)}.ob-progress{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--fg-tertiary)}.ob-footer-btns{display:flex;align-items:center;gap:var(--space-3)}.ob-success{text-align:center}.ob-success-mark{width:72px;height:72px;border-radius:50%;background:var(--jp-soft);color:var(--success);display:flex;align-items:center;justify-content:center;margin:var(--space-8) auto var(--space-6)}.ob-success-card{display:flex;align-items:center;gap:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-6);text-align:left}.ob-success-name{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-regular);color:var(--fg-primary);margin-bottom:var(--space-1)}.ob-success-tags{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.ob-auth{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8);background:var(--bg-page)}.ob-auth-card{width:100%;max-width:420px;background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-2xl);padding:var(--space-10);box-shadow:var(--shadow-md);text-align:center}.ob-auth-phone{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-4);border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-surface);transition:border-color var(--dur-fast) var(--ease-out)}.ob-auth-phone:focus-within{border-color:var(--jp-accent);box-shadow:0 0 0 3px var(--jp-soft)}.ob-auth-cc{font-size:var(--fs-body);font-weight:var(--fw-semi);color:var(--fg-primary);flex-shrink:0;padding-right:var(--space-3);border-right:1px solid var(--border-hairline)}.ob-auth-phone input{flex:1;border:none;outline:none;background:none;font-family:inherit;font-size:var(--fs-body);color:var(--fg-primary);letter-spacing:.08em}.ob-auth-phone input::placeholder{color:var(--fg-tertiary);letter-spacing:0}.ob-otp-boxes{display:flex;gap:var(--space-2);justify-content:center}.ob-otp-box{width:44px;height:52px;border:1px solid var(--border-hairline);border-radius:var(--radius-md);text-align:center;font-size:var(--fs-h2);font-weight:var(--fw-semi);color:var(--fg-primary);font-family:var(--font-mono);background:var(--bg-surface);outline:none;transition:border-color var(--dur-fast) var(--ease-out)}.ob-otp-box[data-active=true]{border-color:var(--jp-accent);box-shadow:0 0 0 3px var(--jp-soft)}.ob-auth-back{display:flex;align-items:center;gap:var(--space-1);padding:6px var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--fg-secondary);background:none;border:none;cursor:pointer;font-family:inherit;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.ob-auth-back:hover{color:var(--fg-primary);background:var(--paper-100)}.ob-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px var(--space-6);border-radius:var(--radius-pill);background:var(--jp-accent);color:var(--jp-on);font-family:inherit;font-size:var(--fs-body-sm);font-weight:var(--fw-semi);border:none;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.ob-btn-primary:hover:not(:disabled){opacity:.92}.ob-btn-primary:disabled{opacity:.45;cursor:not-allowed}.ob-btn-primary svg{flex-shrink:0}.ob-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px var(--space-5);border-radius:var(--radius-pill);background:var(--paper-100);color:var(--fg-secondary);font-family:inherit;font-size:var(--fs-body-sm);font-weight:var(--fw-medium);border:none;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ob-btn-ghost:hover{background:var(--paper-200);color:var(--fg-primary)}.ob-loading{display:flex;align-items:center;justify-content:center;min-height:60vh;font-size:var(--fs-body);color:var(--fg-tertiary)}@media(max-width:840px){.ob{flex-direction:column;min-height:0;height:100vh;height:100dvh;overflow:hidden}.ob-rail{display:none}.ob-main{flex:1;min-height:0;overflow:hidden}.ob-mini{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-hairline);background:var(--bg-surface)}.ob-mini .jp-logo{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;padding:0;cursor:default}.ob-mini .jp-logo-text{font-family:var(--font-display);font-size:20px;color:var(--ink-900);line-height:1;letter-spacing:var(--ls-tight)}.ob-mini .jp-logo-text em{font-style:italic;color:var(--jp-accent)}.ob-mini-prog{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--fg-tertiary)}.ob-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-5)}.ob-footer{position:sticky;bottom:0;z-index:2;padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom))}.ob-skip{margin:var(--space-2) var(--space-4) 0}.ob-step{max-width:none}.ob-row{grid-template-columns:1fr;gap:0}.ob-row .ob-field{margin-bottom:var(--space-5)}.ob-auth-card{max-width:100%;padding:var(--space-6);border-radius:var(--radius-xl)}.ob-success-card{flex-direction:column;text-align:center}}
