.onboarding{--ob-ground:hsl(var(--background));--ob-surface:hsl(var(--card));--ob-ink:hsl(var(--foreground));--ob-muted:hsl(var(--muted-foreground));--ob-line:hsl(var(--border));background:var(--ob-ground);min-height:100svh;color:var(--ob-ink);padding-bottom:156px}.onboarding :is(button,a,select,input,[role=option]):focus-visible{outline:2px solid hsl(var(--ring));outline-offset:4px}.onboarding h1:focus{outline:none}.onboarding button,.onboarding a,.onboarding select{-webkit-tap-highlight-color:transparent}.ob-header{justify-content:space-between;align-items:center;gap:16px;max-width:768px;height:96px;margin:auto;padding:0 28px;display:flex}.ob-tour-actions{align-items:center;gap:22px;display:flex}.ob-skip{min-height:44px;color:var(--ob-muted);text-underline-offset:4px;font-size:13px}.ob-skip:hover{color:var(--ob-ink);text-decoration:underline}.ob-counter{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:600}.ob-counter span{color:var(--ob-muted);margin-left:4px}.ob-progress{background:var(--ob-line);max-width:712px;height:2px;margin:auto}.ob-progress>div{background:hsl(var(--primary));height:100%}.ob-main{max-width:632px;margin:0 auto;padding:24px 28px 48px}.ob-back-row{height:48px;margin-bottom:20px}.ob-back{min-height:44px;color:var(--ob-muted);align-items:center;gap:8px;padding-right:12px;font-size:13px;display:inline-flex}.ob-back:hover{color:var(--ob-ink)}.ob-heading{margin-bottom:36px}.ob-heading h1{letter-spacing:-.035em;text-wrap:balance;max-width:18ch;font-size:clamp(30px,4.5vw,42px);font-weight:650;line-height:1.13}.ob-heading>p{color:var(--ob-muted);max-width:48ch;margin-top:16px;font-size:15px;line-height:1.65}.ob-contract{border:1px solid var(--ob-line);border-top:4px solid hsl(var(--fuse));background:var(--ob-surface);padding-inline:16px}.ob-contract div{grid-template-columns:minmax(6.5rem,1fr) minmax(0,2fr);gap:.5rem;padding-block:14px;font-size:14px;display:grid}.ob-contract div+div{border-top:1px solid var(--ob-line)}.ob-contract dt{color:var(--ob-muted)}.ob-contract dd{font-weight:600}.ob-goal-card,.ob-event-card,.ob-appeal-card{border:1px solid var(--ob-line);background:var(--ob-surface);border-radius:16px;padding:26px}.ob-goal-card{margin-top:48px}.ob-goal-label{color:var(--ob-muted);align-items:center;gap:9px;font-size:13px;display:flex}.ob-typed{letter-spacing:-.025em;overflow-wrap:anywhere;min-height:112px;padding:28px 0;font-size:clamp(23px,4vw,30px);font-weight:500;line-height:1.5;display:block}.ob-cursor{color:hsl(var(--primary));font-weight:300;animation:1s steps(2,start) infinite ob-blink}.ob-paused{animation:none}@keyframes ob-blink{to{visibility:hidden}}.ob-goal-foot{border-top:1px solid var(--ob-line);color:var(--ob-muted);justify-content:space-between;align-items:center;gap:16px;padding-top:14px;font-size:12px;display:flex}.ob-icon-button{border-radius:8px;flex-shrink:0;place-items:center;min-width:44px;min-height:44px;display:grid}.ob-icon-button:hover{background:var(--ob-ground)}.ob-caption{color:var(--ob-muted);text-align:center;justify-content:center;align-items:baseline;gap:7px;margin-top:24px;font-size:12px;line-height:1.7;display:flex}.ob-caption svg{flex-shrink:0;align-self:center}.ob-methods{border-block:1px solid var(--ob-line)}.ob-method+.ob-method{border-top:1px solid var(--ob-line)}.ob-method button{text-align:left;border-radius:8px;align-items:center;gap:18px;width:100%;min-height:78px;padding:17px 8px;display:flex}.ob-method button:hover{background:var(--ob-surface)}.ob-method button>svg{flex-shrink:0}.ob-method button>svg:last-child{color:var(--ob-muted);margin-left:auto;transition:transform .2s}.ob-chevron-open{transform:rotate(180deg)}.ob-method strong{font-size:14px;font-weight:600;display:block}.ob-method button span span{color:var(--ob-muted);margin-top:4px;font-size:12px;line-height:1.5;display:block}.ob-method>p{color:var(--ob-muted);padding:0 30px 18px 47px;font-size:13px;line-height:1.65}.ob-event-card{margin-top:48px}.ob-event-time{letter-spacing:.04em;color:var(--ob-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:20px;font-size:10px;font-weight:600;display:flex}.ob-event-time span:last-child{letter-spacing:0;font-weight:400}.ob-missed{color:#b91c1c;background:#fef2f2;border-radius:10px;align-items:center;gap:12px;padding:16px;display:flex}.ob-missed svg{flex-shrink:0}.ob-missed strong,.ob-missed span span{font-size:13px;line-height:1.5;display:block}.ob-missed strong{font-weight:600}.ob-missed span span{margin-top:3px;font-size:12px}.dark .ob-missed{color:#fca5a5;background:#3b171b}.ob-chat{background:hsl(var(--accent));color:hsl(var(--accent-foreground));border-radius:12px 12px 3px;width:82%;margin:24px 0 24px auto;padding:16px}.ob-chat p{font-size:13px;line-height:1.65}.ob-attachment{-o-object-fit:cover;object-fit:cover;border-radius:8px;width:100%;max-width:240px;height:126px;margin-top:12px}.ob-chat>span{opacity:.8;margin-top:8px;font-size:10px;display:block}.ob-approved{color:#065f46;background:#ecfdf5;border-radius:3px 12px 12px;align-items:flex-start;gap:9px;max-width:92%;padding:14px;display:flex}.ob-approved svg{flex-shrink:0}.ob-approved strong{font-size:12px;font-weight:650;display:block}.ob-approved span{margin-top:4px;font-size:12px;line-height:1.6;display:block}.dark .ob-approved{color:#a7f3d0;background:#052e26}.ob-habits{gap:8px;display:grid}.ob-habit{border:1px solid var(--ob-line);cursor:pointer;background:var(--ob-surface);border-radius:12px;align-items:center;gap:15px;min-height:62px;padding:16px 19px;transition:background .15s,color .15s,border-color .15s;display:flex}.ob-habit:hover{border-color:var(--ob-muted)}.ob-habit>span:not(.ob-check){font-size:14px;font-weight:500}.ob-habit-selected,.ob-habit-selected:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground));border-color:hsl(var(--primary))}.ob-check{border:1px solid var(--ob-line);border-radius:50%;flex-shrink:0;place-items:center;width:21px;height:21px;margin-left:auto;display:grid}.ob-habit-selected .ob-check{border-color:hsl(var(--primary))}.ob-projection{border-top:1px solid var(--ob-line);padding:25px 0}.ob-projection:last-child{border-bottom:1px solid var(--ob-line)}.ob-projection-title{align-items:center;gap:10px;display:flex}.ob-projection-title h2{font-size:15px;font-weight:600}.ob-fraction{font-variant-numeric:tabular-nums;color:var(--ob-muted);margin-left:auto;font-size:13px}.ob-fraction strong{color:var(--ob-ink);margin-right:2px;font-size:20px;font-weight:600}.ob-projection-meta{flex-wrap:wrap;align-items:center;gap:9px;margin-top:10px;display:flex}.ob-projection-meta label{color:var(--ob-muted);font-size:12px}.ob-projection-meta select{color:var(--ob-ink);border:1px solid hsl(var(--input));background:0 0;border-radius:6px;max-width:100%;min-height:44px;padding-inline:8px;font-size:13px}.ob-projection-meta option{background:var(--ob-surface);color:var(--ob-ink)}.ob-slip-badge,.ob-no-slips{color:#b91c1c;background:#fef2f2;border-radius:4px;padding:3px 7px;font-size:10px;line-height:1.5}.dark .ob-slip-badge{color:#fca5a5;background:#3b171b}.ob-no-slips{color:#065f46;background:#ecfdf5}.ob-segments{grid-template-columns:repeat(30,minmax(0,1fr));gap:2px;margin-top:15px;display:grid}.ob-segment{border-radius:3px;height:32px}.ob-segment-success{background:#10b981}.ob-segment-slip{background:#ef4444}.ob-segment-rest{background:var(--ob-line)}.ob-slip-control{color:var(--ob-muted);align-items:center;gap:12px;margin-top:10px;font-size:11px;display:flex}.ob-slip-control input{width:110px;min-height:44px}.ob-slip-control output{font-variant-numeric:tabular-nums}.ob-legend{color:var(--ob-muted);flex-wrap:wrap;justify-content:center;gap:18px;margin-top:22px;font-size:10px;display:flex}.ob-legend span{align-items:center;gap:5px;display:flex}.ob-legend i{border-radius:2px;width:7px;height:7px}.ob-footer{z-index:10;background:var(--ob-ground);border-top:1px solid var(--ob-line);width:100%;padding:15px 28px max(16px, env(safe-area-inset-bottom));position:fixed;bottom:0;left:0}.ob-footer>div{max-width:576px;margin:auto}.ob-footer p{text-align:center;color:var(--ob-muted);margin-bottom:10px;font-size:11px;line-height:1.5}.ob-next{background:hsl(var(--primary));width:100%;min-height:54px;color:hsl(var(--primary-foreground));border-radius:12px;justify-content:center;align-items:center;gap:12px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.ob-next:hover:not(:disabled){background:hsl(var(--primary) / .9)}.ob-next:active:not(:disabled){background:hsl(var(--primary) / .8)}.ob-next:disabled{opacity:.4;cursor:not-allowed}.ob-key-hint{text-align:center;color:var(--ob-muted);margin-top:9px;font-size:10px;display:block}@media (max-width:480px){.ob-header{height:76px;padding-inline:22px}.ob-tour-actions{gap:14px}.ob-main{padding:16px 22px 32px}.ob-back-row{margin-bottom:14px}.ob-heading{margin-bottom:28px}.ob-goal-card,.ob-event-card,.ob-appeal-card{padding:18px}.ob-footer{padding-inline:22px}.ob-chat{width:88%}.ob-slip-control input{flex:1;min-width:0;max-width:120px}}@media (prefers-reduced-motion:reduce){.onboarding *,.onboarding :before,.onboarding :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
