.english-hero {
  position: relative; overflow: hidden; display: grid; grid-template-columns: 1.35fr .65fr; gap: 40px;
  margin-bottom: 18px; padding: clamp(30px, 6vw, 68px); color: #fff9ed; border-radius: 36px;
  background: linear-gradient(132deg, #122e2a 0%, #155e56 60%, #d27c2a 140%); box-shadow: var(--shadow);
}
.english-hero::after { content:"HELLO"; position:absolute; right:-18px; bottom:-27px; color:rgba(255,255,255,.055); font:800 116px/1 var(--sans); letter-spacing:-.08em; }
.english-hero > * { position:relative; z-index:1; }
.english-hero h1 { margin:0 0 22px; font:600 clamp(47px,7vw,78px)/.98 var(--serif); letter-spacing:-.055em; }
.english-hero p:last-child { max-width:690px; margin:0; color:rgba(255,255,255,.72); line-height:1.85; }
.english-score { align-self:end; padding:22px; border:1px solid rgba(255,255,255,.2); border-radius:22px; background:rgba(255,255,255,.08); backdrop-filter:blur(14px); }
.english-score strong { display:block; font:700 52px/1 var(--serif); }
.english-score span, .english-score small { display:block; margin-top:9px; }
.english-score span { font-weight:700; }
.english-score small { color:rgba(255,255,255,.58); line-height:1.5; }
.english-score button { width:100%; margin-top:16px; padding:10px 12px; color:var(--forest); border:0; border-radius:12px; background:#fff4df; cursor:pointer; font-weight:800; }
.english-score button:disabled { color:rgba(255,255,255,.72); background:rgba(255,255,255,.12); cursor:wait; }
.english-score em { display:block; margin-top:7px; color:rgba(255,255,255,.58); font-size:10px; font-style:normal; line-height:1.45; }
.english-mode { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; padding:6px; background:rgba(23,32,30,.07); border-radius:17px; }
.english-mode button { padding:12px; border:0; border-radius:12px; background:transparent; cursor:pointer; }
.english-mode button.active { color:var(--forest); background:var(--card); box-shadow:0 4px 16px rgba(22,35,31,.08); font-weight:800; }
.english-day-filter { display:flex; gap:8px; overflow-x:auto; margin:15px 0 23px; padding-bottom:4px; scrollbar-width:none; }
.english-day-filter::-webkit-scrollbar { display:none; }
.english-day-filter button { flex:0 0 auto; padding:9px 13px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.65); cursor:pointer; }
.english-day-filter button.active { color:white; border-color:var(--forest); background:var(--forest); }
.learning-section { margin:28px 0 38px; }
.learning-head { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:14px; }
.learning-head h2 { margin:0; font:700 clamp(27px,4vw,38px)/1.1 var(--serif); }
.learning-head p { margin:7px 0 0; color:var(--muted); }
.learning-count { flex:0 0 auto; color:var(--sea); font-size:12px; font-weight:800; letter-spacing:.08em; }
.general-grid, .word-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; }
.audio-card { position:relative; padding:19px 68px 19px 20px; border:1px solid var(--line); border-radius:18px; background:var(--card); }
.audio-card .card-code { color:var(--sun); font-size:10px; font-weight:900; letter-spacing:.14em; }
.audio-card h3 { margin:10px 0 7px; font:700 19px/1.4 var(--serif); }
.audio-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.audio-play { width:42px; height:42px; display:grid; place-items:center; border:0; border-radius:50%; color:var(--sea); background:var(--sea-pale); cursor:pointer; }
.audio-card > .audio-play { position:absolute; top:18px; right:17px; }
.audio-play.playing { color:white; background:var(--sun); animation:audioPulse 1.3s ease infinite; }
@keyframes audioPulse { 50% { box-shadow:0 0 0 8px rgba(229,138,43,.13); } }
.master-btn { margin-top:13px; padding:6px 10px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--muted); font-size:11px; cursor:pointer; }
.master-btn.done { color:white; border-color:var(--forest-2); background:var(--forest-2); }
.dialogue-list { display:grid; gap:13px; }
.dialogue-card { overflow:hidden; border:1px solid var(--line); border-radius:21px; background:var(--card); }
.dialogue-head { display:flex; align-items:center; gap:9px; padding:14px 17px; border-bottom:1px solid rgba(23,32,30,.07); }
.dialogue-head strong { flex:1; }
.priority-mark { padding:4px 8px; color:#8b531d; border-radius:999px; background:var(--sun-pale); font-size:10px; font-weight:900; }
.dialogue-turn { display:grid; grid-template-columns:72px 1fr auto; gap:13px; align-items:center; padding:17px; }
.dialogue-turn + .dialogue-turn { border-top:1px solid rgba(23,32,30,.07); background:rgba(220,239,240,.2); }
.speaker { color:var(--sea); font-size:11px; font-weight:900; letter-spacing:.09em; }
.dialogue-turn.staff .speaker { color:var(--sun); }
.dialogue-copy strong { display:block; font:700 18px/1.45 var(--serif); }
.dialogue-copy small { display:block; margin-top:5px; color:var(--muted); line-height:1.5; }
.dialogue-master { display:flex; justify-content:flex-end; padding:0 17px 14px; }
.word-card h3 { font-family:var(--sans); font-size:20px; }
.word-card .memory { margin-top:7px; color:var(--forest-2); }
.emergency-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; }
.emergency-card { border-left:5px solid var(--danger); }
.audio-tip { display:flex; gap:12px; align-items:center; margin-bottom:14px; padding:14px 16px; color:#456864; border-radius:15px; background:var(--sea-pale); font-size:12px; line-height:1.6; }
.audio-tip span { font-size:23px; }

@media (max-width: 700px) {
  .english-hero { grid-template-columns:1fr; gap:28px; padding:33px 24px; border-radius:28px; }
  .english-hero h1 { font-size:50px; }
  .english-score { width:100%; }
  .general-grid, .word-grid, .emergency-grid { grid-template-columns:1fr; }
  .dialogue-turn { grid-template-columns:1fr auto; }
  .dialogue-turn .speaker { grid-column:1/-1; }
}
