/* hysocial-onboard-v11.css — hySocial Onboard v1.1 Design System */
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg,#070a12);color:var(--text,#e8ecf5);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:13px;min-height:100vh;min-height:100dvh}
.shell{max-width:880px;margin:0 auto;padding:calc(54px + var(--safe-top,env(safe-area-inset-top,0px))) calc(16px + var(--safe-right,env(safe-area-inset-right,0px))) calc(48px + var(--safe-bottom,env(safe-area-inset-bottom,0px))) calc(16px + var(--safe-left,env(safe-area-inset-left,0px)))}
iconify-icon{vertical-align:-2px}
.top-bar{display:flex;align-items:center;gap:12px;padding:10px 0 16px;border-bottom:1px solid var(--border,rgba(255,255,255,.1));margin-bottom:18px}
.tb-icon{font-size:26px;color:var(--accent)}
.tb-title{font-size:16px;font-weight:800;letter-spacing:.04em;color:var(--text)}
.tb-sub{font-size:10px;color:var(--muted);margin-top:2px}
.tb-right{margin-left:auto;display:flex;gap:6px}
.prog-bar{display:flex;gap:4px;margin-bottom:22px}
.prog-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;opacity:.4;transition:.2s}
.prog-step.done{opacity:.8}.prog-step.active{opacity:1}
.ps-dot{width:100%;height:4px;border-radius:3px;background:rgba(255,255,255,.1);transition:.3s}
.prog-step.done .ps-dot{background:var(--accent)}
.prog-step.active .ps-dot{background:var(--info);box-shadow:0 0 10px color-mix(in srgb,var(--info) 50%,transparent)}
.ps-label{font-size:8px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.prog-step.active .ps-label{color:var(--info)}
.resume-banner{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),color-mix(in srgb,var(--info) 6%,transparent));border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:14px;padding:14px 16px;margin-bottom:18px;display:none;align-items:center;gap:12px;cursor:pointer;transition:.2s}
.resume-banner:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.resume-banner .rb-icon{font-size:22px;color:var(--accent)}
.rb-title{font-size:12px;font-weight:700;color:var(--accent)}
.rb-sub{font-size:10px;color:var(--muted);margin-top:2px}
.rb-arrow{margin-left:auto;font-size:18px;color:var(--accent)}
.step{display:none}.step.active{display:block}
.card{background:var(--bg-card,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.1));border-radius:14px;padding:18px;margin-bottom:14px}
.card-title{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--info);margin-bottom:12px}
.step-num{font-size:9px;font-weight:800;color:var(--muted);letter-spacing:.1em;margin-bottom:4px}
.step-title{font-size:18px;font-weight:800;letter-spacing:.01em;color:var(--text);margin-bottom:4px}
.step-desc{font-size:11px;color:var(--muted);margin-bottom:16px;line-height:1.6}
.field{margin-bottom:12px}
.field label{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}
.field input,.field textarea,.field select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg,rgba(0,0,0,.25));color:var(--text);font-family:inherit;font-size:13px;outline:none;min-height:44px}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--info);box-shadow:0 0 8px color-mix(in srgb,var(--info) 12%,transparent)}
.field textarea{resize:vertical;min-height:64px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:600px){.field-row{grid-template-columns:1fr}}
.field-hint{font-size:9px;color:var(--muted);margin-top:4px}
.chip-grid{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.chip{padding:9px 13px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:.15s;font-family:inherit;min-height:40px}
.chip:hover{border-color:var(--info);color:var(--text)}
.chip.selected{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.dyn-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.dyn-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.06);font-size:12px}
.dyn-row .dr-text{color:var(--text)}
.dyn-rm{margin-left:auto;background:none;border:none;color:var(--danger);cursor:pointer;font-size:18px;font-family:inherit;line-height:1;min-height:32px;min-width:32px}
.mini-add{display:grid;gap:6px}
.mini-add input{min-height:42px}
.btn-add{display:inline-flex;align-items:center;gap:5px;padding:9px 14px;border-radius:10px;border:1px solid var(--info);color:var(--info);background:color-mix(in srgb,var(--info) 7%,transparent);font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;min-height:42px}
.posture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}
@media(max-width:600px){.posture-grid{grid-template-columns:1fr}}
.posture{padding:14px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;text-align:center;transition:.15s}
.posture .pg-ico{font-size:22px;color:var(--accent)}
.posture .pg-name{font-size:12px;font-weight:800;color:var(--text);margin-top:4px}
.posture .pg-desc{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.4}
.posture.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.nav-btns{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:8px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:10px;border:1px solid;cursor:pointer;font-size:12px;font-weight:800;letter-spacing:.02em;font-family:inherit;background:none;transition:.15s;min-height:44px}
.btn:hover{filter:brightness(1.2)}
.btn-accent{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.btn-cyan{border-color:var(--info);color:var(--info);background:color-mix(in srgb,var(--info) 8%,transparent)}
.btn-dim{border-color:rgba(255,255,255,.14);color:var(--muted)}
.btn-later{border-color:rgba(255,255,255,.08);color:var(--muted);font-size:10px;padding:8px 14px;min-height:38px}
.btn-lg{padding:14px 30px;font-size:14px}
.hero{text-align:center;padding:28px 16px 8px}
.hero-icon{font-size:60px;color:var(--accent)}
.hero-title{font-size:22px;font-weight:900;color:var(--text);letter-spacing:.02em;margin-top:8px}
.hero-sub{font-size:11px;color:var(--muted);margin-top:6px}
.done-screen{text-align:center;padding:34px 18px}
.done-icon{font-size:56px;color:var(--accent)}
.done-title{font-size:20px;font-weight:900;color:var(--text);margin:10px 0 6px}
.done-sub{font-size:12px;color:var(--muted);margin-bottom:22px;line-height:1.7}
#wiz-toast{position:fixed;bottom:calc(84px + var(--safe-bottom,env(safe-area-inset-bottom,0px)));left:50%;transform:translateX(-50%);padding:10px 18px;border-radius:10px;font-size:11px;font-weight:700;z-index:9999;opacity:0;transition:opacity .3s;pointer-events:none}
#wiz-toast.show{opacity:1}
#wiz-toast.ok{background:color-mix(in srgb,var(--accent) 16%,transparent);border:1px solid var(--accent);color:var(--accent)}
#wiz-toast.err{background:color-mix(in srgb,var(--danger) 16%,transparent);border:1px solid var(--danger);color:var(--danger)}
#hyp-fab{position:fixed;bottom:calc(24px + var(--safe-bottom,env(safe-area-inset-bottom,0px)));right:calc(24px + var(--safe-right,env(safe-area-inset-right,0px)));z-index:8000;width:56px;height:56px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 40%,transparent);background:linear-gradient(135deg,var(--bg-deep,rgba(10,8,22,.96)),var(--bg-surface,rgba(20,14,40,.96)));cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px color-mix(in srgb,var(--accent) 30%,transparent);transition:.2s}
#hyp-fab:hover{transform:scale(1.08)}
#hyp-fab img{width:38px;height:38px;border-radius:50%;object-fit:cover}
#hyp-fab .fab-badge{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--info);border:2px solid var(--bg,#070a12);display:none}
#hyp-bubble{position:fixed;bottom:calc(90px + var(--safe-bottom,env(safe-area-inset-bottom,0px)));right:16px;z-index:8001;width:400px;max-width:calc(100vw - 32px);max-height:560px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);background:var(--bg-deep,rgba(8,8,16,.98));box-shadow:0 12px 48px rgba(0,0,0,.6);display:none;flex-direction:column;overflow:hidden}
#hyp-bubble.open{display:flex}
.hb-header{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--accent) 14%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent);flex-shrink:0}
.hb-header img{width:30px;height:30px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 35%,transparent)}
.hb-h-name{font-size:12px;font-weight:800;color:var(--accent)}
.hb-h-status{font-size:9px;color:var(--muted);margin-top:1px}
.hb-h-info{flex:1;min-width:0}
.hb-icon-btn{width:36px;height:36px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:none;color:var(--muted);cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hb-icon-btn:hover{color:var(--text);border-color:rgba(255,255,255,.25)}
.hb-icon-btn.active{border-color:var(--info);color:var(--info);background:color-mix(in srgb,var(--info) 12%,transparent);animation:voice-pulse 1.5s ease infinite}
@keyframes voice-pulse{0%,100%{box-shadow:0 0 6px color-mix(in srgb,var(--info) 20%,transparent)}50%{box-shadow:0 0 18px color-mix(in srgb,var(--info) 40%,transparent)}}
.hb-messages{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-height:0}
.hb-msg{max-width:88%;padding:9px 12px;border-radius:13px;font-size:12px;line-height:1.55;word-wrap:break-word}
.hb-msg.hypatia{align-self:flex-start;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text)}
.hb-msg.user{align-self:flex-end;background:color-mix(in srgb,var(--info) 10%,transparent);border:1px solid color-mix(in srgb,var(--info) 16%,transparent);color:var(--text)}
.hb-msg.system{align-self:center;color:var(--muted);font-size:10px;font-style:italic;max-width:100%}
.hb-captured{margin-top:7px;padding:6px 9px;border-radius:8px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);font-size:10px;color:var(--accent);display:flex;align-items:center;gap:6px}
.hb-advance{margin-top:7px;padding:7px 11px;border-radius:8px;background:color-mix(in srgb,var(--info) 8%,transparent);border:1px solid color-mix(in srgb,var(--info) 20%,transparent);font-size:10px;color:var(--info);cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.hb-advance:hover{background:color-mix(in srgb,var(--info) 16%,transparent)}
.hb-input-row{display:flex;gap:6px;padding:10px 12px;border-top:1px solid color-mix(in srgb,var(--accent) 12%,transparent);background:rgba(0,0,0,.3);flex-shrink:0}
.hb-input-row input{flex:1;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font-family:inherit;font-size:12px;outline:none;min-height:42px}
.hb-input-row input:focus{border-color:var(--accent)}
.hb-send{padding:8px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-family:inherit;font-size:16px;cursor:pointer;min-height:42px;min-width:44px;display:flex;align-items:center;justify-content:center}
.hb-typing{display:flex;gap:3px;padding:4px 0}
.hb-typing span{width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.4;animation:hb-bounce .6s infinite alternate}
.hb-typing span:nth-child(2){animation-delay:.15s}.hb-typing span:nth-child(3){animation-delay:.3s}
@keyframes hb-bounce{to{opacity:1;transform:translateY(-3px)}}
@media(max-width:600px){
  #hyp-bubble{bottom:calc(80px + var(--safe-bottom,env(safe-area-inset-bottom,0px)));right:auto;left:50%;transform:translateX(-50%);width:88%;max-width:88vw;max-height:64vh}
  #hyp-bubble.open{transform:translateX(-50%)}
  #hyp-fab{bottom:calc(16px + var(--safe-bottom,env(safe-area-inset-bottom,0px)));right:calc(16px + var(--safe-right,env(safe-area-inset-right,0px)))}
}
