/* Onboarding — first-run hub + getting-started checklist */
.ob-app{background:var(--paper);min-height:100vh}
.ob-shell{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:32px 20px 48px;background:linear-gradient(165deg,var(--tint) 0%,var(--paper) 42%,var(--surface) 100%)}
.ob-panel{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px 26px 22px;box-shadow:var(--shadow-md)}
.ob-panel.ob-wide{max-width:920px}
.ob-hero.cmail-hero{display:flex;flex-direction:column;gap:9px;background:transparent;border:0;border-radius:0;padding:0 0 18px;box-shadow:none;margin-bottom:4px}
.ob-hero .ch-brand{display:flex;align-items:center;gap:10px}
.ob-hero .ch-brand img{width:26px;height:26px;display:block}
.ob-hero .ch-wm{font-size:22px;font-weight:800;letter-spacing:-.4px;color:var(--ink-900)}
.ob-hero .ch-wm .m{color:var(--mint-600)}
.ob-hero .ch-pill{font-size:10.5px;font-weight:700;letter-spacing:.09em;color:var(--mint-700);border:1px solid var(--mint-200);border-radius:20px;padding:3px 10px;text-transform:uppercase}
.ob-hero .ch-tag{font-size:21px;font-weight:800;color:var(--ink-900);letter-spacing:-.01em;line-height:1.2}
.ob-lead{font-size:14.5px;color:var(--ink-600);line-height:1.55;margin:0 0 18px}
.ob-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:8px}
.ob-path-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:16px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .12s}
.ob-path-card:hover{border-color:var(--mint-300);box-shadow:0 8px 24px -14px rgba(42,136,98,.35);transform:translateY(-1px)}
.ob-path-card strong{font-size:14.5px;color:var(--ink-900)}
.ob-path-card .muted{font-size:12.5px;line-height:1.45}
.ob-path-ico{width:38px;height:38px;border-radius:11px;background:var(--tint);color:var(--mint-600);display:flex;align-items:center;justify-content:center;margin-bottom:2px}
.ob-path-meta{display:flex;gap:10px;font-size:11px;font-weight:700;color:var(--ink-400);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}
.ob-rec{position:absolute;top:10px;right:10px;font-size:10px;font-weight:700;color:var(--mint-700);background:var(--mint-50);border:1px solid var(--mint-200);border-radius:999px;padding:2px 8px}
.ob-actions{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.ob-choices{display:flex;flex-direction:column;gap:8px}
.ob-choice{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);text-align:left;font-size:14px;cursor:pointer;transition:border-color .12s,background .12s}
.ob-choice.on{border-color:var(--mint-400);background:var(--mint-50);font-weight:600}
.ob-path-body{margin-bottom:8px}
.ob-inline-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ob-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 16px}
.ob-stat{text-align:center;padding:14px 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.ob-stat-n{font-size:26px;font-weight:800;color:var(--ink-900);letter-spacing:-.02em}
.ob-stat-l{font-size:11px;font-weight:700;color:var(--ink-400);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}
.ob-checks{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}
.ob-checks li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-700)}
.ob-checks li svg{color:var(--mint-600)}
.ob-suggest{margin-bottom:12px;padding:12px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-2)}
.ob-suggest-h{font-size:12px;font-weight:700;color:var(--ink-500);margin-bottom:8px}
.ob-chip{display:inline-block;margin:0 6px 6px 0;padding:4px 10px;border-radius:999px;font-size:12px;background:var(--tint);color:var(--ink-700)}
.ob-ai-box{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--surface-2);margin-bottom:8px}
.ob-ai-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--ink-800);margin-bottom:12px}
.ob-ai-loading{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-500);margin-bottom:10px}
.ob-ai-text{font-size:14px;line-height:1.65;color:var(--ink-700);white-space:pre-wrap}
.ob-ai-text.streaming::after{content:"▋";animation:ob-blink .8s step-end infinite;margin-left:2px;color:var(--mint-500)}
@keyframes ob-blink{50%{opacity:0}}
.ob-checklist{position:fixed;bottom:20px;right:20px;z-index:900;width:min(320px,calc(100vw - 32px));font-size:13px}
.ob-theme-btn{position:fixed;top:16px;right:16px;z-index:910;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink-700);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}
.ob-app.theme-alt{background:var(--side-gray)}
.ob-app.theme-alt .ob-shell{background:linear-gradient(165deg,#0f1a14 0%,var(--side-gray) 55%,#1a221d 100%)}
.ob-app.theme-alt .ob-panel{background:#1e2822;border-color:rgba(255,255,255,.1);box-shadow:0 16px 40px -20px rgba(0,0,0,.55)}
.ob-app.theme-alt .ob-path-card{background:rgba(255,255,255,.04)}
.ob-app.theme-alt .ob-choice{background:rgba(255,255,255,.04)}
.ob-app.theme-alt .ob-stat{background:rgba(255,255,255,.04)}
.ob-app.theme-alt .ob-theme-btn{background:#1e2822;border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.85)}
.ob-cl-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-md);cursor:pointer;font-weight:700;color:var(--ink-800)}
.ob-cl-pct{margin-left:auto;font-size:12px;color:var(--mint-700);background:var(--mint-50);padding:2px 8px;border-radius:999px}
.ob-cl-body{margin-top:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-md);overflow:hidden}
.ob-cl-bar{height:4px;background:var(--line)}
.ob-cl-bar div{height:100%;background:linear-gradient(90deg,var(--mint-400),var(--mint-600));transition:width .35s ease}
.ob-cl-body ul{list-style:none;margin:0;padding:8px 0}
.ob-cl-body li button{width:100%;display:flex;align-items:center;gap:8px;padding:10px 14px;border:0;background:transparent;text-align:left;cursor:pointer;font-size:13px;color:var(--ink-700)}
.ob-cl-body li:not(.done) button:hover{background:var(--surface-2)}
.ob-cl-body li.done button{color:var(--ink-400);cursor:default;text-decoration:line-through}
.ob-cl-dismiss{width:100%;padding:10px;border:0;border-top:1px solid var(--line);background:var(--surface-2);font-size:12px;color:var(--ink-500);cursor:pointer}
@media(max-width:680px){
  .ob-path-grid{grid-template-columns:1fr}
  .ob-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ob-checklist{bottom:12px;right:12px;left:12px;width:auto}
}
