/* Carry the shared training design into existing word, record and signup routes. */
.modern-shell>header{height:auto;max-width:880px}
.modern-shell>main{max-width:880px;min-height:0;margin:34px auto 0;padding:0}
.modern-shell .brand{display:inline;letter-spacing:-1.3px}
.modern-shell .gym-word-hero{padding:0;margin:0 0 30px}
.modern-shell .gym-word-hero h1{font-size:34px;letter-spacing:-1.1px;margin:6px 0 10px;font-weight:750}
.modern-shell .gym-word-hero>p:last-child{font-size:15px;color:var(--muted);line-height:1.7}
.modern-shell .gym-eyebrow{font-size:10px;letter-spacing:1.8px;color:#8c625c;font-weight:650}
.modern-shell .gym-word-structure,.modern-shell .gym-word-card,.modern-shell .gym-auth-card{
  border:1px solid #e7e6e2;border-radius:18px;padding:26px;background:#ffffffd9;box-shadow:0 5px 22px #31332f03;margin:0 0 18px;
}
.modern-shell .gym-word-structure h2,.modern-shell .gym-word-list h2{font-size:19px;letter-spacing:-.5px;font-weight:700}
.modern-shell .gym-word-stats{gap:12px;margin:0 0 26px}
.modern-shell #word-app .gym-word-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.modern-shell .gym-word-stats>div{background:#ffffffb8;border:1px solid #e7e6e2;border-radius:16px;padding:21px 14px}
.modern-shell .gym-word-stats strong{font-size:28px;font-weight:650;color:var(--ink)}
.modern-shell .gym-word-stats span{font-size:12px;color:var(--muted)}
.modern-shell .gym-word-empty{padding:32px 24px;border:1px solid #e7e6e2;border-radius:18px;background:#fff9;color:var(--muted)}
.modern-shell .gym-word-empty strong{color:var(--ink);font-size:17px;font-weight:650}
.modern-shell .gym-word-empty p{font-size:14px;line-height:1.75}
.modern-shell .gym-word-list-head{margin:28px 2px 14px}
.modern-shell .gym-word-list-head>span{color:#777c79;font-size:11px;letter-spacing:.4px}
.modern-shell .gym-word-card-top strong{font-size:25px;color:var(--ink)}
.modern-shell .gym-word-card-top>div:first-child span{font-size:13px;color:var(--muted)}
.modern-shell .gym-word-meaning{font-size:15px;font-weight:600}
.modern-shell .gym-word-meta{border-color:#eeede9;gap:16px}
.modern-shell .gym-word-meta dt{color:#777e7d}
.modern-shell .gym-word-meta dd{color:#424b4b}
.modern-shell .gym-word-examples>div{background:#f6f6f3;border-radius:12px;padding:16px}
.modern-shell .gym-word-examples p{font-size:16px;line-height:1.8}
.modern-shell .gym-example-difficulty{background:#eeeae3;color:#6a6154;font-size:10px;font-weight:600}
.modern-shell .gym-word-loading{padding:72px 20px;font-size:14px;color:var(--muted)}
.modern-shell #meaning-training>label{display:inline-grid;gap:7px;min-width:140px;margin:10px 12px 22px 0;color:var(--muted);font-size:12px;font-weight:600}
.modern-shell .gym-word-training-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:20px}
.modern-shell .gym-word-current-level{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}
.modern-shell .gym-word-current-level strong{display:grid;place-items:center;min-width:38px;min-height:32px;border-radius:9px;background:#ebece6;color:#38463e;font-size:14px;font-weight:700}
.modern-shell .gym-word-current-level a{font-size:11px;color:#647368;text-underline-offset:3px;margin-left:5px}
.modern-shell .gym-word-training-head label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}
.modern-shell .gym-word-training-head select{width:auto;min-width:140px}
.modern-shell .gym-word-level-note{font-size:12px;color:#667267;padding:12px 14px;border:1px solid #e1e6dc;border-radius:10px;background:#f5f7f0}
.modern-shell #meaning-training select{font-size:14px;padding:11px 34px 11px 12px;background:#f8f8f6;border:1px solid #e3e4df;color:var(--ink);border-radius:10px}
.modern-shell .gym-meaning-question{margin:12px 0 20px;color:var(--muted);font-size:14px;line-height:1.8}
.modern-shell .gym-meaning-question h3[lang=ja]{font-size:34px;font-weight:650;color:var(--ink);line-height:1.6;margin:12px 0 4px}
.modern-shell .gym-meaning-question h3[lang=ja],.modern-shell .gym-meaning-question h3[lang=ja]+p{text-align:center}
.modern-shell .gym-meaning-question .answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}
.modern-shell .gym-meaning-question .answers button{text-align:left;min-height:52px}
.modern-shell .gym-meaning-question .gym-feedback{font-size:15px;color:#365c48;margin:12px 0}
.modern-shell .gym-record-status{font-size:12px;line-height:1.7;color:var(--muted)}
.modern-shell .gym-small-button{border-radius:10px;border-color:#dcded9;background:#fff;color:#485653;font-size:12px;min-height:38px}
.modern-shell .gym-auth-card{max-width:480px;margin:20px auto;padding:32px}
.modern-shell .gym-auth-card h1{font-size:30px;font-weight:700}
.modern-shell .gym-auth-intro{font-size:14px;line-height:1.75;color:var(--muted)}
.modern-shell .gym-auth-form{gap:20px}
.modern-shell .gym-auth-form input{background:#fafaf8;border-color:#dedfd9;border-radius:11px;padding:13px 14px;font-size:16px}
.modern-shell .gym-auth-form input:focus{border-color:#84938e;box-shadow:0 0 0 3px #87999116}
.modern-shell .gym-submit{background:var(--ink);border-radius:12px;font-size:15px;min-height:48px}
.modern-shell .gym-auth-switch a,.modern-shell .gym-back{color:#59675f}
.modern-shell .gym-onboarding-prompt{max-width:880px;margin:24px auto}
.modern-shell .gym-onboarding-prompt .gym-auth-card{max-width:none}
.modern-shell .gym-trainer-options{grid-template-columns:repeat(6,minmax(0,1fr))}
.modern-shell .gym-trainer-card>span{border-radius:12px;background:#fafaf8}
.modern-shell .gym-trainer-card input:checked+span{border-color:var(--ink);background:#eceee9;box-shadow:none;transform:none}
.modern-shell .gym-target-options input:checked+span{background:var(--ink);border-color:var(--ink);color:white}
@media(max-width:680px){
  .modern-shell>main{margin-top:28px}
  .modern-shell .gym-word-hero h1{font-size:29px}
  .modern-shell .gym-word-stats{gap:8px}
  .modern-shell .gym-word-stats>div{padding:18px 10px}
  .modern-shell .gym-word-stats strong{font-size:24px}
  .modern-shell .gym-word-structure,.modern-shell .gym-word-card,.modern-shell .gym-auth-card{padding:21px;border-radius:16px}
  .modern-shell .gym-word-training-mode{width:100%}
  .modern-shell .gym-trainer-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:420px){
  .modern-shell .gym-meaning-question .answers{grid-template-columns:1fr}
  .modern-shell .gym-trainer-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
