/* Polyglot AI 3.3 - weekly roadmap, level bands and expanded mini lessons */
:root{
  --v33-panel:rgba(255,255,255,.085);
  --v33-panel-2:rgba(255,255,255,.055);
  --v33-border:rgba(255,255,255,.16);
  --v33-soft:#d8e3fb;
  --v33-primary:#8b5cf6;
  --v33-cyan:#38bdf8;
  --v33-green:#34d399;
  --v33-amber:#fbbf24;
  --v33-pink:#f472b6;
}
body{
  background:
    radial-gradient(circle at 8% 0%,rgba(111,139,244,.28),transparent 34%),
    radial-gradient(circle at 92% 7%,rgba(168,85,247,.22),transparent 28%),
    linear-gradient(180deg,#182743 0%,#131e32 52%,#121b2d 100%)!important;
}
.v33-level-guide,.v33-week-plan,.v33-bonus-library{
  border:1px solid var(--v33-border);
  background:linear-gradient(155deg,var(--v33-panel),var(--v33-panel-2));
  box-shadow:0 18px 44px rgba(3,8,20,.25);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.v33-level-guide{border-radius:24px;padding:17px;margin:0 0 16px}
.v33-level-head,.v33-week-head,.v33-bonus-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.v33-level-head h2,.v33-week-head h2,.v33-bonus-head h2{margin:4px 0 0;font-size:24px;letter-spacing:-.025em}
.v33-level-head p,.v33-week-head p,.v33-bonus-head p{margin:0;color:var(--v33-soft);font-size:12px;line-height:1.6;max-width:680px}
.v33-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.v33-level-card{border:1px solid var(--v33-border);background:rgba(255,255,255,.04);border-radius:18px;padding:14px;text-align:left;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:7px;min-height:120px;transition:.18s}
.v33-level-card:hover{transform:translateY(-2px);border-color:rgba(196,181,253,.45)}
.v33-level-card.active{background:linear-gradient(135deg,rgba(139,92,246,.25),rgba(56,189,248,.1));border-color:rgba(196,181,253,.48);box-shadow:0 12px 26px rgba(79,70,229,.16)}
.v33-level-card .v33-level-icon{font-size:23px}
.v33-level-card b{font-size:15px}
.v33-level-card span{font-size:11px;color:#c7d2fe;font-weight:800}
.v33-level-card small{font-size:11px;color:var(--v33-soft);line-height:1.55}
.v33-week-plan{border-radius:26px;padding:18px;margin:0 0 17px}
.v33-week-progress{display:flex;align-items:center;gap:10px;white-space:nowrap}
.v33-week-progress b{font-size:22px}
.v33-week-progress span{font-size:11px;color:var(--v33-soft)}
.v33-week-bar{height:7px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin-bottom:14px}
.v33-week-bar i{height:100%;display:block;border-radius:999px;background:linear-gradient(90deg,var(--v33-primary),var(--v33-cyan));transition:.3s}
.v33-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}
.v33-day-card{border:1px solid var(--v33-border);background:rgba(255,255,255,.04);border-radius:17px;padding:12px 10px;min-height:156px;display:flex;flex-direction:column;gap:6px;color:#fff;text-align:left;position:relative}
.v33-day-card.today{background:linear-gradient(145deg,rgba(56,189,248,.14),rgba(139,92,246,.12));border-color:rgba(125,211,252,.34)}
.v33-day-card.done{border-color:rgba(52,211,153,.38);background:rgba(52,211,153,.07)}
.v33-day-card .day{font-size:10px;letter-spacing:.12em;color:#c7d2fe;font-weight:900}
.v33-day-card .icon{font-size:22px}
.v33-day-card b{font-size:13px;line-height:1.35}
.v33-day-card p{font-size:10.5px;line-height:1.5;color:var(--v33-soft);margin:0}
.v33-day-actions{display:flex;gap:6px;margin-top:auto}
.v33-day-actions button{border:1px solid var(--v33-border);background:rgba(255,255,255,.055);border-radius:10px;color:#fff;padding:7px 8px;font-size:10px;cursor:pointer;flex:1}
.v33-day-actions button.primary{background:linear-gradient(135deg,rgba(139,92,246,.35),rgba(56,189,248,.14))}
.v33-day-check{position:absolute;right:9px;top:9px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);font-size:12px}
.v33-day-card.done .v33-day-check{background:var(--v33-green);color:#052016}
.v33-bonus-library{border-radius:26px;padding:18px;margin:0 0 18px}
.v33-bonus-count{border:1px solid rgba(125,211,252,.24);background:rgba(56,189,248,.08);border-radius:999px;padding:8px 12px;font-size:11px;color:#d9f4ff;font-weight:800;white-space:nowrap}
.v33-bonus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.v33-bonus-card{border:1px solid var(--v33-border);background:linear-gradient(150deg,rgba(255,255,255,.065),rgba(255,255,255,.025));border-radius:19px;padding:15px;color:#fff;display:flex;flex-direction:column;gap:8px;min-height:225px;position:relative}
.v33-bonus-card.complete{border-color:rgba(52,211,153,.34);background:rgba(52,211,153,.055)}
.v33-bonus-card .top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.v33-bonus-card .icon{font-size:28px}
.v33-bonus-card .badge{font-size:9px;letter-spacing:.12em;font-weight:900;color:#c7d2fe;background:rgba(139,92,246,.13);padding:6px 8px;border-radius:999px}
.v33-bonus-card h3{font-size:16px;margin:0}
.v33-bonus-card p{font-size:11px;line-height:1.55;color:var(--v33-soft);margin:0}
.v33-bonus-phrase{border-left:2px solid var(--v33-cyan);background:rgba(56,189,248,.06);padding:9px 10px;border-radius:0 11px 11px 0;display:flex;flex-direction:column;gap:3px}
.v33-bonus-phrase b{font-size:12px;line-height:1.45}
.v33-bonus-phrase small{font-size:10px;color:var(--v33-soft)}
.v33-bonus-card button{margin-top:auto;border:0;border-radius:12px;padding:10px 12px;background:linear-gradient(135deg,#8b5cf6,#4f46e5);color:#fff;font-weight:800;cursor:pointer}
.v33-bonus-card.complete button{background:rgba(52,211,153,.16);border:1px solid rgba(52,211,153,.28)}
.v33-mini-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(3,7,18,.72);display:grid;place-items:center;padding:18px;backdrop-filter:blur(10px)}
.v33-mini-modal{width:min(900px,96vw);max-height:92vh;overflow:auto;border:1px solid var(--v33-border);background:linear-gradient(165deg,#243352,#18243b);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.5);color:#fff;padding:22px}
.v33-mini-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.v33-mini-top h2{font-size:27px;margin:5px 0 5px}
.v33-mini-top p{font-size:12px;color:var(--v33-soft);margin:0}
.v33-mini-close{width:39px;height:39px;border-radius:13px;border:1px solid var(--v33-border);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;font-size:20px}
.v33-mini-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}
.v33-mini-step{border:1px solid var(--v33-border);background:rgba(255,255,255,.04);border-radius:13px;padding:10px;color:#fff;font-size:11px;font-weight:800;cursor:pointer}
.v33-mini-step.active{background:linear-gradient(135deg,rgba(139,92,246,.3),rgba(56,189,248,.12));border-color:rgba(196,181,253,.4)}
.v33-mini-body{border:1px solid var(--v33-border);background:rgba(255,255,255,.035);border-radius:20px;padding:18px;min-height:310px}
.v33-word-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.v33-word-card{border:1px solid var(--v33-border);background:rgba(255,255,255,.045);border-radius:15px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}
.v33-word-card b{font-size:16px}.v33-word-card span{font-size:12px;color:var(--v33-soft);grid-column:1}
.v33-word-card button,.v33-listen-button{border:1px solid rgba(56,189,248,.28);background:rgba(56,189,248,.09);color:#dff7ff;border-radius:10px;padding:8px;cursor:pointer}
.v33-practice-question{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:18px}
.v33-practice-question .big{font-size:32px;font-weight:900}
.v33-practice-question p{font-size:13px;color:var(--v33-soft);margin:0}
.v33-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;width:100%}
.v33-choice-grid button{border:1px solid var(--v33-border);background:rgba(255,255,255,.05);border-radius:13px;color:#fff;padding:12px;cursor:pointer}
.v33-choice-grid button.right{border-color:rgba(52,211,153,.5);background:rgba(52,211,153,.11)}
.v33-choice-grid button.wrong{border-color:rgba(251,113,133,.5);background:rgba(251,113,133,.1)}
.v33-test-box{max-width:650px;margin:auto;display:flex;flex-direction:column;gap:13px;align-items:stretch}
.v33-test-box .target{border:1px solid var(--v33-border);background:rgba(255,255,255,.045);border-radius:15px;padding:14px;text-align:center}
.v33-test-box .target b{font-size:18px}.v33-test-box .target p{font-size:12px;color:var(--v33-soft)}
.v33-test-box input{width:100%;border:1px solid var(--v33-border);background:rgba(3,7,18,.38);color:#fff;border-radius:13px;padding:13px;font-size:14px}
.v33-test-actions{display:flex;gap:8px}.v33-test-actions button{flex:1;border:0;border-radius:12px;padding:11px;color:#fff;background:linear-gradient(135deg,#8b5cf6,#4f46e5);font-weight:800;cursor:pointer}.v33-test-actions button.secondary{background:rgba(255,255,255,.08);border:1px solid var(--v33-border)}
.v33-feedback{padding:11px 12px;border-radius:12px;font-size:12px;line-height:1.55}.v33-feedback.ok{background:rgba(52,211,153,.1);color:#a7f3d0}.v33-feedback.bad{background:rgba(251,113,133,.1);color:#fecdd3}
.v33-review-summary{text-align:center;padding:20px;display:flex;flex-direction:column;align-items:center;gap:10px}.v33-review-summary .medal{font-size:54px}.v33-review-summary h3{font-size:25px;margin:0}.v33-review-summary p{font-size:12px;color:var(--v33-soft);max-width:600px}.v33-review-summary button{border:0;border-radius:13px;padding:12px 18px;background:linear-gradient(135deg,#34d399,#0d9488);color:#041b15;font-weight:900;cursor:pointer}
.v33-band-pill{font-size:10px;font-weight:900;letter-spacing:.12em;color:#dbeafe;padding:7px 10px;border:1px solid var(--v33-border);border-radius:999px;background:rgba(255,255,255,.05)}
@media(max-width:1200px){.v33-week-grid{grid-template-columns:repeat(4,1fr)}.v33-bonus-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.v33-level-grid,.v33-bonus-grid{grid-template-columns:1fr}.v33-week-grid{grid-template-columns:repeat(2,1fr)}.v33-level-head,.v33-week-head,.v33-bonus-head{align-items:flex-start;flex-direction:column}.v33-mini-steps{grid-template-columns:repeat(2,1fr)}.v33-word-grid,.v33-choice-grid{grid-template-columns:1fr}.v33-mini-modal{padding:16px;border-radius:20px}.v33-mini-top h2{font-size:22px}}
@media(max-width:440px){.v33-week-grid{grid-template-columns:1fr}.v33-day-card{min-height:135px}}
