.bp-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); gap:24px; padding:28px 30px; margin-bottom:20px; border:1px solid rgba(0,229,255,.18); border-radius:18px; background:linear-gradient(135deg,rgba(0,180,216,.15),rgba(124,58,237,.13)); }
.bp-hero::after { content:'ABC'; position:absolute; right:-20px; bottom:-55px; font-size:9rem; font-weight:900; color:rgba(255,255,255,.025); pointer-events:none; }
.bp-hero-copy { position:relative; z-index:1; }
.bp-eyebrow { display:inline-flex; align-items:center; gap:6px; color:var(--warning); font-size:.72rem; font-weight:800; letter-spacing:.09em; margin-bottom:12px; }
.bp-eyebrow .material-icons { font-size:16px; }
.bp-hero h1 { max-width:720px; font-size:clamp(1.85rem,2.5vw,2.35rem); line-height:1.16; margin-bottom:10px; letter-spacing:-.035em; }
.bp-hero p { max-width:700px; color:var(--text-secondary); line-height:1.6; }
.bp-hero p b { color:var(--accent); }
.bp-hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.bp-progress-card { position:relative; z-index:1; display:grid; grid-template-columns:96px 1fr; align-items:center; gap:8px 16px; padding:16px 18px; border:1px solid var(--border); border-radius:14px; background:rgba(7,12,20,.55); }
.bp-progress-ring { grid-row:span 3; width:92px; height:92px; display:grid; place-content:center; text-align:center; border-radius:50%; background:conic-gradient(var(--accent) var(--bp-progress),rgba(255,255,255,.06) 0); position:relative; }
.bp-progress-ring::after { content:''; position:absolute; inset:9px; border-radius:50%; background:#0c1625; }
.bp-progress-ring strong,.bp-progress-ring small { position:relative; z-index:1; display:block; }
.bp-progress-ring strong { font-size:1.35rem; color:var(--accent); }
.bp-progress-ring small { color:var(--text-muted); font-size:.65rem; }
.bp-progress-card>div:not(.bp-progress-ring) b,.bp-progress-card>div:not(.bp-progress-ring) span { display:block; }
.bp-progress-card>div:not(.bp-progress-ring) b { color:var(--text-primary); }
.bp-progress-card>div:not(.bp-progress-ring) span { color:var(--text-muted); font-size:.72rem; }

.bp-next { padding:22px; margin-bottom:26px; }
.bp-workspace { scroll-margin-top:18px; padding:22px; margin-bottom:22px; border-color:rgba(0,229,255,.26); }
.bp-workspace[hidden] { display:none; }
.bp-workspace-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.bp-workspace-head small { color:var(--warning); font-size:.62rem; font-weight:800; letter-spacing:.09em; }
.bp-workspace-head h2 { margin-top:3px; font-size:1.1rem; }
.bp-workspace-head>button { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--border); border-radius:7px; color:var(--text-secondary); background:transparent; cursor:pointer; }
.bp-two-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.bp-two-paths>article { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; padding:20px; }
.bp-two-paths>article>.material-icons { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; color:var(--accent); background:rgba(0,229,255,.08); }
.bp-two-paths .practice>.material-icons { color:var(--warning); background:rgba(213,174,82,.09); }
.bp-two-paths small { color:var(--accent); font-size:.58rem; font-weight:800; letter-spacing:.09em; }
.bp-two-paths h2 { margin:2px 0 4px; font-size:1.05rem; }
.bp-two-paths p { color:var(--text-muted); font-size:.72rem; line-height:1.5; }
.bp-count-picker { display:flex; align-items:center; gap:8px; width:max-content; margin-top:10px; color:var(--text-secondary); font-size:.68rem; }
.bp-count-picker select,.bp-stage-count { min-height:34px; padding:5px 28px 5px 9px; border:1px solid var(--border); border-radius:7px; color:var(--text-primary); background:var(--bg-card); }
.bp-study-options { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:10px; }
.bp-study-options label { display:flex; align-items:center; gap:6px; color:var(--text-secondary); font-size:.67rem; }
.bp-study-options select { min-height:34px; padding:5px 28px 5px 9px; border:1px solid var(--border); border-radius:7px; color:var(--text-primary); background:var(--bg-card); }
.bp-unit-note { margin:-10px 0 22px; padding:10px 13px; border-left:3px solid var(--accent); color:var(--text-secondary); background:rgba(0,229,255,.035); font-size:.72rem; line-height:1.5; }
.bp-unit-note b { color:var(--text-primary); }
.bp-stage-count { max-width:105px; font-size:.68rem; }
.bp-stages-primary .bp-stage-count { border-color:rgba(213,174,82,.2); background:rgba(12,19,18,.68); }
.bp-stages-primary .bp-stage-actions .btn { border-color:rgba(213,174,82,.2); background:rgba(213,174,82,.035); }
.bp-stages-primary .bp-stage-actions .btn:hover { border-color:rgba(226,184,88,.56); color:#f0cf81; }
.bp-memory-card,.bp-practice-card { max-width:790px; margin:0 auto; padding:22px; border:1px solid var(--border); border-radius:14px; background:rgba(255,255,255,.025); }
.bp-memory-word { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.bp-memory-word b,.bp-memory-word small { display:block; }
.bp-memory-word b { font-size:2rem; }
.bp-memory-word small { margin-top:4px; color:var(--accent); font-size:.72rem; }
.bp-memory-word button,.bp-listen-button { display:inline-flex; align-items:center; gap:6px; padding:9px 12px; border:1px solid var(--border-hover); border-radius:8px; color:var(--accent); background:rgba(0,229,255,.06); cursor:pointer; }
.bp-memory-meaning { margin-top:16px; color:var(--text-primary); font-size:1.05rem; }
.bp-memory-example,.bp-memory-chunks { margin-top:14px; padding:13px; border-left:3px solid var(--success); background:rgba(75,115,94,.07); }
.bp-memory-example span,.bp-memory-example b,.bp-memory-chunks span { display:block; }
.bp-memory-example span,.bp-memory-chunks span { color:var(--success); font-size:.57rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.bp-memory-example b,.bp-memory-chunks p { margin-top:5px; color:var(--text-primary); font-size:.82rem; line-height:1.55; }
.bp-memory-chunks { border-left-color:var(--warning); background:rgba(213,174,82,.055); }
.bp-memory-chunks span { color:var(--warning); }
.bp-workspace-nav { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; max-width:790px; margin:14px auto 0; }
.bp-workspace-nav>span { color:var(--text-muted); font-size:.68rem; text-align:center; }
.bp-practice-progress { height:6px; overflow:hidden; margin-bottom:15px; border-radius:8px; background:rgba(255,255,255,.06); }
.bp-practice-progress i { display:block; height:100%; background:linear-gradient(90deg,var(--accent),var(--success)); }
.bp-practice-prompt { margin:12px 0; color:var(--text-primary); font-size:clamp(1.05rem,2.5vw,1.45rem); font-weight:700; line-height:1.55; }
.bp-practice-hint { display:block; margin-bottom:14px; color:var(--text-muted); }
.bp-practice-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:16px; }
.bp-practice-choices button { min-height:48px; padding:10px; border:1px solid var(--border); border-radius:8px; color:var(--text-primary); background:rgba(255,255,255,.025); cursor:pointer; text-align:left; }
.bp-practice-choices button:hover:not(:disabled) { border-color:var(--accent); }
.bp-practice-choices button.correct { border-color:var(--success); background:rgba(75,115,94,.12); }
.bp-practice-choices button.wrong { border-color:var(--danger); background:rgba(192,57,43,.1); }
.bp-practice-form { margin-top:16px; }
.bp-practice-form label { display:block; margin-bottom:5px; color:var(--text-muted); font-size:.67rem; }
.bp-practice-form>div { display:grid; grid-template-columns:1fr auto; gap:8px; }
.bp-practice-form input { min-height:45px; color:var(--text-primary); background:rgba(255,255,255,.035); }
.bp-practice-feedback { margin-top:14px; padding:13px; border-left:4px solid var(--success); background:rgba(75,115,94,.08); }
.bp-practice-feedback.wrong { border-left-color:var(--danger); background:rgba(192,57,43,.08); }
.bp-practice-feedback strong { color:var(--success); }
.bp-practice-feedback.wrong strong { color:var(--danger); }
.bp-practice-feedback p { margin:6px 0 10px; color:var(--text-secondary); font-size:.74rem; line-height:1.55; }
.bp-practice-result { padding:25px; text-align:center; }
.bp-practice-result>.material-icons { color:var(--success); font-size:48px; }
.bp-practice-result p,.bp-practice-result small { display:block; margin-top:8px; color:var(--text-secondary); }
.bp-practice-result>div { display:flex; justify-content:center; gap:9px; flex-wrap:wrap; margin-top:18px; }
.bp-batch-hero { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:18px; padding:24px 0; }
.bp-batch-hero>div>span { color:var(--warning); font-size:.65rem; font-weight:800; letter-spacing:.1em; }
.bp-batch-hero h1 { margin:4px 0; font-size:1.8rem; }
.bp-batch-hero p { color:var(--text-muted); }
.bp-screen-controls { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 16px; margin-bottom:13px; }
.bp-screen-controls label { display:flex; align-items:center; gap:9px; color:var(--text-secondary); font-size:.7rem; }
.bp-screen-controls select { min-height:36px; padding:6px 30px 6px 9px; border:1px solid var(--border); border-radius:7px; color:var(--text-primary); background:var(--bg-card); }
.bp-screen-controls>div { display:flex; align-items:center; gap:10px; }
.bp-screen-controls b { color:var(--text-primary); font-size:.72rem; }
.bp-screen-controls>div>span { color:var(--text-muted); font-size:.65rem; }
.bp-layout-picker { display:flex; align-items:center; gap:10px; }
.bp-grid-toggle { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--border); border-radius:9px; color:var(--text-secondary); background:rgba(255,255,255,.025); cursor:pointer; }
.bp-grid-toggle.active { color:#fff; border-color:var(--accent); background:linear-gradient(135deg,var(--accent-2),#137bd1); box-shadow:0 0 0 3px rgba(0,180,216,.12); }
.bp-grid-toggle .material-icons { font-size:21px; }
.bp-batch-grid { display:grid; grid-template-columns:repeat(var(--bp-columns,2),minmax(0,1fr)); gap:12px; padding-bottom:90px; }
.bp-batch-grid.compact { gap:8px; }
.bp-batch-grid.compact .bp-batch-question { padding:11px; border-radius:9px; }
.bp-batch-grid.compact .bp-batch-question-head { margin-bottom:7px; }
.bp-batch-grid.compact .bp-batch-question>p { margin:6px 0; font-size:.78rem; line-height:1.35; }
.bp-batch-grid.compact .bp-batch-choices { gap:4px; margin-top:7px; }
.bp-batch-grid.compact .bp-batch-choices label { gap:6px; padding:6px; }
.bp-batch-grid.compact .bp-batch-choices span { font-size:.63rem; line-height:1.25; }
.bp-batch-grid.compact .bp-batch-input { margin-top:7px; }
.bp-batch-grid.compact .bp-batch-input input { min-height:37px; font-size:.85rem!important; }
.bp-batch-grid.compact .bp-batch-input>small { display:none; }
.bp-batch-grid.compact .bp-hidden-hint { margin:5px 0 7px; }
.bp-batch-grid.compact .bp-batch-answer { margin-top:7px; padding:7px; }
.bp-batch-grid.compact .bp-batch-answer p { font-size:.58rem; }
.bp-batch-question { position:relative; padding:18px; border:1px solid var(--border); border-radius:13px; background:var(--bg-card); }
.bp-batch-question-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; }
.bp-batch-question-head span { color:var(--accent); font-size:.7rem; font-weight:800; }
.bp-batch-question-head small { color:var(--text-muted); font-size:.62rem; }
.bp-batch-question>p { margin:10px 0; color:var(--text-primary); font-size:.96rem; font-weight:650; line-height:1.55; }
.bp-batch-input { display:block; margin-top:13px; }
.bp-batch-input>label { display:block; margin-bottom:5px; color:var(--text-muted); font-size:.65rem; }
.bp-batch-input>div { display:grid; grid-template-columns:1fr auto; gap:7px; }
.bp-batch-input input { width:100%; min-height:44px; color:var(--text-primary); background:rgba(255,255,255,.035); }
.bp-english-answer-input {
  font-family:Arial,Helvetica,"Segoe UI",sans-serif !important;
  font-size:1rem !important;
  font-style:normal !important;
  font-weight:600 !important;
  font-variant:normal !important;
  font-variant-ligatures:none !important;
  font-feature-settings:"liga" 0,"clig" 0 !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  writing-mode:horizontal-tb !important;
}
.bp-english-answer {
  font-family:Arial,Helvetica,"Segoe UI",sans-serif;
  font-style:normal;
  font-weight:700;
  font-variant-ligatures:none;
  letter-spacing:normal;
  text-transform:none;
}
.bp-batch-input>small { display:block; margin-top:5px; color:var(--text-muted); font-size:.6rem; }
.bp-hidden-hint { width:max-content; max-width:100%; margin:8px 0 12px; }
.bp-hidden-hint summary { display:flex; align-items:center; gap:5px; padding:6px 9px; border:1px solid var(--border); border-radius:6px; color:var(--warning); background:rgba(213,174,82,.045); font-size:.65rem; cursor:pointer; list-style:none; }
.bp-hidden-hint summary::-webkit-details-marker { display:none; }
.bp-hidden-hint summary .material-icons { font-size:15px; }
.bp-hidden-hint>p { margin:6px 0 0; padding:8px; border-left:2px solid var(--warning); color:var(--text-secondary); background:rgba(213,174,82,.045); font-size:.67rem; font-weight:400; }
.bp-batch-choices { display:grid; gap:7px; margin-top:13px; }
.bp-batch-choices label { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:8px; padding:9px; border:1px solid var(--border); border-radius:7px; cursor:pointer; }
.bp-batch-choices label:has(input:checked) { border-color:var(--accent); background:rgba(0,229,255,.055); }
.bp-batch-choices label.answer-correct { border-color:rgba(75,151,111,.82)!important; color:#d8eee2; background:rgba(75,151,111,.13)!important; box-shadow:none; }
.bp-batch-choices label.answer-correct span { color:#d8eee2; font-weight:650; }
.bp-batch-choices label.answer-wrong { border-color:rgba(207,91,99,.8)!important; color:#f0d7da; background:rgba(207,91,99,.11)!important; box-shadow:none; }
.bp-batch-choices label.answer-wrong span { color:#f0d7da; font-weight:650; }
.bp-batch-choices input { margin-top:3px; accent-color:var(--accent); }
.bp-batch-choices span { color:var(--text-secondary); font-size:.74rem; line-height:1.4; }
.bp-batch-input.answer-correct input { border-color:rgba(75,151,111,.82)!important; color:#d8eee2; background:rgba(75,151,111,.09)!important; box-shadow:none; }
.bp-batch-input.answer-wrong input { border-color:rgba(207,91,99,.8)!important; color:#f0d7da; background:rgba(207,91,99,.08)!important; box-shadow:none; }
.bp-batch-answer { margin-top:12px; padding:10px; border-left:3px solid var(--border-hover); color:var(--text-primary); background:rgba(255,255,255,.025); }
.bp-batch-answer strong { color:var(--text-primary); font-size:.72rem; }
.bp-batch-answer p { margin-top:5px; color:var(--text-muted); font-size:.66rem; line-height:1.5; }
.bp-batch-submit { position:sticky; z-index:20; bottom:12px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; border:1px solid var(--border-hover); border-radius:12px; background:rgba(8,16,28,.96); box-shadow:0 12px 35px rgba(0,0,0,.35); backdrop-filter:blur(12px); }
.bp-batch-submit span { color:var(--text-secondary); font-size:.76rem; }
.bp-batch-result { margin:16px 0 25px; padding:24px; text-align:center; }
.bp-batch-result>.material-icons { color:var(--success); font-size:44px; }
.bp-batch-result h2 { margin-top:4px; }
.bp-batch-result p { margin-top:7px; color:var(--text-secondary); }
.bp-batch-result>div { display:flex; justify-content:center; gap:9px; flex-wrap:wrap; margin-top:16px; }
.bp-batch-empty { padding:30px; margin-top:30px; text-align:center; }
.bp-batch-empty p { margin:8px 0 16px; color:var(--text-muted); }
.bp-section-head { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:16px; }
.bp-section-head>div { display:flex; align-items:center; gap:10px; }
.bp-section-head .material-icons,.bp-title>.material-icons { color:var(--accent); }
.bp-section-head h2,.bp-title h2 { font-size:1.15rem; }
.bp-section-head p,.bp-title p { color:var(--text-muted); font-size:.8rem; margin-top:3px; }
.bp-next-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.bp-next-grid article { display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:start; min-width:0; padding:11px; border:1px solid var(--border); border-radius:11px; background:rgba(255,255,255,.022); }
.bp-rank { color:var(--warning); font-size:.64rem; font-weight:800; }
.bp-next-grid b { color:var(--text-primary); font-size:.9rem; }
.bp-next-grid small { color:var(--accent); font-size:.62rem; margin-left:5px; }
.bp-next-grid p { color:var(--text-muted); font-size:.72rem; line-height:1.35; margin-top:4px; }
.bp-next-grid button { border:0; background:transparent; color:var(--accent); cursor:pointer; }
.bp-next-grid button .material-icons { font-size:18px; }

.bp-pos-guide { padding:22px; margin-bottom:26px; }
.bp-pos-reading { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-bottom:16px; }
.bp-pos-reading>div { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; padding:12px; border:1px dashed var(--border-hover); border-radius:8px; background:rgba(255,255,255,.018); }
.bp-pos-reading code,.bp-pos-card summary>code { display:grid; place-items:center; min-width:45px; padding:5px 7px; border-radius:5px; color:var(--warning); background:rgba(213,174,82,.09); font-size:.7rem; font-weight:800; }
.bp-pos-reading b,.bp-pos-reading small { display:block; }
.bp-pos-reading b { color:var(--text-primary); font-size:.75rem; }
.bp-pos-reading small { margin-top:4px; color:var(--text-secondary); font-size:.66rem; line-height:1.5; }
.bp-pos-reading small code { display:inline; min-width:0; padding:1px 4px; }
.bp-pos-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.bp-pos-card { border:1px solid var(--border); border-radius:8px; background:rgba(255,255,255,.02); overflow:hidden; }
.bp-pos-card[open] { border-color:var(--border-hover); background:rgba(213,174,82,.035); }
.bp-pos-card summary { display:grid; grid-template-columns:auto 1fr auto; gap:11px; align-items:center; padding:12px; list-style:none; cursor:pointer; }
.bp-pos-card summary::-webkit-details-marker { display:none; }
.bp-pos-card summary b,.bp-pos-card summary small { display:block; }
.bp-pos-card summary b { color:var(--text-primary); font-size:.79rem; }
.bp-pos-card summary small { margin-top:2px; color:var(--text-muted); font-size:.64rem; }
.bp-pos-card summary>.material-icons { color:var(--accent); font-size:19px; transition:transform .18s ease; }
.bp-pos-card[open] summary>.material-icons { transform:rotate(180deg); }
.bp-pos-card>div { padding:0 13px 13px 68px; }
.bp-pos-card>div>p { color:var(--text-secondary); font-size:.69rem; line-height:1.55; }
.bp-pos-example { margin-top:9px; padding:10px; border-left:3px solid var(--success); background:rgba(75,115,94,.08); }
.bp-pos-example span,.bp-pos-example b,.bp-pos-example small { display:block; }
.bp-pos-example span { color:var(--success); font-size:.55rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.bp-pos-example b { margin-top:4px; color:var(--text-primary); font-size:.72rem; }
.bp-pos-example small { margin-top:3px; color:var(--text-muted); font-size:.63rem; }

.bp-tenses-direct { margin-bottom:26px; }
.bp-foundation-link { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:15px; width:100%; min-height:82px; padding:16px 18px; border:1px solid var(--border); border-radius:14px; color:var(--text-primary); background:var(--bg-card); text-align:left; cursor:pointer; font:inherit; box-shadow:0 6px 20px rgba(0,0,0,.05); transition:var(--transition); }
.bp-foundation-link:hover { border-color:var(--border-hover); background:rgba(0,229,255,.035); transform:translateY(-1px); }
.bp-foundation-link>.material-icons:first-child { width:44px; height:44px; display:grid; place-items:center; border-radius:11px; color:var(--accent); background:rgba(0,229,255,.09); font-size:22px; }
.bp-foundation-link>span:nth-child(2) b,.bp-foundation-link>span:nth-child(2) small { display:block; }
.bp-foundation-link>span:nth-child(2) b { color:var(--text-primary); font-size:1rem; }
.bp-foundation-link>span:nth-child(2) small { margin-top:4px; color:var(--text-muted); font-size:.72rem; line-height:1.45; }
.bp-foundation-link>.material-icons:last-child { color:var(--accent); font-size:20px; }
.bp-tense-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.bp-tense-overview button { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:9px; min-height:67px; padding:10px; border:1px solid var(--border); border-radius:9px; color:var(--text-primary); background:rgba(255,255,255,.018); text-align:left; cursor:pointer; }
.bp-tense-overview button:hover { border-color:var(--border-hover); background:rgba(0,229,255,.035); }
.bp-tense-overview button>span:first-child { display:grid; place-items:center; width:29px; height:29px; border-radius:8px; color:var(--accent); background:rgba(0,229,255,.08); font-size:.59rem; font-weight:800; }
.bp-tense-overview b,.bp-tense-overview small { display:block; }
.bp-tense-overview b { font-size:.72rem; }.bp-tense-overview small { margin-top:3px; color:var(--text-muted); font-size:.59rem; }
.bp-tense-overview button>.material-icons { color:var(--text-muted); font-size:17px; }
.bp-tense-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px; padding-top:14px; border-top:1px solid var(--border); }
.bp-tense-footer p { color:var(--text-muted); font-size:.68rem; line-height:1.5; }

.bp-title { display:flex; align-items:center; gap:10px; margin-bottom:15px; }
.bp-stages-primary { position:relative; margin:0 0 28px; padding:22px; border:1px solid rgba(213,174,82,.25); border-radius:16px; background:linear-gradient(145deg,rgba(213,174,82,.045),rgba(75,115,94,.035)); box-shadow:0 18px 45px rgba(0,0,0,.16); scroll-margin-top:18px; }
.bp-stages-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.bp-stages-head .bp-title { margin:0; }
.bp-stages-head .bp-title>.material-icons { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#e2b858; background:rgba(213,174,82,.1); }
.bp-stages-kicker { display:block; margin-bottom:3px; color:#e2b858; font-size:.58rem; font-weight:850; letter-spacing:.12em; }
.bp-stages-head .bp-title h2 { font-size:1.32rem; }
.bp-stages-head .bp-title p { font-size:.88rem; line-height:1.5; }
.bp-stages-summary { flex:none; min-width:120px; padding:10px 13px; border:1px solid rgba(213,174,82,.24); border-radius:10px; background:rgba(213,174,82,.055); text-align:right; }
.bp-stages-summary b,.bp-stages-summary span { display:block; }
.bp-stages-summary b { color:#f0cf81; font-size:.88rem; }
.bp-stages-summary span { margin-top:2px; color:var(--text-muted); font-size:.7rem; }
.bp-stage-grid { display:grid; gap:10px; }
.bp-stage { overflow:hidden; border:1px solid rgba(151,165,151,.19); border-radius:12px; background:linear-gradient(105deg,rgba(28,36,34,.98),rgba(23,30,31,.98)); box-shadow:0 5px 16px rgba(0,0,0,.1); }
.bp-stage-summary { display:grid; grid-template-columns:48px minmax(250px,1fr) minmax(170px,200px) auto; gap:16px; align-items:center; padding:15px 16px; }
.bp-stage.recommended { border-color:rgba(226,184,88,.58); background:linear-gradient(105deg,rgba(48,43,30,.98),rgba(27,35,33,.98)); box-shadow:0 8px 24px rgba(213,174,82,.1); }
.bp-stage.done { border-color:rgba(100,168,126,.38); }
.bp-stage-number { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(213,174,82,.17); border-radius:10px; background:rgba(213,174,82,.075); color:#e2b858; font-weight:850; }
.bp-stage-main { min-width:0; }
.bp-stage-open { width:100%; padding:0; border:0; color:inherit; background:transparent; text-align:left; cursor:pointer; font-family:inherit; }
.bp-stage-open:hover h3,.bp-stage-open:focus-visible h3 { color:#f0cf81; }
.bp-stage-heading { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.bp-stage-heading h3 { font-size:1.08rem; }
.bp-stage-heading span { padding:4px 8px; border-radius:99px; color:#e2b858; background:rgba(213,174,82,.09); font-size:.65rem; font-weight:800; letter-spacing:.06em; }
.bp-stage.done .bp-stage-heading span { color:var(--success); background:rgba(0,214,143,.08); }
.bp-stage-main p { color:var(--text-secondary); font-size:.88rem; line-height:1.45; margin-top:4px; }
.bp-stage-main small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text-muted); font-size:.77rem; line-height:1.4; margin-top:6px; }
.bp-stage-progress i { position:relative; display:block; height:8px; overflow:hidden; border:1px solid rgba(213,174,82,.09); border-radius:9px; background:rgba(255,255,255,.055); }
.bp-stage-progress em { position:absolute; inset:0 auto 0 0; display:block; min-width:0; transition:width .35s ease; }
.bp-stage-progress em.learned { background:linear-gradient(90deg,#9f7835,#d1a94f); }
.bp-stage-progress em.mastered { z-index:1; background:linear-gradient(90deg,#548a69,#7eb08d); }
.bp-stage-progress>span { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:7px; font-size:.74rem; }
.bp-stage-progress>span b { color:#d8b664; font-weight:700; }
.bp-stage-progress>span small { color:var(--text-muted); font-size:inherit; }
.bp-stage.done .bp-stage-progress>span b { color:#83b894; }
.bp-stage-actions { display:grid; grid-template-columns:40px 82px minmax(92px,auto) minmax(120px,auto); gap:6px; align-items:stretch; justify-self:end; width:max-content; padding:5px; border:1px solid rgba(213,174,82,.13); border-radius:10px; background:rgba(7,12,11,.22); }
.bp-stage-actions .btn { min-height:38px; padding:7px 11px; justify-content:center; white-space:nowrap; font-size:.75rem; font-weight:650; }
.bp-stage-view { width:40px; padding:6px!important; }
.bp-stage-view>span:last-child { display:none; }
.bp-stage-actions .material-icons { font-size:17px; }
.bp-stage-count-wrap { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px; min-height:39px; padding:2px 6px 2px 8px; border:1px solid rgba(213,174,82,.18); border-radius:7px; color:var(--text-muted); background:rgba(12,19,18,.68); font-size:.62rem; }
.bp-stage-count-wrap>span { line-height:1.1; }
.bp-stage-count-wrap .bp-stage-count { width:42px; min-height:29px; padding:3px 16px 3px 4px; border:0; background:transparent; text-align:right; }
.bp-stage-action-memory { color:#dcebe2; border-color:rgba(100,168,126,.32)!important; background:rgba(84,138,105,.1)!important; }
.bp-stage-action-quiz { color:#f2d997; border-color:rgba(226,184,88,.34)!important; background:rgba(213,174,82,.1)!important; }
.bp-stage-view .material-icons { font-size:17px; }
.bp-stage-preview[hidden] { display:none; }
.bp-stage-preview { padding:18px; border-top:1px solid rgba(213,174,82,.14); background:rgba(7,12,11,.34); }
.bp-stage-preview-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.bp-stage-preview-head b,.bp-stage-preview-head small { display:block; }
.bp-stage-preview-head b { color:var(--text-primary); font-size:1rem; }
.bp-stage-preview-head small { margin-top:4px; color:var(--text-muted); font-size:.76rem; }
.bp-stage-preview-head>button { width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--border); border-radius:6px; color:var(--text-secondary); background:transparent; cursor:pointer; }
.bp-stage-preview-head>button:hover { color:var(--danger); border-color:var(--danger); }
.bp-stage-word-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.bp-stage-word { min-width:0; padding:15px; border:1px solid var(--border); border-radius:10px; background:rgba(255,255,255,.025); transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.bp-stage-word.mastered { border-color:rgba(75,115,94,.5); background:rgba(75,115,94,.07); }
.bp-stage-word-head { display:flex; align-items:flex-start; gap:8px; }
.bp-stage-word-head>div { min-width:0; flex:1; }
.bp-stage-word-head b,.bp-stage-word-head small { display:block; }
.bp-stage-word-head b { color:var(--text-primary); font-size:1.05rem; }
.bp-stage-word-head small { margin-top:3px; color:var(--accent); font-size:.7rem; }
.bp-stage-word-head>button { width:30px; height:30px; display:grid; place-items:center; flex:0 0 auto; border:0; border-radius:5px; color:var(--accent); background:rgba(213,174,82,.08); cursor:pointer; }
.bp-stage-word-head>button .material-icons { font-size:17px; }
.bp-word-status { display:flex!important; align-items:center; gap:3px; flex:0 0 auto; padding:4px 7px; border-radius:4px; color:var(--success)!important; background:rgba(75,115,94,.12); font-size:.61rem!important; font-weight:700; }
.bp-word-status .material-icons { font-size:12px; }
.bp-word-status.started { color:var(--warning)!important; background:rgba(213,174,82,.1); }
.bp-stage-word>p { margin-top:9px; color:var(--text-secondary); font-size:.81rem; line-height:1.5; }
.bp-stage-word-example { margin-top:10px; padding:10px; border-left:3px solid var(--success); border-radius:0 6px 6px 0; background:rgba(75,115,94,.07); }
.bp-stage-word-example span,.bp-stage-word-example b { display:block; }
.bp-stage-word-example span { color:var(--success); font-size:.59rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.bp-stage-word-example b { margin-top:4px; color:var(--text-primary); font-size:.75rem; line-height:1.5; font-weight:500; }
.bp-stage-word-collocation { display:flex!important; align-items:flex-start; gap:6px; margin-top:9px!important; color:var(--text-muted)!important; font-size:.67rem!important; white-space:normal!important; line-height:1.45; }
.bp-stage-word-collocation .material-icons { flex:0 0 auto; color:var(--warning); font-size:13px; }

.beginner-question-mode { max-width:760px; margin:0 auto; padding:20px; border:1px solid var(--border-hover); border-radius:10px; background:rgba(213,174,82,.045); text-align:left; }
.beginner-question-label { display:block; margin-bottom:9px; color:var(--warning); font-size:.59rem; font-weight:800; letter-spacing:.11em; }
.beginner-question-prompt { color:var(--text-primary); font-size:clamp(1.15rem,3vw,1.65rem); font-weight:700; line-height:1.5; }
.beginner-question-meaning { margin-top:8px; color:var(--text-secondary); font-size:.76rem; }
.beginner-answer-form { margin-top:18px; }
.beginner-answer-form label { color:var(--text-secondary); font-size:.65rem; }
.beginner-answer-form>div { display:grid; grid-template-columns:1fr auto; gap:8px; }
.beginner-answer-form input { min-height:44px; color:var(--text-primary); background:rgba(255,255,255,.04); }
.beginner-answer-feedback { margin-top:16px; padding:13px; border-left:4px solid var(--success); border-radius:4px; background:rgba(75,115,94,.09); }
.beginner-answer-feedback.wrong { border-left-color:var(--danger); background:rgba(192,57,43,.08); }
.beginner-answer-feedback>strong { color:var(--success); font-size:.82rem; }
.beginner-answer-feedback.wrong>strong { color:var(--danger); }
.beginner-answer-feedback p { margin-top:7px; color:var(--text-secondary); font-size:.72rem; line-height:1.55; }
.beginner-answer-feedback p b { color:var(--text-primary); }

.bp-principles { padding:22px; margin-bottom:20px; }
.bp-principles>h2 { display:flex; align-items:center; gap:8px; font-size:1.1rem; margin-bottom:15px; }
.bp-principles>h2 .material-icons { color:var(--warning); }
.bp-principles>div { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.bp-principles article { padding:13px; border-radius:12px; background:rgba(255,255,255,.025); }
.bp-principles article>b { display:grid; place-items:center; width:25px; height:25px; margin-bottom:8px; border-radius:8px; color:var(--accent); background:rgba(0,229,255,.08); }
.bp-principles h3 { font-size:.86rem; margin-bottom:4px; }
.bp-principles p { color:var(--text-muted); font-size:.73rem; line-height:1.45; }

#beginner-dashboard-widget { display:flex; align-items:center; gap:16px; padding:17px; margin-bottom:20px; border:1px solid rgba(0,229,255,.18); border-radius:16px; background:linear-gradient(100deg,rgba(0,180,216,.09),rgba(124,58,237,.07)); }
.bp-dash-icon { width:46px; height:46px; flex-shrink:0; display:grid; place-items:center; border-radius:13px; color:var(--accent); background:rgba(0,229,255,.1); }
.bp-dash-copy { flex:1; min-width:0; }
.bp-dash-copy small { color:var(--warning); font-size:.64rem; font-weight:800; letter-spacing:.08em; }
.bp-dash-copy h2 { font-size:1rem; margin-top:2px; }
.bp-dash-copy p { color:var(--text-muted); font-size:.72rem; margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bp-dash-progress { text-align:right; }
.bp-dash-progress b,.bp-dash-progress span { display:block; }
.bp-dash-progress b { color:var(--accent); font-size:1.15rem; }
.bp-dash-progress span { color:var(--text-muted); font-size:.65rem; }

@media (max-width:1050px) {
  .bp-next-grid { grid-template-columns:repeat(2,1fr); }
  .bp-stage-summary { grid-template-columns:48px minmax(0,1fr) minmax(350px,auto); }
  .bp-stage-progress { grid-column:2/3; }
  .bp-stage-actions { grid-column:3; grid-row:1/3; grid-template-columns:repeat(2,minmax(115px,1fr)); }
  .bp-stage-word-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bp-principles>div { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
  .bp-hero { grid-template-columns:1fr; padding:23px; }
  .bp-hero h1 { font-size:1.65rem; }
  .bp-progress-card { max-width:420px; }
  #beginner-dashboard-widget { align-items:flex-start; flex-wrap:wrap; }
  .bp-dash-copy { flex-basis:calc(100% - 65px); }
  .bp-dash-progress { display:none; }
  .bp-pos-reading { grid-template-columns:1fr; }
  .bp-two-paths { grid-template-columns:1fr; }
  .bp-screen-controls { align-items:stretch; flex-direction:column; }
  .bp-screen-controls label { justify-content:space-between; }
  .bp-screen-controls>div { align-items:flex-start; flex-direction:column; }
  .bp-tense-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bp-stages-primary { padding:18px; }
  .bp-stages-head { flex-direction:column; }
  .bp-stages-summary { text-align:left; }
  .bp-stage-summary { grid-template-columns:44px minmax(0,1fr); }
  .bp-stage-progress,.bp-stage-actions { grid-column:2/3; grid-row:auto; }
  .bp-stage-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .bp-batch-grid { grid-template-columns:1fr!important; }
}
@media (max-width:520px) {
  .bp-next-grid,.bp-principles>div { grid-template-columns:1fr; }
  .bp-tense-overview { grid-template-columns:1fr; }
  .bp-tense-footer { align-items:stretch; flex-direction:column; }
  .bp-tense-footer .btn { justify-content:center; width:100%; }
  .bp-pos-grid { grid-template-columns:1fr; }
  .bp-stage-summary { grid-template-columns:40px minmax(0,1fr); padding:13px; }
  .bp-stage-number { width:36px; height:36px; }
  .bp-stage-progress,.bp-stage-actions { grid-column:1/3; grid-row:auto; }
  .bp-stage-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bp-stage-actions .btn { white-space:normal; }
  .bp-stage-word-grid { grid-template-columns:1fr; }
  .bp-stage-preview { padding:13px; }
  .beginner-answer-form>div { grid-template-columns:1fr; }
  .bp-section-head { align-items:flex-start; flex-direction:column; }
  .bp-two-paths>article { grid-template-columns:auto 1fr; }
  .bp-two-paths>article>.btn { grid-column:1/3; }
  .bp-workspace { padding:15px; }
  .bp-memory-word { align-items:flex-start; flex-direction:column; }
  .bp-practice-choices { grid-template-columns:1fr; }
  .bp-practice-form>div,.bp-workspace-nav { grid-template-columns:1fr; }
  .bp-workspace-nav>span { grid-row:1; }
  .bp-batch-hero { grid-template-columns:1fr; }
  .bp-batch-hero h1 { font-size:1.4rem; }
  .bp-batch-submit { align-items:stretch; flex-direction:column; }
  .bp-batch-submit .btn { width:100%; justify-content:center; }
  .bp-batch-input>div { grid-template-columns:1fr; }
}
