.rhythm-page { max-width:1200px; }
.rhythm-body .auth-logout-btn { white-space:nowrap; flex:0 0 auto; min-width:102px; width:auto; }
.rhythm-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:8px 0 12px; padding:28px; border:1px solid #ded7f7; border-radius:22px; background:linear-gradient(115deg,#f1edff,#fff7f3); }
.rhythm-intro h2 { margin:7px 0 9px; color:#30244d; font-size:clamp(24px,3vw,34px); line-height:1.3; }
.rhythm-intro p { margin:0; color:#645875; line-height:1.7; }
.rhythm-eyebrow { color:#756090!important; font-size:13px; font-weight:700; }
.rhythm-primary { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:46px; padding:11px 18px; border-radius:13px; color:#fff; background:#6d5bdb; text-decoration:none; white-space:nowrap; font-weight:700; }
.rhythm-primary:hover { background:#5542bd; }
.rhythm-tabs { display:flex; gap:8px; padding:6px; margin:18px 0; border:1px solid #e2dcef; border-radius:15px; background:#f3f0f9; }
.rhythm-tabs a { flex:1; text-align:center; min-height:45px; display:flex; align-items:center; justify-content:center; border-radius:10px; padding:10px; color:#675a7a; text-decoration:none; font-weight:700; }
.rhythm-tabs a[aria-current="page"] { background:#fff; color:#5640b9; box-shadow:0 2px 8px #4b28601a; }
.rhythm-tab-panel[hidden] { display:none!important; }
.rhythm-tab-panel > section { margin-bottom:20px; }
.rhythm-notice,.rhythm-guide-note { color:#6b5c78; background:#faf8ff; border:1px solid #e7dff7; border-radius:12px; padding:13px 16px; margin-bottom:18px; line-height:1.7; font-size:14px; }
.rhythm-status { min-height:20px; margin:6px 2px; color:#6f607b; font-size:13px; }
.rhythm-guide-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:24px 0 12px; }
.rhythm-guide-heading h2 { margin:6px 0; color:#352842; }
.rhythm-guide-role { background:#fff; border:1px solid #e4ddee; border-radius:18px; padding:24px; margin:18px 0; }
.rhythm-guide-role > h3 { color:#493563; margin:0 0 9px; font-size:20px; }
.rhythm-guide-role > p { color:#6c6175; margin:0 0 18px; line-height:1.7; }
.rhythm-guide-steps { list-style:none; padding:0; margin:0; display:grid; gap:18px; counter-reset:guide; }
.rhythm-guide-steps li { counter-increment:guide; display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; align-items:start; }
.rhythm-guide-steps li::before { content:counter(guide); display:grid; place-items:center; width:32px; height:32px; background:#eee8ff; color:#6c4bb5; border-radius:50%; font-weight:800; }
.rhythm-guide-steps h4 { margin:3px 0 5px; color:#3c3049; font-size:16px; }
.rhythm-guide-steps p { margin:0; color:#70617b; line-height:1.75; }
.rhythm-guide-steps a { display:inline-block; margin-top:7px; color:#644bbf; text-decoration:underline; text-underline-offset:3px; }
.rhythm-faq { margin:24px 0; padding:24px; border:1px solid #e5dff0; border-radius:18px; background:#fff; }
.rhythm-faq h3 { margin:0 0 14px; color:#43334f; }
.rhythm-faq details { border-top:1px solid #eee8f4; padding:14px 0; }
.rhythm-faq summary { font-weight:700; cursor:pointer; line-height:1.6; color:#51415f; }
.rhythm-faq details p { line-height:1.85; color:#6c5f75; margin:12px 0 0; }
.rhythm-shortcuts { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:16px 18px; margin:0 0 20px; border:1px solid #dfd6f6; border-radius:16px; background:linear-gradient(110deg,#f2edff,#fff); }
.rhythm-shortcuts > div { flex:1 1 230px; }
.rhythm-shortcuts h2 { margin:0 0 4px; font-size:18px; color:#423050; }
.rhythm-shortcuts p { margin:0; font-size:13px; color:#73627e; }
.rhythm-shortcuts a { padding:10px 13px; border:1px solid #dbd0f1; border-radius:10px; color:#5f40a9; background:#fff; text-decoration:none; font-size:14px; font-weight:700; }
.rhythm-shortcuts a:first-of-type { background:#7050c8; color:white; border-color:#7050c8; }
.rhythm-page :focus-visible,.rhythm-shortcuts :focus-visible { outline:3px solid #a896eb; outline-offset:3px; }
@media(max-width:650px) {
  .rhythm-body .auth-user-menu { display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; }
  .rhythm-body .auth-user-name { min-width:0; overflow-wrap:anywhere; }
  .rhythm-intro { padding:20px; flex-direction:column; align-items:stretch; gap:18px; }
  .rhythm-tabs { gap:2px; }
  .rhythm-tabs a { padding:10px 5px; font-size:13px; }
  .rhythm-guide-heading { align-items:flex-start; flex-direction:column; }
  .rhythm-guide-role,.rhythm-faq { padding:18px; }
  .rhythm-shortcuts { padding:15px; gap:8px; }
  .rhythm-shortcuts > div { flex-basis:100%; }
  .rhythm-shortcuts a { flex:1 1 auto; text-align:center; padding:10px; }
}
