/* First-use flow: shared brand, no diagnostic questionnaire. */
.onboarding-setup,.onboarding-guide{color:#203a8c;max-width:440px;margin:auto}
.onboarding-setup h1,.onboarding-guide h1{font-size:24px;line-height:1.5;margin:12px 0 28px;font-weight:800}
.onboarding-setup label{display:block;font-weight:700;font-size:15px}
.onboarding-setup input{width:100%;box-sizing:border-box;padding:14px;margin-top:8px;border:1px solid #cbd3e9;border-radius:14px;font-size:16px;color:#203a8c;background:#fff}
.onboarding-setup h2{font-size:18px;margin:26px 0 14px}
.onboarding-avatars{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.onboarding-avatars button{position:relative;min-width:0;padding:12px 8px;border:2px solid #e0e5f3;border-radius:18px;background:#f8f9fd;color:#203a8c}
.onboarding-avatars button[aria-pressed=true]{border-color:#ff6b6b;background:#fff}
.onboarding-avatars button:disabled{opacity:.45}
.onboarding-avatars .identity-art{height:224px;width:100%;margin:0;display:flex;align-items:center;justify-content:center}
.onboarding-avatars .identity-art img,.onboarding-avatars .identity-art svg{height:100%;width:100%;object-fit:contain;max-height:224px}
.onboarding-avatars button>span{display:block;font-weight:700;margin-top:10px}
.onboarding-avatars i{display:none;position:absolute;right:8px;top:8px;background:#ff6b6b;color:white;border-radius:50%;width:26px;height:26px;line-height:26px;font-style:normal}
.onboarding-avatars [aria-pressed=true] i{display:block}
.onboarding-setup .identity-note{font-size:12px;line-height:1.7;margin:18px 0;color:#627397}
.onboarding-setup [role=status]{color:#a52b3d;font-size:14px}
.onboarding-setup .primary,.onboarding-guide .primary{background:#ff6b6b;color:#fff;border:0;border-radius:16px;min-height:56px;font-size:17px;font-weight:800;margin-top:16px}
.onboarding-guide{text-align:center}
.onboarding-guide h1{font-size:21px}
.onboarding-speech{position:relative;text-align:left;border:1px solid #e0e5f3;background:#fff;border-radius:24px;padding:20px 20px;font-size:16px;font-weight:800;line-height:1.7;box-shadow:0 4px 18px #203a8c0d}
.onboarding-speech:after{content:'';position:absolute;bottom:-9px;left:30%;width:16px;height:16px;background:white;border-right:1px solid #e0e5f3;border-bottom:1px solid #e0e5f3;transform:rotate(45deg)}
.onboarding-avatar{margin:18px 0 0;background:linear-gradient(165deg,transparent 65%,#eff1fa 65%,#eff1fa 66%,transparent 66%),linear-gradient(15deg,transparent 74%,#eff1fa 74%,#eff1fa 75%,transparent 75%)}
.onboarding-avatar .identity-art{height:270px;margin:0 auto;width:210px}
.onboarding-avatar img,.onboarding-avatar svg{width:100%;height:100%;object-fit:contain}
.onboarding-help{display:flex;gap:14px;align-items:center;justify-content:center;background:#eff1fa;border-radius:16px;padding:12px;margin-top:10px;text-align:left}
.onboarding-help svg{width:28px;height:28px}.onboarding-help p{font-size:14px;line-height:1.6;margin:0}
.screen-welcome main,.screen-intro main{padding:20px!important;background:#fff!important}
.screen-welcome .school-brand-signature,.screen-intro .school-brand-signature{display:none}
.account-panel h1{font-size:48px;font-style:italic;letter-spacing:-2px;margin:30px 0 8px}
.account-panel h1:after{content:'自分を攻略する。';display:block;font-size:15px;letter-spacing:1px;font-style:normal;margin-top:8px}
.account-panel h2{margin-top:36px}.account-panel .primary{background:#ff6b6b;color:white;border:0;border-radius:16px}
@media(max-width:360px){.onboarding-avatars .identity-art{height:190px}.onboarding-guide h1{font-size:19px}}
.onboarding-avatars [data-group=girl] .player-sprite{transform:scale(1.24)}
.onboarding-avatar .player-sprite{transform:scale(1.22);margin:auto}
.screen-welcome .page-header,.screen-intro .page-header{background:#fff;color:#203a8c}
