[hidden] { display: none !important; }
.onboarding-overlay { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; overflow-y: auto; padding: 1.25rem; background: rgba(7,27,51,.72); backdrop-filter: blur(8px); }
.onboarding-card { width: min(780px,100%); border: 1px solid #b8c7d9; border-radius: 22px; background: #fff; padding: clamp(1.25rem,4vw,2.2rem); box-shadow: 0 28px 70px rgba(7,27,51,.3); }
.onboarding-heading { margin-bottom: 1.35rem; }
.onboarding-heading h2 { margin-bottom: .55rem; font-family: var(--serif); font-size: clamp(2rem,5vw,3rem); }
.onboarding-heading>p:last-child { margin: 0; color: var(--muted); line-height: 1.55; }
.profile-heading { margin-bottom: 1.5rem; }
.profile-heading h3 { margin-bottom: .4rem; font-family: var(--serif); font-size: 1.8rem; }
.profile-form { display: grid; gap: 1.25rem; }
.profile-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.profile-form label { display: grid; gap: .45rem; color: var(--navy); font-size: .82rem; font-weight: 800; }
.profile-form input,.profile-form select { width: 100%; border: 1px solid var(--line); border-radius: 12px; outline: none; background: #fff; color: var(--navy); padding: .82rem .9rem; }
.profile-form input:focus,.profile-form select:focus { border-color: #0063f7; box-shadow: 0 0 0 4px rgba(0,99,247,.13); }
.profile-form input:disabled { background: #f4f5f7; color: #52657a; cursor: not-allowed; }
.optional { color: var(--muted); font-size: .72rem; font-weight: 600; }
.schedule-guidance { display: grid; gap: .3rem; border-left: 4px solid #0063f7; background: #f4f5f7; padding: .9rem 1rem; color: #334155; }
.schedule-guidance strong { color: #071b33; }
.schedule-guidance span { font-size: .82rem; line-height: 1.5; }
.licensed-states { display: grid; gap: .25rem; border: 1px solid var(--line); border-radius: 12px; padding: .9rem 1rem; }
.licensed-states span,.licensed-states small { color: var(--muted); }
.licensed-states span { font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.licensed-states small { line-height: 1.45; }
.profile-form>.primary { justify-self: start; }
.diagnostic-launch { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; margin: 1.6rem 0 .8rem; border: 2px solid #0063f7; border-radius: 16px; background: #fff; padding: 1.2rem; text-align: left; box-shadow: 0 8px 28px rgba(0,99,247,.09); }
.diagnostic-launch strong,.diagnostic-launch span { display: block; }
.diagnostic-launch strong { margin-bottom: .3rem; color: #071b33; font-family: var(--serif); font-size: 1.2rem; }
.diagnostic-launch span { color: #5d6875; font-size: .82rem; line-height: 1.45; }
.diagnostic-launch+.simulation-launch { margin-top: .8rem; border-width: 1px; border-color: #b8c7d9; }
.workspace, .chat-card, .chat-log, .bubble { min-width: 0; }
.chat-card, .chat-log { overflow-x: hidden; }
.bubble.streaming::after { display: inline-block; width: .42rem; height: 1em; margin-left: .2rem; background: var(--terracotta); vertical-align: -.12em; content: ""; animation: stream-cursor .8s steps(2, jump-none) infinite; }
@keyframes stream-cursor { 50% { opacity: 0; } }
@media (max-width: 760px) { .onboarding-overlay { place-items: start center; padding: .65rem; } .onboarding-card { border-radius: 16px; padding: 1.15rem; } .profile-form-grid { grid-template-columns: 1fr; gap: .8rem; } .profile-form>.primary { width: 100%; } .diagnostic-launch { grid-template-columns: 1fr; } .diagnostic-launch .primary { width: 100%; } }
