:root{
  --navy:#071a3a;
  --blue:#0f3d73;
  --cyan:#19bfe8;
  --orange:#ff8a00;
  --gold:#d8a31a;
  --silver:#c9d0d8;
  --bronze:#b87333;
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#152238;
  --muted:#6b7280;
  --line:#e5e7eb;
  --green:#16a34a;
  --red:#dc2626;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
.topbar{background:#ffffff;color:var(--navy);padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:10;box-shadow:0 6px 22px rgba(0,0,0,.08);border-bottom:1px solid var(--line)}
.brand-wrap{display:flex;flex-direction:column;gap:6px}
.brand{display:flex;align-items:center;gap:12px}
.brand-logo-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px 14px;box-shadow:0 8px 18px rgba(7,26,58,.08)}
.brand-icon{width:48px;height:48px;object-fit:contain;display:block}
.brand-logo{height:42px;width:auto;display:block}
.brand-subtitle{font-size:12px;color:var(--muted);padding-left:4px;font-weight:700}
.topnav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.topnav a{padding:8px 12px;border-radius:10px;opacity:.95;font-weight:700;color:var(--navy)}
.topnav a:hover,.btn-mini{background:#eef2ff}
.container{max-width:1180px;margin:0 auto;padding:22px}
.footer{padding:18px 22px;text-align:center;color:var(--muted);font-size:13px;border-top:1px solid var(--line);background:#fff;margin-top:20px}
.footer-brand{display:inline-flex;align-items:center;gap:12px}
.footer-icon{width:38px;height:38px;object-fit:contain;border-radius:50%;background:#fff}
.footer-title{font-weight:800;color:var(--navy)}
.hero{background:linear-gradient(135deg,#071a3a,#0f3d73 65%,#19bfe8);color:#fff;border-radius:28px;padding:28px;margin-bottom:22px;box-shadow:0 14px 35px rgba(7,26,58,.22)}
.hero h1{font-size:34px;margin:0 0 8px}
.hero p{font-size:16px;opacity:.92;margin:0 0 18px;max-width:850px;line-height:1.55}
.btn,.button{display:inline-block;background:var(--orange);color:#fff;border:0;border-radius:12px;padding:11px 16px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(255,138,0,.25)}
.btn.secondary{background:#fff;color:var(--navy)}
.btn.gray{background:#e5e7eb;color:#111827}
.btn.danger{background:var(--red)}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card,.event-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 8px 22px rgba(15,61,115,.06)}
.event-card h3,.card h3{margin:0 0 8px;color:var(--navy)}
.event-card p,.card p{color:var(--muted);line-height:1.5}
.notice{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;padding:12px 14px;border-radius:14px;margin-bottom:16px}
.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 14px;border-radius:14px;margin-bottom:16px}
.leader-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
.leader-tabs a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 12px;color:var(--navy);font-weight:700}
.leader-tabs a.active{background:var(--navy);color:#fff}
.top3{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin-bottom:18px;align-items:stretch}
.champion-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;display:flex;gap:14px;align-items:center;box-shadow:0 10px 26px rgba(0,0,0,.08);position:relative;overflow:hidden}
.champion-card.rank1{border:2px solid #f6c244;min-height:150px}
.champion-card.rank1:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(216,163,26,.18),transparent 45%);pointer-events:none}
.champion-photo{width:82px;height:82px;border-radius:50%;object-fit:cover;background:#e5e7eb;border:4px solid #fff;box-shadow:0 5px 14px rgba(0,0,0,.15)}
.rank1 .champion-photo{width:96px;height:96px}
.rank-badge{font-size:28px}
.champion-name{font-size:19px;font-weight:800;color:var(--navy)}
.champion-meta{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.45}
.points{font-size:22px;font-weight:900;color:var(--orange);margin-top:6px}
.leader-list{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.leader-row{display:grid;grid-template-columns:70px 1fr 130px 180px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.leader-row:last-child{border-bottom:0}
.small-photo{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#e5e7eb}
.form{max-width:700px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 8px 20px rgba(0,0,0,.06)}
label{display:block;font-weight:700;margin:12px 0 6px}
input,select,textarea{width:100%;padding:11px;border:1px solid #d1d5db;border-radius:12px;font-size:16px;background:#fff}
textarea{min-height:90px}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px}
table{border-collapse:collapse;width:100%;min-width:720px}
th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left}
th{background:#f9fafb;color:var(--navy);font-size:13px;text-transform:uppercase}
.timer{position:sticky;top:90px;z-index:8;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 16px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 7px 18px rgba(0,0,0,.08)}
.timer strong{font-size:20px;color:var(--orange)}
.memory-block{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:16px}
.group-card{background:#f8fbff;border:1px solid #dbeafe;border-radius:18px;padding:14px 14px 16px;margin-bottom:16px}
.group-card h3{margin:0 0 12px;color:var(--navy)}
.digit-row{font-size:23px;letter-spacing:5px;font-weight:800;white-space:nowrap;overflow-x:auto;background:#f8fafc;border-radius:14px;padding:12px;margin:8px 0;color:#0f172a}
.word-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}
.word-grid-4{grid-template-columns:repeat(4,minmax(150px,1fr))}
.word-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center;font-weight:700;min-height:74px;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 5px 12px rgba(15,61,115,.04)}
.numbered-word .word-no{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;border-radius:999px;background:var(--navy);color:#fff;font-size:14px;font-weight:800;margin-bottom:8px}
.numbered-word .word-text{font-size:17px;color:var(--text)}
.word-recall-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.compact-recall{padding:12px}
.compact-recall label{margin:0 0 6px;font-size:14px;color:var(--navy)}
.image-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px}
.image-card{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:8px;text-align:center}
.image-card img{width:100%;height:95px;object-fit:contain}
.face-card img{width:100%;height:120px;object-fit:cover;border-radius:12px}
.card-grid{display:grid;grid-template-columns:repeat(13,minmax(58px,1fr));gap:8px}
.play-card{height:82px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;box-shadow:0 4px 10px rgba(0,0,0,.08)}
.play-card.red{color:#dc2626}
.recall-row{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:14px}
.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.stat .num{font-size:30px;font-weight:900;color:var(--orange)}
.badge{display:inline-flex;gap:6px;align-items:center;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:999px;padding:6px 10px;font-weight:700;font-size:13px}
.result-hero{text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px}
.result-score{font-size:56px;font-weight:900;color:var(--orange)}
@media (max-width:900px){
  .container{padding:14px}
  .topbar{align-items:flex-start;flex-direction:column}
  .brand-logo{height:32px}
  .brand-icon{width:38px;height:38px}
  .hero h1{font-size:26px}
  .top3{grid-template-columns:1fr}
  .grid-2,.grid-3,.grid-4,.word-recall-grid{grid-template-columns:1fr}
  .leader-row{grid-template-columns:48px 1fr 90px;gap:8px}
  .leader-row .hide-sm{display:none}
  .word-grid,.word-grid-4{grid-template-columns:repeat(2,1fr)}
  .image-grid{grid-template-columns:repeat(2,1fr)}
  .card-grid{grid-template-columns:repeat(4,1fr)}
  .digit-row{font-size:20px;letter-spacing:3px}
}
@media print{
  .topbar,.footer,.btn,.leader-tabs{display:none}
  .container{max-width:none}
}


.card-select{font-weight:800}
.card-select.card-red{color:#dc2626;border-color:#fecaca;background:#fff5f5}
.card-select.card-black{color:#111827;border-color:#cbd5e1;background:#fff}
.card-red-text{color:#dc2626;font-weight:900}
.card-black-text{color:#111827;font-weight:900}
.analysis-section{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;margin-top:22px;box-shadow:0 8px 22px rgba(15,61,115,.06)}
.analysis-section h2{margin-top:0;color:var(--navy)}
.compare-card{background:#f8fbff;border:1px solid #dbeafe;border-radius:18px;padding:16px;margin-bottom:16px}
.compare-card h3{margin:0 0 12px;color:var(--navy)}
.compare-label{font-weight:800;color:var(--muted);font-size:13px;margin:10px 0 6px;text-transform:uppercase}
.diff-line{font-family:Consolas,monospace;font-size:20px;letter-spacing:2px;line-height:2;overflow-x:auto;white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}
.diff-char{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:30px;border-radius:6px;margin:1px}
.diff-ok{background:#ecfdf5;color:#166534}
.diff-wrong{background:#fee2e2;color:#991b1b;font-weight:900}
.status-wrong{display:inline-block;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:999px;padding:5px 10px;font-weight:800}
.status-ok{display:inline-block;background:#dcfce7;color:#166534;border:1px solid #bbf7d0;border-radius:999px;padding:5px 10px;font-weight:800}
.wrong-text{color:#991b1b;font-weight:800}


.dashboard-profile{display:flex;align-items:center;gap:18px}
.dashboard-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#fff;border:4px solid rgba(255,255,255,.85);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.profile-hero{background:linear-gradient(135deg,#071a3a,#0f3d73 70%,#19bfe8);color:#fff;border-radius:28px;padding:28px;margin-bottom:22px;display:flex;align-items:center;gap:22px;box-shadow:0 14px 35px rgba(7,26,58,.22)}
.profile-hero h1{margin:0 0 8px;font-size:32px}
.profile-hero p{margin:0 0 16px;opacity:.9}
.profile-photo-large{width:132px;height:132px;border-radius:50%;object-fit:cover;background:#fff;border:6px solid rgba(255,255,255,.9);box-shadow:0 10px 24px rgba(0,0,0,.22)}
.privacy-box{background:#f8fbff;border:1px solid #dbeafe;border-radius:16px;padding:14px;margin-top:14px}
.check-label{display:flex;align-items:center;gap:10px;font-weight:700;margin:10px 0}
.check-label input{width:auto}
@media (max-width:900px){
  .dashboard-profile,.profile-hero{flex-direction:column;text-align:center;align-items:center}
  .profile-photo-large{width:112px;height:112px}
}


.infinite-box{background:#f8fbff;border:1px solid #dbeafe;border-radius:18px;padding:14px;margin-top:14px}
.infinite-box label{color:var(--navy)}


/* Logo fix: use one official horizontal Mindwhiz logo only */
.brand-logo-box{padding:8px 16px;min-width:206px;justify-content:center}
.brand-logo.single-logo{height:46px;width:auto;max-width:190px;object-fit:contain;display:block}
.footer-brand{display:inline-flex;align-items:center;justify-content:center}
.footer-logo{height:44px;width:auto;max-width:260px;object-fit:contain;display:block}
@media (max-width:900px){
  .brand-logo.single-logo{height:38px;max-width:170px}
  .brand-logo-box{min-width:190px}
  .footer-logo{height:38px;max-width:230px}
}


.image-analysis-list{display:grid;gap:16px}
.image-compare-card{overflow:hidden}
.mini-image-sequence{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;overflow-x:auto}
.mini-image-position{text-align:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:8px;min-width:110px}
.mini-position-no{font-size:12px;font-weight:800;color:var(--navy);margin-bottom:6px}
.mini-image-thumb{width:100%;height:82px;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:8px}
.mini-image-label{font-size:11px;color:var(--muted);margin-top:4px}
.mini-image-box.empty-image{height:82px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:12px;font-weight:800}
@media (max-width:900px){
  .mini-image-sequence{grid-template-columns:repeat(2,minmax(110px,1fr))}
}


.mode-card{display:block;min-height:160px}
.training-mode-card{border:2px solid #bfdbfe;background:linear-gradient(135deg,#ffffff,#eff6ff)}
.competition-mode-card{border:2px solid #fed7aa;background:linear-gradient(135deg,#ffffff,#fff7ed)}
.mode-lock-box{border-radius:18px;padding:14px;margin:12px 0 16px;border:1px solid var(--line)}
.mode-lock-box h3{margin:0 0 6px;color:var(--navy)}
.mode-lock-box p{margin:0;color:var(--muted);line-height:1.45}
.training-lock{background:#eff6ff;border-color:#bfdbfe;color:#0f3d73}
.competition-lock{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.mode-result-note{border-radius:18px;padding:14px;margin-top:18px;line-height:1.5}


.method-box{border:1px solid #bfdbfe;background:#eff6ff;border-radius:18px;padding:14px;margin:14px 0}
.method-box h3{margin:0 0 8px;color:var(--navy)}
.binary-map-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px;margin-top:12px}
.binary-map-item{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid #dbeafe;border-radius:14px;padding:12px;font-size:18px}
.binary-map-item strong{font-family:ui-monospace,Consolas,monospace;color:#0f172a}
.binary-map-item span{font-size:24px;font-weight:900;color:#0f3d73}
.binary-mini-map{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.binary-mini-map span{font-family:ui-monospace,Consolas,monospace;background:#fff;border:1px solid #bfdbfe;border-radius:999px;padding:6px 10px;font-weight:800;color:#0f3d73}
.binary-chunk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:12px}
.binary-chunk-card{background:#fff;border:1px solid #dbeafe;border-radius:16px;padding:12px;box-shadow:0 10px 25px rgba(15,23,42,.06)}
.binary-bits{font-family:ui-monospace,Consolas,monospace;font-size:20px;font-weight:900;letter-spacing:1px;color:#0f172a;margin:6px 0}
.binary-segments{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.binary-segments span{font-family:ui-monospace,Consolas,monospace;background:#eff6ff;border-radius:8px;padding:5px 7px;font-weight:800;color:#0f3d73;font-size:12px}
.binary-code{font-size:22px;font-weight:900;color:#ea580c;margin-top:8px}
@media (max-width:900px){
  .binary-map-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}
}


.event-card-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.event-icon{width:46px;height:46px;border-radius:16px;background:#eff6ff;border:1px solid #bfdbfe;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:22px;color:#0f3d73;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.event-card-premium h3{margin:0}
.level-lock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:14px 0 18px}
.level-lock-card{border-radius:14px;padding:12px;border:1px solid #e5e7eb;background:#fff;display:flex;flex-direction:column;gap:4px}
.level-lock-card.unlocked{border-color:#86efac;background:#f0fdf4}
.level-lock-card.locked{border-color:#cbd5e1;background:#f8fafc;color:#64748b}
.level-lock-card span,.level-lock-card small{font-size:12px;color:var(--muted)}
.journey-list{display:flex;flex-wrap:wrap;gap:8px}
.journey-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f8fafc;border:1px solid #e5e7eb;color:var(--navy);font-weight:800;text-decoration:none}
.journey-pill.active{background:#0f3d73;color:#fff;border-color:#0f3d73}
.location-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.location-row{display:flex;align-items:center;gap:8px}
.location-row span{width:34px;height:34px;border-radius:10px;background:#eff6ff;color:#0f3d73;display:flex;align-items:center;justify-content:center;font-weight:900}
.peg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;max-height:680px;overflow:auto;padding-right:4px}
.peg-row{display:grid;grid-template-columns:58px 1fr 1fr;gap:8px;align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:8px}
.peg-row strong{font-family:ui-monospace,Consolas,monospace;color:#0f3d73;font-size:16px}
.method-location-card{background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:14px;margin:12px 0;box-shadow:0 10px 25px rgba(15,23,42,.06)}
.method-location-title{font-weight:900;color:#0f3d73;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:8px 10px;margin-bottom:10px;display:inline-block}
.peg-help{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:7px 9px;margin-top:8px;font-weight:800;color:#9a3412}
.peg-help.muted{background:#f8fafc;border-color:#e5e7eb;color:#64748b}
@media (max-width:900px){.peg-row{grid-template-columns:1fr}.event-card-head{align-items:flex-start}.event-icon{width:40px;height:40px}}


.language-switcher{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:4px 8px;font-size:12px;color:#e5e7eb}
.language-switcher a{padding:4px 8px;border-radius:999px;color:#e5e7eb;text-decoration:none;font-weight:800}
.language-switcher a.active{background:#fff;color:#0f3d73}
.language-hero{text-align:center}
.language-grid{margin-top:18px}
.language-card{text-decoration:none;color:inherit;text-align:center;transition:.2s ease;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.language-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(15,23,42,.13)}
.language-card h2{font-size:32px;margin:0 0 10px;color:var(--navy)}
@media (max-width:900px){.language-switcher{width:100%;justify-content:center}.topnav{gap:8px}.language-card h2{font-size:26px}}


/* V18: compact language dropdown + clean logo-free footer */
.language-select-form{display:inline-flex;align-items:center;margin:0 6px}
.language-select{
  appearance:auto;
  border:1px solid rgba(15,23,42,.14);
  background:#ffffff;
  color:#0f172a;
  border-radius:999px;
  padding:8px 34px 8px 12px;
  font-weight:800;
  font-size:13px;
  min-width:118px;
  height:38px;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
}
.language-select:focus{outline:2px solid rgba(37,99,235,.25);border-color:#2563eb}
.footer{
  margin-top:32px;
  padding:18px 20px;
  text-align:center;
  border-top:1px solid var(--line);
  background:#ffffff;
  color:var(--muted);
}
.footer-copy{font-size:14px;font-weight:800;color:#334155}
.footer-meta{font-size:12px;margin-top:4px;color:#64748b}
.footer-brand,.footer-logo,.footer-icon{display:none!important}
@media (max-width:900px){
  .language-select-form{width:100%;justify-content:flex-start;margin:8px 0 0}
  .language-select{min-width:150px}
}


/* V18: compact one-box language dropdown + clean logo-free footer */
.language-switcher{display:none!important}
.language-select-form{display:inline-flex;align-items:center;margin:0 6px}
.language-select{
  appearance:auto;
  border:1px solid rgba(15,23,42,.14);
  background:#ffffff;
  color:#0f172a;
  border-radius:999px;
  padding:8px 34px 8px 12px;
  font-weight:800;
  font-size:13px;
  min-width:122px;
  height:38px;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
}
.language-select:focus{outline:2px solid rgba(37,99,235,.25);border-color:#2563eb}
.footer{
  margin-top:32px;
  padding:18px 20px;
  text-align:center;
  border-top:1px solid var(--line);
  background:#ffffff;
  color:var(--muted);
}
.footer-copy{font-size:14px;font-weight:800;color:#334155}
.footer-meta{font-size:12px;margin-top:4px;color:#64748b}
.footer-brand,.footer-logo,.footer-icon{display:none!important}
@media (max-width:900px){
  .language-select-form{width:100%;justify-content:flex-start;margin:8px 0 0}
  .language-select{min-width:150px}
}


/* V19: Memocamp-style clean header actions + footer logo without box */
.topbar-clean{
  background:#ffffff;
  color:var(--navy);
  padding:14px 22px;
  align-items:center;
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 26px rgba(15,23,42,.08);
}
.brand-wrap-clean{gap:4px;align-items:flex-start}
.brand-clean,
.brand-logo-box{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  min-width:0!important;
  border-radius:0!important;
}
.header-logo-clean{height:50px!important;max-width:210px!important;width:auto!important;object-fit:contain;display:block;background:transparent!important}
.topnav-clean{gap:14px;align-items:center;justify-content:flex-end}
.topnav-clean a{font-weight:900;color:var(--navy);padding:9px 10px;border-radius:12px}
.topnav-clean a:hover{background:#eef6ff;color:#0f3d73}
.compact-language{margin:0 4px!important;width:auto!important;justify-content:center!important}
.compact-language .language-select,
.language-select{
  min-width:126px!important;
  height:40px!important;
  border-radius:10px!important;
  border:1px solid #cbd5e1!important;
  background:#ffffff!important;
  color:#0f172a!important;
  font-weight:900!important;
  box-shadow:0 6px 16px rgba(15,23,42,.08)!important;
}
.login-pill{background:#eef2ff!important;color:#0f3d73!important;border:1px solid #dbeafe!important;border-radius:10px!important;padding:10px 14px!important;font-weight:900!important}
.login-pill:hover{background:#dbeafe!important}
.logout-pill{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important}
.register-pill{background:var(--orange)!important;color:#ffffff!important;border-radius:10px!important;padding:10px 14px!important;font-weight:900!important;box-shadow:0 8px 18px rgba(255,138,0,.22)}
.footer-with-logo{
  margin-top:34px;
  padding:24px 20px 22px;
  text-align:center;
  background:#ffffff;
  border-top:1px solid var(--line);
  color:var(--muted);
}
.footer-with-logo .footer-logo-clean{
  display:block!important;
  height:40px;
  width:auto;
  max-width:240px;
  object-fit:contain;
  margin:0 auto 10px;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.footer-with-logo .footer-copy{font-size:13px;font-weight:800;color:#334155}
.footer-with-logo .footer-meta{font-size:12px;margin-top:4px;color:#64748b}
@media (max-width:900px){
  .topbar-clean{align-items:flex-start;flex-direction:column;padding:12px 16px}
  .header-logo-clean{height:42px!important;max-width:190px!important}
  .topnav-clean{width:100%;justify-content:flex-start;gap:8px}
  .compact-language{margin:4px 0!important}
  .compact-language .language-select{min-width:150px!important}
  .footer-with-logo .footer-logo-clean{height:36px;max-width:220px}
}


/* V20: footer left policy links + right copyright */
.footer.footer-split{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 28px;
  margin-top:32px;
  border-top:1px solid var(--line);
  background:#ffffff;
  color:#64748b;
  text-align:left;
}
.footer-links{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.footer-links a{
  color:#0f172a;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}
.footer-links a:hover{
  color:#ff8a00;
}
.footer-copy{
  font-size:13px;
  font-weight:800;
  color:#334155;
  text-align:right;
}
.policy-card{
  max-width:960px;
  margin:28px auto;
  line-height:1.7;
}
@media (max-width:900px){
  .footer.footer-split{
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
  }
  .footer-copy{
    text-align:left;
  }
}

/* V21: Memocamp-style student profile dropdown + default journey integration UI */
.profile-menu{position:relative;display:inline-flex;align-items:center;z-index:40}
.profile-toggle{border:0;background:rgba(15,23,42,.08);color:#0f172a;border-radius:8px;padding:9px 14px;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.topbar-clean .profile-toggle{background:#5d5652;color:#fff;border-radius:4px;box-shadow:none}
.profile-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;width:260px;background:#5d5652;color:#fff;border-radius:6px;padding:12px 0;box-shadow:0 18px 45px rgba(0,0,0,.25);text-align:left;z-index:1000}
.profile-menu:hover .profile-dropdown,.profile-menu:focus-within .profile-dropdown{display:block}
.profile-dropdown a{display:block;padding:9px 18px;color:#fff!important;border-radius:0;font-weight:800;font-size:14px;line-height:1.25}
.profile-dropdown a:hover{background:rgba(255,255,255,.12);color:#fff!important}
.profile-dropdown .dropdown-overview{color:#8cc63f!important;text-transform:lowercase;font-weight:900}
.profile-dropdown .dropdown-danger{margin-top:6px;border-top:1px solid rgba(255,255,255,.14);padding-top:12px}
.student-profile-menu .profile-dropdown:before{content:"";position:absolute;top:-8px;right:24px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #5d5652}
.journey-mini-card{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:10px;margin-bottom:10px}
.journey-mini-card.active{border-color:#ff8a00;background:#fff7ed}
.default-badge{display:inline-flex;align-items:center;border-radius:999px;background:#dcfce7;color:#166534;border:1px solid #bbf7d0;padding:6px 10px;font-size:12px;font-weight:900}
.inline-form{display:inline;margin:0}
.btn-mini{border:0;border-radius:999px;background:#eef2ff;color:#0f172a;padding:7px 10px;font-weight:900;cursor:pointer;font-size:12px}
.btn-mini:hover{background:#dbeafe}
.certificate-summary-card{max-width:720px;margin:0 auto}
@media (max-width:900px){
  .profile-menu{width:100%;justify-content:flex-start}
  .profile-toggle{width:100%;text-align:left}
  .profile-dropdown{position:static;width:100%;margin-top:8px}
  .student-profile-menu .profile-dropdown:before{display:none}
}


/* V23: competition format selection */
.format-card{position:relative;min-height:190px;text-decoration:none;display:block;border:2px solid #fed7aa;background:linear-gradient(135deg,#ffffff,#fff7ed)}
.format-card:hover{transform:translateY(-2px);box-shadow:0 18px 45px rgba(15,23,42,.12)}
.format-badge{display:inline-flex;align-items:center;border-radius:999px;background:#fff3e0;color:#c2410c;border:1px solid #fed7aa;padding:6px 10px;font-size:12px;font-weight:900;margin-bottom:10px}
.format-head-card{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;margin:18px 0;box-shadow:0 14px 35px rgba(15,23,42,.07)}
.format-head-card h2{margin:6px 0;color:var(--navy)}
.format-head-card p{margin:0;color:var(--muted)}
.format-mini-lock{display:flex;align-items:center;gap:12px;justify-content:space-between;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:12px 14px;margin-bottom:12px;color:#9a3412;font-weight:800}
.format-mini-lock a{color:#0f3d73;text-decoration:none;font-weight:900}
.format-result-badge,.format-inline-badge{display:inline-flex;margin-left:8px;border-radius:999px;padding:6px 10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:12px;font-weight:900}
.format-inline-badge{vertical-align:middle}
@media (max-width:900px){.format-head-card,.format-mini-lock{flex-direction:column;align-items:flex-start}.format-result-badge{margin-left:0;margin-top:8px}}


/* V27: Light / Dark Theme System */
.theme-select-form{display:inline-flex;align-items:center;margin:0 6px}
.theme-select{
  appearance:auto;
  border:1px solid rgba(15,23,42,.14);
  background:#ffffff;
  color:#0f172a;
  border-radius:999px;
  padding:8px 28px 8px 12px;
  font-weight:800;
  font-size:13px;
  min-width:112px;
  height:38px;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
}
.theme-select:focus{outline:2px solid rgba(37,99,235,.25);border-color:#2563eb}

body.theme-dark{
  --navy:#eaf2ff;
  --blue:#8cc7ff;
  --cyan:#40d9ff;
  --orange:#ffb45c;
  --gold:#ffd76a;
  --silver:#94a3b8;
  --bronze:#d69b62;
  --bg:#08111f;
  --card:#101c2f;
  --text:#edf5ff;
  --muted:#a8b3c7;
  --line:#24344f;
  --green:#4ade80;
  --red:#fb7185;
  background:#08111f;
  color:#edf5ff;
}
body.theme-dark .topbar,
body.theme-dark .footer,
body.theme-dark .card,
body.theme-dark .form,
body.theme-dark .event-card,
body.theme-dark .stat,
body.theme-dark .leader-row,
body.theme-dark .profile-hero,
body.theme-dark .format-head-card,
body.theme-dark .method-box,
body.theme-dark .mode-lock-box,
body.theme-dark .compare-card,
body.theme-dark .group-card{
  background:#101c2f!important;
  color:#edf5ff;
  border-color:#24344f!important;
  box-shadow:0 14px 35px rgba(0,0,0,.35);
}
body.theme-dark .hero{
  background:linear-gradient(135deg,#0b1d36,#112f4f)!important;
  color:#edf5ff;
}
body.theme-dark input,
body.theme-dark textarea,
body.theme-dark select{
  background:#08111f;
  color:#edf5ff;
  border-color:#334155;
}
body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder{color:#7f8ba3}
body.theme-dark .topnav a,
body.theme-dark .footer-links a{color:#edf5ff}
body.theme-dark .brand-subtitle,
body.theme-dark .champion-meta,
body.theme-dark .footer-copy,
body.theme-dark .footer-meta{color:#a8b3c7}
body.theme-dark .language-select,
body.theme-dark .theme-select{
  background:#101c2f;
  color:#edf5ff;
  border-color:#334155;
}
body.theme-dark .profile-dropdown{
  background:#101c2f;
  border-color:#334155;
  box-shadow:0 18px 40px rgba(0,0,0,.45);
}
body.theme-dark .profile-dropdown a{color:#edf5ff}
body.theme-dark .profile-dropdown a:hover{background:#17243a}
@media (max-width:900px){
  .theme-select-form{width:100%;justify-content:flex-start;margin:8px 0 0}
  .theme-select{min-width:150px}
}


/* V28: Discipline Manager */
.mini-format-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mini-check{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:5px 8px}
.theme-dark .mini-check{background:#0b1628;border-color:#334155}
pre{white-space:pre-wrap;overflow:auto;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px}
.theme-dark pre{background:#08111f;border-color:#334155;color:#edf5ff}


/* V29: Student Disciplines Menu + Learn Scorecard */
.discipline-hero{
  background:linear-gradient(135deg,#071a3a,#0f3d73)!important;
}
.discipline-menu-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.discipline-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
  display:flex;
  flex-direction:column;
  gap:12px;
}
.discipline-card-head{
  display:flex;
  align-items:center;
  gap:12px;
}
.discipline-icon,.discipline-detail-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:linear-gradient(135deg,#fff7ed,#e0f2fe);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:900;
  color:#071a3a;
  border:1px solid rgba(255,138,0,.18);
}
.discipline-zone{
  color:var(--orange);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.discipline-mini-score{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:auto;
}
.discipline-mini-score div{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:14px;
  padding:9px;
  text-align:center;
}
.discipline-mini-score strong{
  display:block;
  font-size:15px;
  color:var(--navy);
}
.discipline-mini-score span{
  display:block;
  font-size:10px;
  color:var(--muted);
  font-weight:800;
}
.discipline-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.discipline-detail-hero{
  display:flex;
  align-items:center;
  gap:18px;
}
.discipline-steps{
  margin:0;
  padding-left:20px;
  line-height:1.9;
}
.discipline-steps li{
  margin-bottom:6px;
  font-weight:700;
}
.scorecard-card{
  margin-top:18px;
}
.scorecard-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.scorecard-metric{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
}
.scorecard-metric span{
  display:block;
  font-weight:900;
  color:var(--navy);
}
.scorecard-metric strong{
  display:inline-block;
  margin-top:8px;
  color:var(--orange);
  font-size:12px;
}
.discipline-action-panel{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:18px 0;
}
.discipline-dashboard-card{
  border:2px solid rgba(255,138,0,.25);
}
body.theme-dark .discipline-card,
body.theme-dark .scorecard-metric,
body.theme-dark .discipline-mini-score div{
  background:#101c2f;
  border-color:#24344f;
}
body.theme-dark .discipline-icon,
body.theme-dark .discipline-detail-icon{
  background:linear-gradient(135deg,#1b2a44,#133b5b);
  color:#edf5ff;
}
body.theme-dark .discipline-mini-score strong,
body.theme-dark .scorecard-metric span{color:#edf5ff}
@media(max-width:1000px){
  .discipline-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scorecard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .discipline-menu-grid{grid-template-columns:1fr}
  .scorecard-grid{grid-template-columns:1fr}
  .discipline-detail-hero{flex-direction:column;align-items:flex-start}
}


/* V30: 20-Level Champion Zone System */
.level-zone-strip{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin:16px 0;
}
.level-zone-chip{
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}
.level-zone-chip strong{display:block;font-size:13px;color:var(--navy)}
.level-zone-chip span{display:block;font-size:12px;color:var(--muted);font-weight:800;margin-top:4px}
.zone-learning{border-color:#bbf7d0;background:#f0fdf4}
.zone-skill{border-color:#bae6fd;background:#f0f9ff}
.zone-athlete{border-color:#ddd6fe;background:#f5f3ff}
.zone-state{border-color:#fed7aa;background:#fff7ed}
.zone-national{border-color:#fde68a;background:#fffbeb}
.zone-world{border-color:#fecaca;background:#fef2f2}
.level-hero{background:linear-gradient(135deg,#071a3a,#0f3d73)!important}
.level-current-card{text-align:center;margin-bottom:16px}
.current-level-number{font-size:44px;font-weight:1000;color:var(--orange);line-height:1.1;margin:8px 0}
.level-zone-section{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:0 12px 28px rgba(15,23,42,.07)}
.level-zone-title h2{margin-top:0}
.level-ladder-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.level-ladder-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:#f8fafc;min-height:132px;position:relative;overflow:hidden}
.level-ladder-card.completed{border-color:#86efac;background:#f0fdf4}
.level-ladder-card .level-no{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#071a3a;color:#fff;font-weight:1000;margin-bottom:8px}
.level-ladder-card h3{margin:0 0 6px;font-size:16px}
.level-ladder-card p{margin:0;color:var(--muted);font-weight:800;font-size:12px}
.level-ladder-card span{display:inline-block;margin-top:10px;color:var(--orange);font-size:12px;font-weight:900}
.champion-level-link-card,.discipline-level-path{margin:18px 0}
body.theme-dark .level-zone-chip,
body.theme-dark .level-zone-section,
body.theme-dark .level-ladder-card{background:#101c2f;border-color:#24344f;color:#edf5ff}
body.theme-dark .level-zone-chip strong,
body.theme-dark .level-ladder-card h3{color:#edf5ff}
body.theme-dark .level-ladder-card.completed{background:#112a20;border-color:#22c55e}
body.theme-dark .zone-learning,
body.theme-dark .zone-skill,
body.theme-dark .zone-athlete,
body.theme-dark .zone-state,
body.theme-dark .zone-national,
body.theme-dark .zone-world{background:#101c2f}
@media(max-width:1100px){.level-zone-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.level-ladder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.level-zone-strip,.level-ladder-grid{grid-template-columns:1fr}}


/* V31: Daily Practice Time Planner */
.daily-plan-hero{
  background:linear-gradient(135deg,#071a3a,#0f3d73 58%,#ff8a00)!important;
}
.daily-plan-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:26px;
  padding:20px;
  box-shadow:0 16px 36px rgba(15,23,42,.10);
  margin:22px 0;
  position:relative;
  overflow:hidden;
}
.daily-plan-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:8px;
  background:var(--orange);
}
.daily-plan-card.zone-learning:before{background:#22c55e}
.daily-plan-card.zone-skill:before{background:#0ea5e9}
.daily-plan-card.zone-athlete:before{background:#8b5cf6}
.daily-plan-card.zone-state:before{background:#f97316}
.daily-plan-card.zone-national:before{background:#2563eb}
.daily-plan-card.zone-world:before{background:#d8a31a}
.daily-plan-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-left:8px;
}
.daily-plan-kicker{
  color:var(--orange);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:12px;
}
.daily-plan-head h2{
  margin:6px 0 4px;
  color:var(--navy);
}
.daily-plan-head p{
  margin:0;
  color:var(--muted);
  font-weight:700;
}
.daily-plan-time{
  min-width:104px;
  min-height:86px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff7ed,#eff6ff);
  border:1px solid rgba(255,138,0,.20);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#071a3a;
}
.daily-plan-time strong{
  font-size:34px;
  line-height:1;
}
.daily-plan-time span{
  font-weight:900;
  color:#64748b;
  font-size:12px;
}
.daily-focus-pill{
  margin:16px 0 14px 8px;
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
  display:inline-block;
}
.daily-segment-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin:14px 0 16px 8px;
}
.daily-segment{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  min-height:132px;
}
.daily-segment strong{
  display:inline-block;
  background:var(--navy);
  color:#fff;
  border-radius:999px;
  padding:5px 9px;
  margin-bottom:10px;
}
.daily-segment span{
  display:block;
  color:var(--navy);
  font-weight:900;
  margin-bottom:8px;
}
.daily-segment small{
  display:block;
  color:var(--muted);
  font-weight:700;
  line-height:1.45;
}
.daily-plan-rule{
  margin:0 0 14px 8px;
  padding:12px 14px;
  border-radius:16px;
  background:#fff7ed;
  border:1px solid rgba(255,138,0,.20);
  color:#7c2d12;
  font-weight:800;
}
.level-plan-selector{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.level-plan-chip{
  width:86px;
  border:1px solid var(--line);
  background:#f8fafc;
  border-radius:16px;
  padding:10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  font-weight:900;
}
.level-plan-chip.active{
  background:var(--orange);
  color:#fff;
  border-color:var(--orange);
  box-shadow:0 10px 24px rgba(255,138,0,.25);
}
.level-plan-chip span{
  font-size:12px;
  color:var(--muted);
}
.level-plan-chip.active span{color:#fff}
.weekly-focus-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.weekly-focus-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:13px;
  min-height:96px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.weekly-focus-card strong{
  display:block;
  color:var(--orange);
  margin-bottom:8px;
}
.weekly-focus-card span{
  font-weight:800;
  line-height:1.35;
}
body.theme-dark .daily-plan-card,
body.theme-dark .daily-segment,
body.theme-dark .weekly-focus-card,
body.theme-dark .level-plan-chip,
body.theme-dark .daily-focus-pill{
  background:#101c2f;
  border-color:#24344f;
}
body.theme-dark .daily-plan-head h2,
body.theme-dark .daily-segment span,
body.theme-dark .weekly-focus-card span{color:#edf5ff}
body.theme-dark .daily-plan-time{
  background:linear-gradient(135deg,#1b2a44,#133b5b);
  color:#edf5ff;
}
body.theme-dark .daily-plan-rule{
  background:#2b1d0d;
  border-color:#7c2d12;
  color:#fed7aa;
}
body.theme-dark .daily-segment strong{
  background:#ff8a00;
}
@media(max-width:1050px){
  .daily-segment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .weekly-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .daily-plan-head{flex-direction:column}
  .daily-segment-grid{grid-template-columns:1fr}
  .weekly-focus-grid{grid-template-columns:1fr}
  .daily-plan-time{width:100%}
}


/* V32: Visual Look Fix — Header, Dark Theme, Button Contrast */
.topbar.topbar-clean{
  display:grid!important;
  grid-template-columns:minmax(240px, 1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:14px 28px!important;
  min-height:92px!important;
  overflow:visible!important;
}
.brand-wrap-clean{
  min-width:220px!important;
  max-width:360px!important;
}
.brand-clean{
  display:inline-flex!important;
  width:fit-content!important;
  background:#ffffff!important;
  padding:9px 14px!important;
  border-radius:18px!important;
  border:1px solid rgba(148,163,184,.25)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.10)!important;
}
.header-logo-clean{
  height:44px!important;
  max-width:215px!important;
  width:auto!important;
  object-fit:contain!important;
}
.brand-subtitle{
  padding-left:4px!important;
  margin-top:2px!important;
  font-size:12px!important;
  line-height:1.3!important;
  max-width:280px!important;
  white-space:normal!important;
}
.topnav.topnav-clean{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  overflow:visible!important;
}
.topnav-clean > a,
.profile-toggle,
.language-select,
.theme-select{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.topnav-clean > a{
  padding:10px 13px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(148,163,184,.18)!important;
}
.profile-menu{
  position:relative!important;
  z-index:100!important;
}
.topbar-clean .profile-toggle{
  background:#ffffff!important;
  color:#071a3a!important;
  border:1px solid rgba(148,163,184,.32)!important;
  border-radius:999px!important;
  padding:10px 15px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.10)!important;
}
.profile-dropdown{
  top:calc(100% + 10px)!important;
  right:0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  min-width:260px!important;
}
.compact-language .language-select,
.language-select,
.theme-select{
  border-radius:14px!important;
  padding:9px 34px 9px 14px!important;
  font-size:14px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.10)!important;
}

/* Fix white button text in dark theme */
body.theme-dark .btn.secondary,
body.theme-dark .btn.gray,
body.theme-dark .hero .btn.secondary,
body.theme-dark .hero .btn.gray{
  background:#ffffff!important;
  color:#071a3a!important;
  border:1px solid rgba(255,255,255,.28)!important;
}
body.theme-dark .btn.secondary:hover,
body.theme-dark .btn.gray:hover{
  background:#eaf2ff!important;
  color:#071a3a!important;
}
body.theme-dark .login-pill{
  background:#ffffff!important;
  color:#071a3a!important;
  border:1px solid rgba(255,255,255,.28)!important;
}
body.theme-dark .register-pill{
  background:#ff9f2f!important;
  color:#111827!important;
}

/* Dark header polish */
body.theme-dark .topbar.topbar-clean{
  background:#0f1d33!important;
  border-bottom:1px solid #24344f!important;
  box-shadow:0 14px 34px rgba(0,0,0,.36)!important;
}
body.theme-dark .brand-clean{
  background:#ffffff!important;
  border-color:rgba(255,255,255,.12)!important;
}
body.theme-dark .brand-subtitle{
  color:#cbd5e1!important;
}
body.theme-dark .topnav-clean > a{
  color:#edf5ff!important;
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.10)!important;
}
body.theme-dark .topnav-clean > a:hover{
  background:rgba(255,255,255,.12)!important;
  color:#ffffff!important;
}
body.theme-dark .topbar-clean .profile-toggle{
  background:#1e293b!important;
  color:#ffffff!important;
  border-color:#334155!important;
}
body.theme-dark .language-select,
body.theme-dark .theme-select,
body.theme-dark .compact-language .language-select,
body.theme-dark .compact-theme .theme-select{
  background:#ffffff!important;
  color:#071a3a!important;
  border-color:rgba(255,255,255,.24)!important;
}
body.theme-dark .profile-dropdown{
  background:#111c2f!important;
  border:1px solid #334155!important;
}

/* Homepage hero/spacing polish */
body.theme-dark .hero{
  background:linear-gradient(135deg,#102542,#0b3159)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.34)!important;
}
body.theme-dark .hero h1,
body.theme-dark .hero p{
  color:#edf5ff!important;
}
body.theme-dark .event-card,
body.theme-dark .card{
  background:#101c2f!important;
  border-color:#273a58!important;
}
body.theme-dark .event-card h3,
body.theme-dark .card h3{
  color:#edf5ff!important;
}
body.theme-dark .event-card p,
body.theme-dark .card p{
  color:#a8b3c7!important;
}

/* Better tabs/buttons visibility */
body.theme-dark .tabs a,
body.theme-dark .tab,
body.theme-dark .leader-tabs a{
  background:#ffffff!important;
  color:#071a3a!important;
  border-color:#ffffff!important;
}

/* Responsive header: prevent overlap */
@media (max-width:1100px){
  .topbar.topbar-clean{
    grid-template-columns:1fr!important;
    align-items:flex-start!important;
    padding:14px 18px!important;
  }
  .topnav.topnav-clean{
    width:100%!important;
    justify-content:flex-start!important;
  }
}
@media (max-width:640px){
  .brand-clean{padding:8px 10px!important}
  .header-logo-clean{height:38px!important;max-width:180px!important}
  .topnav-clean > a,
  .profile-toggle,
  .language-select,
  .theme-select{
    min-height:40px!important;
    font-size:13px!important;
  }
}


/* V33: Daily Plan Layout + Table Overflow Fix */
.topbar.topbar-clean{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:10px 28px!important;
  min-height:78px!important;
}
.brand-wrap-clean{
  flex:0 0 auto!important;
  max-width:260px!important;
}
.brand-clean{
  padding:7px 12px!important;
  border-radius:16px!important;
}
.header-logo-clean{
  height:36px!important;
  max-width:165px!important;
}
.brand-subtitle{
  font-size:11px!important;
  line-height:1.25!important;
  max-width:240px!important;
  margin-top:3px!important;
}
.topnav.topnav-clean{
  flex:1 1 auto!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:9px!important;
  flex-wrap:wrap!important;
}
.topnav-clean > a,
.profile-toggle,
.language-select,
.theme-select{
  min-height:40px!important;
  height:40px!important;
  font-size:14px!important;
}
.topnav-clean > a{
  padding:9px 12px!important;
}
.compact-language .language-select,
.language-select,
.theme-select{
  min-width:126px!important;
  max-width:160px!important;
}

/* Critical fix: prevent table from overflowing into next card */
.card{
  min-width:0!important;
  overflow:hidden;
}
.grid,
.grid-2,
.grid-3,
.grid-4{
  min-width:0!important;
}
.table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
}
.daily-plan-table-wrap{
  border-radius:14px;
}
.daily-plan-table{
  width:100%!important;
  max-width:100%!important;
  table-layout:fixed!important;
  border-collapse:collapse;
}
.daily-plan-table th,
.daily-plan-table td{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.35!important;
  padding:12px 12px!important;
}
.daily-plan-table th:nth-child(1),
.daily-plan-table td:nth-child(1){width:16%}
.daily-plan-table th:nth-child(2),
.daily-plan-table td:nth-child(2){width:29%}
.daily-plan-table th:nth-child(3),
.daily-plan-table td:nth-child(3){width:22%}
.daily-plan-table th:nth-child(4),
.daily-plan-table td:nth-child(4){width:33%}

/* Daily Plan two-column layout should not collide */
.daily-plan-page-grid,
.grid.grid-2{
  align-items:start!important;
}
.daily-plan-page-grid > .card,
.grid.grid-2 > .card{
  min-width:0!important;
}

/* Better spacing on Daily Plan page */
.daily-plan-card{
  margin-top:18px!important;
}
.level-plan-selector{
  max-height:none!important;
}
.weekly-focus-grid{
  margin-bottom:12px!important;
}

/* Light theme readability */
body.theme-light .daily-plan-table th{
  background:#f8fafc!important;
  color:#071a3a!important;
}
body.theme-light .daily-plan-table td{
  color:#071a3a!important;
}

/* Dark theme table readability */
body.theme-dark .daily-plan-table th{
  background:#0b1628!important;
  color:#edf5ff!important;
}
body.theme-dark .daily-plan-table td{
  color:#edf5ff!important;
  border-color:#24344f!important;
}

@media(max-width:1100px){
  .topbar.topbar-clean{
    flex-direction:column!important;
    align-items:flex-start!important;
    padding:12px 18px!important;
  }
  .topnav.topnav-clean{
    width:100%!important;
    justify-content:flex-start!important;
  }
}
@media(max-width:900px){
  .grid-2{
    grid-template-columns:1fr!important;
  }
  .daily-plan-table{
    min-width:560px!important;
    table-layout:auto!important;
  }
}
@media(max-width:640px){
  .header-logo-clean{height:34px!important;max-width:155px!important}
  .brand-subtitle{font-size:10.5px!important}
  .topnav-clean > a,
  .profile-toggle,
  .language-select,
  .theme-select{
    min-height:38px!important;
    height:38px!important;
    font-size:13px!important;
  }
}


/* V34: Daily Plan Balance Fix — Bigger left table, compact right rule box */
.daily-plan-balance-grid{
  display:grid!important;
  grid-template-columns:minmax(0, 1.45fr) minmax(280px, .75fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.daily-plan-ladder-card{
  min-width:0!important;
  overflow:hidden!important;
}
.daily-plan-rule-card{
  min-width:0!important;
  align-self:start!important;
  padding:20px 18px!important;
}
.daily-plan-rule-card h2{
  margin:0 0 14px!important;
  font-size:24px!important;
  line-height:1.2!important;
}
.daily-plan-rule-card p{
  margin:0 0 12px!important;
  line-height:1.45!important;
}
.daily-plan-rule-card .rule-main{
  font-size:15px!important;
}
.daily-plan-rule-card .rule-text,
.daily-plan-rule-card .rule-note{
  font-size:14px!important;
  color:var(--muted)!important;
}
.daily-plan-rule-card .compact-notice{
  margin:12px 0 0!important;
  padding:11px 13px!important;
  line-height:1.35!important;
  border-radius:14px!important;
  font-size:14px!important;
}
.daily-plan-ladder-card .daily-plan-table th,
.daily-plan-ladder-card .daily-plan-table td{
  padding:13px 14px!important;
}
.daily-plan-ladder-card .daily-plan-table th:nth-child(1),
.daily-plan-ladder-card .daily-plan-table td:nth-child(1){width:14%!important}
.daily-plan-ladder-card .daily-plan-table th:nth-child(2),
.daily-plan-ladder-card .daily-plan-table td:nth-child(2){width:28%!important}
.daily-plan-ladder-card .daily-plan-table th:nth-child(3),
.daily-plan-ladder-card .daily-plan-table td:nth-child(3){width:20%!important}
.daily-plan-ladder-card .daily-plan-table th:nth-child(4),
.daily-plan-ladder-card .daily-plan-table td:nth-child(4){width:38%!important}
body.theme-dark .daily-plan-rule-card .rule-text,
body.theme-dark .daily-plan-rule-card .rule-note{
  color:#a8b3c7!important;
}
@media(max-width:1000px){
  .daily-plan-balance-grid{
    grid-template-columns:1fr!important;
  }
  .daily-plan-rule-card{
    max-width:none!important;
  }
}


/* V35: Premium UI Enhancement — animations, icons, highlights, Mindwhiz theme */
:root{
  --mw-deep:#06152d;
  --mw-navy:#071a3a;
  --mw-blue:#0f3d73;
  --mw-sky:#19bfe8;
  --mw-orange:#ff8a00;
  --mw-gold:#d8a31a;
  --mw-soft:#f5f8ff;
}

@keyframes mwFadeUp{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes mwGlowPulse{
  0%,100%{box-shadow:0 12px 28px rgba(255,138,0,.14)}
  50%{box-shadow:0 16px 36px rgba(25,191,232,.22)}
}
@keyframes mwGradientShift{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes mwFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@keyframes mwShine{
  0%{transform:translateX(-120%) skewX(-18deg)}
  100%{transform:translateX(220%) skewX(-18deg)}
}

.container > *{
  animation:mwFadeUp .45s ease both;
}
.container > *:nth-child(2){animation-delay:.04s}
.container > *:nth-child(3){animation-delay:.08s}
.container > *:nth-child(4){animation-delay:.12s}
.container > *:nth-child(5){animation-delay:.16s}

.hero{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#06152d,#0f3d73 52%,#19bfe8 115%)!important;
  background-size:180% 180%!important;
  animation:mwGradientShift 10s ease infinite!important;
}
.hero:before{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border-radius:50%;
  right:-90px;
  top:-100px;
  background:radial-gradient(circle,rgba(255,138,0,.28),rgba(255,138,0,0) 68%);
  pointer-events:none;
}
.hero:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  left:-70px;
  bottom:-80px;
  background:radial-gradient(circle,rgba(25,191,232,.22),rgba(25,191,232,0) 70%);
  pointer-events:none;
}
.hero > *{
  position:relative;
  z-index:1;
}
.hero h1{
  letter-spacing:-.04em;
  text-shadow:0 2px 10px rgba(0,0,0,.15);
}
.hero p{
  color:rgba(255,255,255,.88)!important;
}

/* Premium cards with highlight top line and hover */
.card,
.event-card,
.stat,
.daily-plan-card,
.discipline-card,
.weekly-focus-card{
  position:relative!important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease!important;
}
.card:before,
.event-card:before,
.daily-plan-card:after,
.discipline-card:before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:3px;
  border-radius:0 0 8px 8px;
  background:linear-gradient(90deg,var(--mw-orange),var(--mw-sky));
  opacity:.72;
}
.card:hover,
.event-card:hover,
.discipline-card:hover,
.weekly-focus-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(15,61,115,.16)!important;
  border-color:rgba(25,191,232,.32)!important;
}
.stat:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(15,61,115,.14)!important;
}
.event-icon,
.discipline-icon,
.discipline-detail-icon{
  animation:mwFloat 4.5s ease-in-out infinite;
  box-shadow:0 12px 24px rgba(255,138,0,.12);
}

/* Premium button shine */
.btn,
.button,
.register-pill,
.login-pill{
  position:relative!important;
  overflow:hidden!important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease!important;
}
.btn:hover,
.button:hover,
.register-pill:hover,
.login-pill:hover{
  transform:translateY(-2px);
}
.btn:after,
.button:after,
.register-pill:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:38px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  opacity:.65;
  animation:mwShine 4.8s ease-in-out infinite;
}
.btn.secondary:after,
.btn.gray:after{opacity:.25}

/* Section title icons + underline highlights */
.container h2{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--navy);
  letter-spacing:-.025em;
}
.container h2:before{
  content:"✦";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:12px;
  background:linear-gradient(135deg,#fff7ed,#e0f2fe);
  color:#ff8a00;
  font-size:16px;
  box-shadow:0 8px 18px rgba(255,138,0,.15);
}
.container h2:after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(90deg,rgba(255,138,0,.42),transparent);
}

/* Highlight pills and score cards */
.badge,
.format-inline-badge,
.daily-focus-pill,
.level-zone-chip,
.level-plan-chip.active{
  box-shadow:0 10px 22px rgba(255,138,0,.13)!important;
}
.notice{
  border-left:4px solid var(--green)!important;
}
.error{
  border-left:4px solid var(--red)!important;
}

/* Better table look */
table th{
  background:linear-gradient(135deg,#f8fafc,#eef6ff)!important;
  color:#071a3a!important;
  font-weight:900!important;
}
table tr{
  transition:background .18s ease;
}
table tr:hover td{
  background:rgba(25,191,232,.055);
}

/* Daily plan premium highlights */
.daily-plan-card{
  animation:mwGlowPulse 5s ease-in-out infinite;
}
.daily-segment{
  transition:transform .2s ease, box-shadow .2s ease;
}
.daily-segment:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(15,61,115,.10);
}
.daily-segment strong{
  background:linear-gradient(135deg,#071a3a,#0f3d73)!important;
}

/* Level chips look more interactive */
.level-plan-chip{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.level-plan-chip:hover{
  transform:translateY(-3px);
  border-color:rgba(255,138,0,.40);
  box-shadow:0 12px 26px rgba(15,61,115,.12);
}

/* Navigation polish */
.topnav-clean > a:hover,
.profile-toggle:hover,
.language-select:hover,
.theme-select:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(15,23,42,.12)!important;
}

/* Dark theme premium matching */
body.theme-dark .hero{
  background:linear-gradient(135deg,#071326,#0f2c4f 55%,#0a5d7b 120%)!important;
  background-size:180% 180%!important;
}
body.theme-dark .card:before,
body.theme-dark .event-card:before,
body.theme-dark .discipline-card:before{
  background:linear-gradient(90deg,#ffb45c,#40d9ff);
}
body.theme-dark .container h2{
  color:#edf5ff!important;
}
body.theme-dark .container h2:before{
  background:linear-gradient(135deg,#1b2a44,#133b5b);
  color:#ffd76a;
}
body.theme-dark .container h2:after{
  background:linear-gradient(90deg,rgba(255,215,106,.45),transparent);
}
body.theme-dark table th{
  background:linear-gradient(135deg,#0b1628,#13233a)!important;
  color:#edf5ff!important;
}
body.theme-dark table tr:hover td{
  background:rgba(64,217,255,.07)!important;
}
body.theme-dark .daily-segment:hover{
  box-shadow:0 14px 30px rgba(0,0,0,.28);
}

/* Soft premium background */
body{
  background:
    radial-gradient(circle at 12% 8%,rgba(25,191,232,.08),transparent 28%),
    radial-gradient(circle at 88% 12%,rgba(255,138,0,.08),transparent 30%),
    var(--bg)!important;
}
body.theme-dark{
  background:
    radial-gradient(circle at 12% 8%,rgba(64,217,255,.08),transparent 28%),
    radial-gradient(circle at 88% 12%,rgba(255,180,92,.08),transparent 30%),
    #08111f!important;
}

/* Respect users who prefer less motion */
@media (prefers-reduced-motion: reduce){
  *,
  *:before,
  *:after{
    animation:none!important;
    transition:none!important;
  }
}


/* V35: Scroll reveal helper */
.mw-reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .45s ease, transform .45s ease;
}
.mw-reveal.mw-visible{
  opacity:1;
  transform:translateY(0);
}
body.mw-ui-ready .topbar{
  animation:mwFadeUp .38s ease both;
}
@media (prefers-reduced-motion: reduce){
  .mw-reveal{opacity:1!important;transform:none!important}
}


/* V36: Category-wise Leaderboard */
.leaderboard-filter-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:end;
}
.category-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 18px;
}
.category-tabs a{
  padding:10px 14px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid var(--line);
  color:var(--navy);
  font-weight:900;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.category-tabs a:hover{
  transform:translateY(-2px);
  border-color:rgba(255,138,0,.32);
  box-shadow:0 12px 26px rgba(15,23,42,.10);
}
.category-tabs a.active{
  background:linear-gradient(135deg,#071a3a,#0f3d73);
  color:#ffffff;
  border-color:#0f3d73;
}
.category-badge{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin:8px 0;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  border:1px solid var(--line);
  background:#f8fafc;
  color:var(--navy);
}
.category-badge.kids{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.category-badge.junior{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.category-badge.adult{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.category-badge.senior{background:#fef3c7;color:#92400e;border-color:#fde68a}
.category-badge.unknown{background:#f1f5f9;color:#64748b;border-color:#cbd5e1}
body.theme-dark .category-tabs a{
  background:#101c2f;
  color:#edf5ff;
  border-color:#24344f;
}
body.theme-dark .category-tabs a.active{
  background:linear-gradient(135deg,#ff8a00,#19bfe8);
  color:#071a3a;
  border-color:transparent;
}
body.theme-dark .category-badge{
  border-color:#334155;
}
@media(max-width:720px){
  .leaderboard-filter-grid{
    grid-template-columns:1fr;
  }
  .category-tabs a{
    flex:1 1 45%;
    text-align:center;
  }
}


/* V37: Logout Visibility + Dark/Light Theme Contrast Cleanup */

/* Always visible logout button for logged-in users */
.logout-visible-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:9px 14px!important;
  border-radius:999px!important;
  background:#fff7ed!important;
  color:#9a3412!important;
  border:1px solid #fed7aa!important;
  font-weight:900!important;
  box-shadow:0 10px 22px rgba(255,138,0,.14)!important;
  white-space:nowrap!important;
}
.logout-visible-pill:hover{
  background:#ffedd5!important;
  color:#7c2d12!important;
  transform:translateY(-2px);
}
body.theme-dark .logout-visible-pill{
  background:#ffb45c!important;
  color:#071a3a!important;
  border-color:#ffb45c!important;
  box-shadow:0 12px 28px rgba(255,180,92,.18)!important;
}
body.theme-dark .logout-visible-pill:hover{
  background:#ffd76a!important;
  color:#071a3a!important;
}

/* Make long dropdown usable, so Logout inside dropdown is also reachable */
.profile-dropdown{
  max-height:calc(100vh - 130px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
.profile-dropdown .dropdown-danger{
  position:sticky!important;
  bottom:0!important;
  background:#fee2e2!important;
  color:#991b1b!important;
  border-top:1px solid #fecaca!important;
}
body.theme-dark .profile-dropdown .dropdown-danger{
  background:#7f1d1d!important;
  color:#ffffff!important;
  border-top:1px solid #ef4444!important;
}

/* Strong dark theme readable base */
body.theme-dark{
  color:#edf5ff!important;
}
body.theme-dark *,
body.theme-dark *::before,
body.theme-dark *::after{
  border-color:#24344f;
}
body.theme-dark .container,
body.theme-dark main{
  color:#edf5ff!important;
}
body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4,
body.theme-dark h5,
body.theme-dark h6,
body.theme-dark strong,
body.theme-dark label{
  color:#edf5ff!important;
}
body.theme-dark p,
body.theme-dark small,
body.theme-dark .champion-meta,
body.theme-dark .brand-subtitle,
body.theme-dark .muted,
body.theme-dark .card p,
body.theme-dark .event-card p{
  color:#a8b3c7!important;
}

/* Dark theme surfaces: no white box with white letters */
body.theme-dark .card,
body.theme-dark .form,
body.theme-dark .event-card,
body.theme-dark .stat,
body.theme-dark .leader-row,
body.theme-dark .champion-card,
body.theme-dark .top3 .champion-card,
body.theme-dark .daily-plan-card,
body.theme-dark .daily-segment,
body.theme-dark .weekly-focus-card,
body.theme-dark .discipline-card,
body.theme-dark .scorecard-metric,
body.theme-dark .profile-hero,
body.theme-dark .format-head-card,
body.theme-dark .method-box,
body.theme-dark .mode-lock-box,
body.theme-dark .compare-card,
body.theme-dark .group-card,
body.theme-dark .policy-card,
body.theme-dark .privacy-box,
body.theme-dark .level-current-card,
body.theme-dark .level-ladder-card,
body.theme-dark .level-zone-section,
body.theme-dark .leaderboard-filter-card,
body.theme-dark .daily-plan-rule-card,
body.theme-dark .daily-plan-ladder-card{
  background:#101c2f!important;
  color:#edf5ff!important;
  border-color:#24344f!important;
}
body.theme-dark .card h3,
body.theme-dark .event-card h3,
body.theme-dark .stat .num,
body.theme-dark .champion-name,
body.theme-dark .points{
  color:#edf5ff!important;
}

/* Inputs, selects, textarea: consistent readable contrast */
body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea{
  background:#0b1628!important;
  color:#edf5ff!important;
  border:1px solid #334155!important;
}
body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder{
  color:#7f8ba3!important;
}
body.theme-dark option{
  background:#0b1628!important;
  color:#edf5ff!important;
}

/* Keep top header selectors readable but not broken */
body.theme-dark .language-select,
body.theme-dark .theme-select,
body.theme-dark .compact-language .language-select,
body.theme-dark .compact-theme .theme-select{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#334155!important;
}
body.theme-light .language-select,
body.theme-light .theme-select,
body.theme-light .compact-language .language-select,
body.theme-light .compact-theme .theme-select{
  background:#ffffff!important;
  color:#071a3a!important;
}

/* Buttons: no unreadable white-on-white */
body.theme-dark .btn.secondary,
body.theme-dark .btn.gray,
body.theme-dark .hero .btn.secondary,
body.theme-dark .hero .btn.gray,
body.theme-dark .button.secondary,
body.theme-dark .button.gray{
  background:#eaf2ff!important;
  color:#071a3a!important;
  border:1px solid #cbd5e1!important;
}
body.theme-dark .btn,
body.theme-dark .button{
  color:#071a3a!important;
}
body.theme-dark .btn.danger{
  color:#ffffff!important;
}

/* Notices and status boxes */
body.theme-dark .notice{
  background:#052e1a!important;
  color:#bbf7d0!important;
  border-color:#16a34a!important;
}
body.theme-dark .error{
  background:#450a0a!important;
  color:#fecaca!important;
  border-color:#ef4444!important;
}
body.theme-dark .status-ok{
  color:#bbf7d0!important;
}
body.theme-dark .status-wrong{
  color:#fecaca!important;
}

/* Tables */
body.theme-dark table,
body.theme-dark .table-wrap{
  background:#101c2f!important;
  color:#edf5ff!important;
}
body.theme-dark table th{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#24344f!important;
}
body.theme-dark table td{
  background:#101c2f!important;
  color:#edf5ff!important;
  border-color:#24344f!important;
}
body.theme-dark table tr:hover td{
  background:#14233a!important;
}

/* Specific white-box fixes from premium UI */
body.theme-dark .daily-focus-pill,
body.theme-dark .level-plan-chip,
body.theme-dark .level-zone-chip,
body.theme-dark .mini-check,
body.theme-dark pre,
body.theme-dark code{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#334155!important;
}
body.theme-dark .level-plan-chip span,
body.theme-dark .daily-plan-time span,
body.theme-dark .discipline-mini-score span{
  color:#a8b3c7!important;
}
body.theme-dark .daily-plan-time{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#334155!important;
}
body.theme-dark .daily-plan-rule{
  background:#2b1d0d!important;
  color:#fed7aa!important;
  border-color:#9a3412!important;
}

/* Category and rank badges */
body.theme-dark .category-tabs a{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#334155!important;
}
body.theme-dark .category-tabs a.active{
  background:linear-gradient(135deg,#ffb45c,#40d9ff)!important;
  color:#071a3a!important;
}
body.theme-dark .category-badge.kids{background:#052e1a!important;color:#bbf7d0!important;border-color:#16a34a!important}
body.theme-dark .category-badge.junior{background:#0b2a4a!important;color:#bfdbfe!important;border-color:#2563eb!important}
body.theme-dark .category-badge.adult{background:#2b1d0d!important;color:#fed7aa!important;border-color:#f97316!important}
body.theme-dark .category-badge.senior{background:#3a2a0a!important;color:#fde68a!important;border-color:#d8a31a!important}
body.theme-dark .category-badge.unknown{background:#1e293b!important;color:#cbd5e1!important;border-color:#475569!important}

/* Light theme cleanup */
body.theme-light,
body.theme-light .container,
body.theme-light main{
  color:#071a3a!important;
}
body.theme-light .card,
body.theme-light .form,
body.theme-light .event-card,
body.theme-light .stat,
body.theme-light .leader-row{
  background:#ffffff!important;
  color:#071a3a!important;
}
body.theme-light input,
body.theme-light select,
body.theme-light textarea{
  background:#ffffff!important;
  color:#071a3a!important;
}

/* Header responsive safety */
@media(max-width:1100px){
  .logout-visible-pill{
    min-height:38px!important;
    padding:8px 12px!important;
  }
}
@media(max-width:700px){
  .logout-visible-pill{
    width:auto!important;
  }
  .profile-dropdown{
    left:0!important;
    right:auto!important;
    width:min(300px, calc(100vw - 36px))!important;
  }
}


/* V38: Header Logged-out Button Blank Box Fix */
.topnav.topnav-clean a.header-auth-link,
.topnav.topnav-clean a.login-pill,
.topnav.topnav-clean a.register-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:40px!important;
  height:40px!important;
  padding:9px 16px!important;
  border-radius:999px!important;
  font-weight:900!important;
  font-size:14px!important;
  line-height:1!important;
  white-space:nowrap!important;
  opacity:1!important;
  text-indent:0!important;
  letter-spacing:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
  position:relative!important;
}
.topnav.topnav-clean a.login-pill{
  min-width:128px!important;
  background:#ffffff!important;
  color:#071a3a!important;
  border:1px solid #dbeafe!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}
.topnav.topnav-clean a.register-pill{
  min-width:174px!important;
  background:linear-gradient(135deg,#ff8a00,#ffb45c)!important;
  color:#ffffff!important;
  border:1px solid rgba(255,138,0,.45)!important;
  box-shadow:0 12px 26px rgba(255,138,0,.22)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.18)!important;
}
.topnav.topnav-clean a.register-pill::before,
.topnav.topnav-clean a.login-pill::before{
  display:none!important;
}
.topnav.topnav-clean a.register-pill::after,
.topnav.topnav-clean a.login-pill::after{
  z-index:-1!important;
  pointer-events:none!important;
}
.topnav.topnav-clean a.register-pill:hover{
  background:linear-gradient(135deg,#ff9f2f,#ffd76a)!important;
  color:#071a3a!important;
  text-shadow:none!important;
}
.topnav.topnav-clean a.login-pill:hover{
  background:#eef6ff!important;
  color:#071a3a!important;
}

/* Logged out header: avoid empty white pill caused by generic nav link override */
body.theme-light .topnav.topnav-clean a.register-pill,
body.theme-dark .topnav.topnav-clean a.register-pill{
  background:linear-gradient(135deg,#ff8a00,#ffb45c)!important;
  color:#ffffff!important;
  border-color:rgba(255,138,0,.45)!important;
}
body.theme-light .topnav.topnav-clean a.login-pill,
body.theme-dark .topnav.topnav-clean a.login-pill{
  background:#ffffff!important;
  color:#071a3a!important;
  border-color:#dbeafe!important;
}

/* On smaller screens keep register button readable */
@media(max-width:900px){
  .topnav.topnav-clean a.register-pill{
    min-width:160px!important;
  }
  .topnav.topnav-clean a.login-pill{
    min-width:118px!important;
  }
}
@media(max-width:640px){
  .topnav.topnav-clean a.header-auth-link{
    width:auto!important;
    min-width:auto!important;
    padding:9px 13px!important;
    font-size:13px!important;
  }
}


/* V39: Memocamp-inspired compact dropdown header */
.topbar.topbar-clean{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:74px!important;
  padding:10px 28px!important;
}
.memocamp-style-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
}
.nav-main-link,
.nav-menu-toggle{
  height:38px!important;
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  background:#ffffff!important;
  color:#071a3a!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 8px 20px rgba(15,23,42,.07)!important;
  font-size:13.5px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.nav-menu{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
}
.nav-menu-toggle{
  font-family:inherit!important;
}
.nav-menu-dropdown{
  display:none;
  position:absolute!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  z-index:1000!important;
  min-width:235px!important;
  max-height:calc(100vh - 130px)!important;
  overflow-y:auto!important;
  background:#ffffff!important;
  color:#071a3a!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  box-shadow:0 20px 50px rgba(15,23,42,.18)!important;
  padding:8px!important;
}
.nav-menu:hover .nav-menu-dropdown,
.nav-menu:focus-within .nav-menu-dropdown{
  display:block!important;
}
.nav-wide-dropdown{
  min-width:275px!important;
  columns:1;
}
.nav-menu-dropdown a{
  display:flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  color:#071a3a!important;
  font-weight:800!important;
  font-size:13.5px!important;
  line-height:1.25!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
.nav-menu-dropdown a:hover{
  background:#eef6ff!important;
  color:#0f3d73!important;
}
.nav-menu-dropdown .dropdown-overview{
  background:#fff7ed!important;
  color:#9a3412!important;
  border:1px solid #fed7aa!important;
  margin-bottom:5px!important;
}
.nav-menu-dropdown .dropdown-danger{
  background:#fee2e2!important;
  color:#991b1b!important;
  border-top:1px solid #fecaca!important;
  position:sticky!important;
  bottom:0!important;
  margin-top:5px!important;
}
.memocamp-style-nav .language-select,
.memocamp-style-nav .theme-select{
  height:38px!important;
  min-height:38px!important;
  min-width:124px!important;
  max-width:150px!important;
  border-radius:999px!important;
  font-size:13.5px!important;
  font-weight:900!important;
  padding:8px 30px 8px 12px!important;
}
.memocamp-style-nav .profile-toggle{
  max-width:160px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.theme-light .nav-main-link:hover,
body.theme-light .nav-menu-toggle:hover{
  background:#eef6ff!important;
  color:#0f3d73!important;
  transform:translateY(-1px);
}
body.theme-dark .nav-main-link,
body.theme-dark .nav-menu-toggle{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#334155!important;
  box-shadow:0 10px 22px rgba(0,0,0,.22)!important;
}
body.theme-dark .nav-main-link:hover,
body.theme-dark .nav-menu-toggle:hover{
  background:#14233a!important;
  color:#ffffff!important;
}
body.theme-dark .nav-menu-dropdown{
  background:#101c2f!important;
  color:#edf5ff!important;
  border-color:#334155!important;
  box-shadow:0 22px 55px rgba(0,0,0,.42)!important;
}
body.theme-dark .nav-menu-dropdown a{
  color:#edf5ff!important;
}
body.theme-dark .nav-menu-dropdown a:hover{
  background:#17243a!important;
  color:#ffffff!important;
}
body.theme-dark .nav-menu-dropdown .dropdown-overview{
  background:#2b1d0d!important;
  color:#fed7aa!important;
  border-color:#9a3412!important;
}
body.theme-dark .nav-menu-dropdown .dropdown-danger{
  background:#7f1d1d!important;
  color:#ffffff!important;
  border-color:#ef4444!important;
}
body.theme-dark .memocamp-style-nav .language-select,
body.theme-dark .memocamp-style-nav .theme-select{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#334155!important;
}

/* remove old visible logout pill spacing under new dropdown style */
.memocamp-style-nav .logout-visible-pill{
  display:none!important;
}

@media(max-width:1150px){
  .topbar.topbar-clean{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
    padding:12px 18px!important;
  }
  .memocamp-style-nav{
    justify-content:flex-start!important;
    width:100%!important;
  }
  .nav-menu-dropdown{
    left:0!important;
    right:auto!important;
  }
}
@media(max-width:700px){
  .nav-main-link,
  .nav-menu-toggle,
  .memocamp-style-nav .language-select,
  .memocamp-style-nav .theme-select{
    height:36px!important;
    min-height:36px!important;
    font-size:12.5px!important;
    padding:7px 10px!important;
  }
  .nav-menu-dropdown{
    min-width:230px!important;
    max-width:calc(100vw - 36px)!important;
  }
}


/* V41: International Welcome Homepage */
.welcome-hero{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:22px;
  align-items:center;
  padding:42px 34px;
  border-radius:34px;
  margin-bottom:26px;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,138,0,.25),transparent 28%),
    radial-gradient(circle at 10% 90%,rgba(25,191,232,.22),transparent 34%),
    linear-gradient(135deg,#06152d,#0f3d73 55%,#19bfe8 130%);
  color:#fff;
  box-shadow:0 22px 55px rgba(7,26,58,.25);
  overflow:hidden;
  position:relative;
}
.welcome-hero:before{
  content:"";
  position:absolute;
  inset:-90px -80px auto auto;
  width:240px;
  height:240px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}
.welcome-hero-content,
.welcome-hero-panel{
  position:relative;
  z-index:1;
}
.welcome-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,138,0,.12);
  color:#ff8a00;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-size:12px;
  margin-bottom:12px;
}
.welcome-hero .welcome-kicker{
  background:rgba(255,255,255,.12);
  color:#ffd76a;
}
.welcome-hero h1{
  font-size:46px;
  line-height:1.05;
  letter-spacing:-.055em;
  margin:0 0 14px;
  max-width:760px;
}
.welcome-hero p{
  font-size:17px;
  line-height:1.65;
  color:rgba(255,255,255,.88)!important;
  max-width:720px;
  margin:0 0 22px;
}
.welcome-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.welcome-proof-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.welcome-proof-row span{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-weight:900;
  font-size:12px;
}
.hero-score-card{
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
  border-radius:26px;
  padding:22px;
  box-shadow:0 20px 50px rgba(0,0,0,.18);
}
.hero-score-badge{
  width:62px;
  height:62px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  background:#fff7ed;
  box-shadow:0 14px 30px rgba(255,138,0,.22);
}
.hero-score-card h3{
  margin:16px 0 8px;
  font-size:24px;
}
.hero-score-card p{
  font-size:14px;
  line-height:1.55;
  margin:0 0 18px;
}
.mini-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.mini-metrics div{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  padding:12px;
  text-align:center;
}
.mini-metrics strong{
  display:block;
  font-size:25px;
  color:#fff;
}
.mini-metrics span{
  font-size:11px;
  font-weight:900;
  color:rgba(255,255,255,.75);
}

.welcome-section{
  margin:30px 0;
}
.section-head{
  max-width:760px;
  margin-bottom:18px;
}
.section-head h2{
  margin:0 0 8px;
  font-size:32px;
  letter-spacing:-.035em;
}
.section-head p{
  color:var(--muted);
  line-height:1.6;
  font-weight:700;
}
.welcome-feature-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.welcome-feature-card,
.welcome-stage-card,
.welcome-discipline-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:24px;
  padding:18px;
  box-shadow:0 12px 30px rgba(15,23,42,.07);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.welcome-feature-card:hover,
.welcome-stage-card:hover,
.welcome-discipline-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(15,61,115,.15);
  border-color:rgba(25,191,232,.32);
}
.welcome-card-icon,
.discipline-icon-round{
  width:54px;
  height:54px;
  border-radius:18px;
  background:linear-gradient(135deg,#fff7ed,#e0f2fe);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:25px;
  margin-bottom:12px;
  color:#071a3a;
}
.welcome-feature-card h3,
.welcome-stage-card h3,
.welcome-discipline-card h3{
  margin:0 0 8px;
  color:var(--navy);
}
.welcome-feature-card p,
.welcome-stage-card p,
.welcome-discipline-card p{
  color:var(--muted);
  line-height:1.55;
  font-weight:700;
}

.welcome-stage-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.welcome-stage-card{
  padding:16px;
}
.stage-level{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#fff7ed;
  color:#9a3412;
  font-weight:900;
  font-size:12px;
  margin-bottom:12px;
}
.stage-section{
  padding:24px;
  border-radius:30px;
  background:linear-gradient(135deg,#f8fafc,#eef6ff);
  border:1px solid var(--line);
}
.welcome-discipline-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.welcome-discipline-card .btn-mini{
  margin-top:8px;
  display:inline-flex;
}

.daily-highlight{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:20px;
  align-items:center;
  border-radius:30px;
  padding:26px;
  background:linear-gradient(135deg,#071a3a,#0f3d73);
  color:#fff;
  box-shadow:0 18px 44px rgba(7,26,58,.20);
}
.daily-highlight h2{
  color:#fff!important;
  margin:0 0 10px;
}
.daily-highlight p{
  color:rgba(255,255,255,.82)!important;
  line-height:1.6;
}
.daily-highlight-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:16px 0;
}
.daily-highlight-list span{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:10px 12px;
  font-weight:900;
}
.daily-time-card{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  padding:18px;
}
.daily-time-card h3{
  color:#fff;
  margin:0 0 12px;
}
.time-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:11px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
  font-weight:900;
}
.time-row:last-child{border-bottom:0}
.time-row strong{color:#ffd76a}

.category-rule-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.category-rule-grid div{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:20px;
  padding:16px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.category-rule-grid strong{
  display:block;
  color:var(--navy);
  margin-bottom:6px;
}
.category-rule-grid span{
  color:var(--muted);
  font-weight:800;
}
.welcome-final-cta{
  text-align:center;
  padding:34px;
  border-radius:32px;
  background:
    radial-gradient(circle at 15% 20%,rgba(255,138,0,.16),transparent 26%),
    radial-gradient(circle at 85% 20%,rgba(25,191,232,.18),transparent 28%),
    var(--card);
  border:1px solid var(--line);
  box-shadow:0 18px 42px rgba(15,23,42,.08);
  margin:34px 0 10px;
}
.welcome-final-cta h2{
  justify-content:center;
  margin-top:0;
}
.welcome-final-cta p{
  max-width:760px;
  margin:0 auto 18px;
  color:var(--muted);
  font-weight:700;
  line-height:1.6;
}

/* V41 dark theme support */
body.theme-dark .stage-section{
  background:linear-gradient(135deg,#0b1628,#13233a);
  border-color:#24344f;
}
body.theme-dark .welcome-feature-card,
body.theme-dark .welcome-stage-card,
body.theme-dark .welcome-discipline-card,
body.theme-dark .category-rule-grid div,
body.theme-dark .welcome-final-cta{
  background:#101c2f!important;
  border-color:#24344f!important;
}
body.theme-dark .welcome-feature-card h3,
body.theme-dark .welcome-stage-card h3,
body.theme-dark .welcome-discipline-card h3,
body.theme-dark .category-rule-grid strong{
  color:#edf5ff!important;
}
body.theme-dark .welcome-feature-card p,
body.theme-dark .welcome-stage-card p,
body.theme-dark .welcome-discipline-card p,
body.theme-dark .section-head p,
body.theme-dark .category-rule-grid span,
body.theme-dark .welcome-final-cta p{
  color:#a8b3c7!important;
}
body.theme-dark .welcome-card-icon,
body.theme-dark .discipline-icon-round{
  background:linear-gradient(135deg,#1b2a44,#133b5b);
  color:#edf5ff;
}
body.theme-dark .stage-level{
  background:#2b1d0d;
  color:#fed7aa;
}
body.theme-dark .daily-highlight{
  background:linear-gradient(135deg,#071326,#0f2c4f);
}

@media(max-width:1100px){
  .welcome-hero,
  .daily-highlight{
    grid-template-columns:1fr;
  }
  .welcome-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .welcome-stage-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:820px){
  .welcome-discipline-grid,
  .category-rule-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .welcome-hero h1{
    font-size:36px;
  }
}
@media(max-width:600px){
  .welcome-hero{
    padding:28px 20px;
    border-radius:26px;
  }
  .welcome-hero h1{
    font-size:30px;
  }
  .welcome-feature-grid,
  .welcome-stage-grid,
  .welcome-discipline-grid,
  .category-rule-grid,
  .daily-highlight-list{
    grid-template-columns:1fr;
  }
  .daily-highlight{
    padding:22px 18px;
  }
}


/* V42: Soft Professional Homepage — fewer boxes, better flow */
.soft-home-hero{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:42px;
  align-items:center;
  padding:62px 14px 52px;
  margin-bottom:10px;
  border-bottom:1px solid rgba(15,61,115,.10);
}
.soft-hero-left h1{
  font-size:54px;
  line-height:1.02;
  letter-spacing:-.06em;
  color:#071a3a;
  margin:0 0 18px;
  max-width:860px;
}
.soft-hero-left p{
  font-size:18px;
  line-height:1.7;
  color:#536179;
  max-width:760px;
  margin:0 0 24px;
}
.soft-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#ff8a00;
  margin-bottom:13px;
}
.soft-eyebrow:before{
  content:"";
  width:24px;
  height:2px;
  border-radius:10px;
  background:linear-gradient(90deg,#ff8a00,#19bfe8);
}
.soft-hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.soft-hero-visual{
  position:relative;
  min-height:330px;
  border-radius:38px;
  background:
    radial-gradient(circle at 80% 18%,rgba(255,138,0,.20),transparent 30%),
    radial-gradient(circle at 16% 88%,rgba(25,191,232,.20),transparent 32%),
    linear-gradient(135deg,#071a3a,#0f3d73);
  box-shadow:0 28px 60px rgba(7,26,58,.22);
  overflow:hidden;
  padding:28px;
  color:#fff;
}
.soft-visual-ring{
  width:170px;
  height:170px;
  border-radius:50%;
  border:16px solid rgba(255,255,255,.16);
  outline:1px solid rgba(255,255,255,.16);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:0 auto 22px;
}
.soft-visual-ring span{
  font-size:56px;
  font-weight:900;
  line-height:1;
}
.soft-visual-ring small{
  font-weight:900;
  color:rgba(255,255,255,.72);
}
.soft-visual-list{
  display:grid;
  gap:10px;
}
.soft-visual-list div{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.soft-visual-list div:last-child{border-bottom:0}
.soft-visual-list strong{color:#fff}
.soft-visual-list span{color:rgba(255,255,255,.72);font-weight:800}

.soft-trust-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  padding:20px 0 34px;
  border-bottom:1px solid rgba(15,61,115,.10);
}
.soft-trust-strip div{
  padding:8px 24px;
  border-right:1px solid rgba(15,61,115,.12);
}
.soft-trust-strip div:last-child{border-right:0}
.soft-trust-strip strong{
  display:block;
  font-size:28px;
  color:#071a3a;
  line-height:1;
  margin-bottom:6px;
}
.soft-trust-strip span{
  color:#6b7280;
  font-weight:900;
}

.soft-section{
  padding:52px 0;
  border-bottom:1px solid rgba(15,61,115,.08);
}
.soft-section h2,
.soft-section-head h2,
.soft-final-cta h2{
  font-size:36px;
  line-height:1.15;
  letter-spacing:-.04em;
  margin:0 0 12px;
  color:#071a3a;
}
.soft-section p,
.soft-section-head p,
.soft-final-cta p{
  color:#596579;
  line-height:1.7;
  font-weight:700;
}
.soft-section-head{
  max-width:820px;
  margin-bottom:24px;
}
.soft-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);
  gap:46px;
  align-items:start;
}
.soft-section-copy{
  max-width:780px;
}
.soft-point-list{
  display:grid;
  gap:22px;
}
.soft-point-list div{
  display:grid;
  grid-template-columns:52px 1fr;
  column-gap:14px;
  align-items:start;
  padding-bottom:20px;
  border-bottom:1px solid rgba(15,61,115,.10);
}
.soft-point-list div:last-child{border-bottom:0}
.soft-point-list span{
  width:40px;
  height:40px;
  border-radius:50%;
  background:#fff7ed;
  color:#9a3412;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}
.soft-point-list strong{
  color:#071a3a;
  font-size:18px;
}
.soft-point-list p{
  grid-column:2;
  margin:4px 0 0;
}

.soft-stage-line{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0;
  position:relative;
  padding-top:22px;
}
.soft-stage-line:before{
  content:"";
  position:absolute;
  top:31px;
  left:8%;
  right:8%;
  height:2px;
  background:linear-gradient(90deg,#ff8a00,#19bfe8);
  opacity:.45;
}
.soft-stage-item{
  position:relative;
  padding:0 12px;
}
.stage-dot{
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  border:5px solid #ff8a00;
  margin-bottom:18px;
  position:relative;
  z-index:1;
}
.stage-level-line{
  color:#ff8a00;
  font-weight:900;
  margin-bottom:8px;
}
.soft-stage-item h3{
  color:#071a3a;
  margin:0 0 8px;
  font-size:18px;
}
.soft-stage-item p{
  margin:0;
  font-size:14px;
  line-height:1.55;
}

.soft-discipline-list{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.soft-discipline-list a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 15px;
  border-radius:999px;
  background:rgba(255,255,255,.65);
  border:1px solid rgba(15,61,115,.12);
  color:#071a3a;
  font-weight:900;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.soft-discipline-list a:hover{
  transform:translateY(-2px);
  border-color:rgba(255,138,0,.35);
  box-shadow:0 12px 26px rgba(15,23,42,.09);
}
.discipline-soft-icon{
  min-width:28px;
  height:28px;
  border-radius:50%;
  background:#eef6ff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
}

.soft-practice-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);
  gap:40px;
  align-items:center;
  padding:44px 34px;
  border-radius:34px;
  background:linear-gradient(135deg,#071a3a,#0f3d73);
  color:#fff;
  border-bottom:0;
  margin:34px 0;
}
.soft-practice-panel h2{
  color:#fff!important;
}
.soft-practice-panel p{
  color:rgba(255,255,255,.78)!important;
}
.soft-practice-steps{
  display:grid;
  gap:0;
}
.soft-practice-steps span{
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-weight:900;
}
.soft-practice-steps span:last-child{border-bottom:0}

.soft-category-row{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
}
.soft-category-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.soft-category-pills span{
  display:inline-flex;
  flex-direction:column;
  min-width:122px;
  padding:12px 14px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(15,61,115,.10);
  box-shadow:0 8px 20px rgba(15,23,42,.05);
  color:#6b7280;
  font-weight:800;
}
.soft-category-pills strong{
  color:#071a3a;
  margin-bottom:2px;
}

.soft-filter-bar{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding:18px 0;
  margin-bottom:16px;
  border-top:1px solid rgba(15,61,115,.08);
  border-bottom:1px solid rgba(15,61,115,.08);
}
.soft-filter-bar label{
  display:block;
  font-weight:900;
  color:#071a3a;
  margin-bottom:6px;
}
.soft-empty-state{
  padding:22px 0;
}
.soft-empty-state h3{
  color:#071a3a;
}
.soft-top-three{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:20px 0;
}
.soft-winner{
  display:flex;
  gap:14px;
  align-items:center;
  padding:18px 0;
  border-top:1px solid rgba(15,61,115,.10);
  border-bottom:1px solid rgba(15,61,115,.10);
}
.soft-winner h3{
  margin:6px 0 4px;
  color:#071a3a;
}
.soft-winner p{
  margin:0 0 6px;
  color:#6b7280;
  font-size:13px;
}
.soft-winner strong{
  color:#ff8a00;
}
.soft-leader-list .leader-row{
  background:transparent!important;
  box-shadow:none!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  border-top:1px solid rgba(15,61,115,.08)!important;
  padding-left:0!important;
  padding-right:0!important;
}

.soft-final-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:48px 0 26px;
}

/* remove heavy homepage card feel */
body .soft-section .card:before,
body .soft-section .welcome-feature-card:before,
body .soft-section .welcome-stage-card:before,
body .soft-section .welcome-discipline-card:before{
  display:none!important;
}

/* V42 dark theme */
body.theme-dark .soft-hero-left h1,
body.theme-dark .soft-section h2,
body.theme-dark .soft-section-head h2,
body.theme-dark .soft-final-cta h2,
body.theme-dark .soft-point-list strong,
body.theme-dark .soft-stage-item h3,
body.theme-dark .soft-category-pills strong,
body.theme-dark .soft-filter-bar label,
body.theme-dark .soft-empty-state h3,
body.theme-dark .soft-winner h3,
body.theme-dark .soft-trust-strip strong{
  color:#edf5ff!important;
}
body.theme-dark .soft-hero-left p,
body.theme-dark .soft-section p,
body.theme-dark .soft-section-head p,
body.theme-dark .soft-final-cta p,
body.theme-dark .soft-point-list p,
body.theme-dark .soft-stage-item p,
body.theme-dark .soft-category-pills span,
body.theme-dark .soft-winner p,
body.theme-dark .soft-trust-strip span{
  color:#a8b3c7!important;
}
body.theme-dark .soft-home-hero,
body.theme-dark .soft-section,
body.theme-dark .soft-trust-strip{
  border-color:#24344f!important;
}
body.theme-dark .soft-discipline-list a,
body.theme-dark .soft-category-pills span{
  background:#101c2f!important;
  border-color:#24344f!important;
  color:#edf5ff!important;
}
body.theme-dark .discipline-soft-icon,
body.theme-dark .soft-point-list span{
  background:#0b1628!important;
  color:#ffd76a!important;
}
body.theme-dark .soft-filter-bar{
  border-color:#24344f!important;
}
body.theme-dark .soft-leader-list .leader-row,
body.theme-dark .soft-winner{
  border-color:#24344f!important;
}
body.theme-dark .soft-practice-panel{
  background:linear-gradient(135deg,#071326,#0f2c4f)!important;
}

@media(max-width:1100px){
  .soft-home-hero,
  .soft-intro,
  .soft-practice-panel{
    grid-template-columns:1fr;
  }
  .soft-stage-line{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px 0;
  }
  .soft-stage-line:before{display:none}
  .soft-top-three{
    grid-template-columns:1fr;
  }
}
@media(max-width:820px){
  .soft-hero-left h1{font-size:38px}
  .soft-section h2,
  .soft-section-head h2,
  .soft-final-cta h2{font-size:29px}
  .soft-trust-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .soft-trust-strip div:nth-child(2){border-right:0}
  .soft-category-row,
  .soft-final-cta{
    flex-direction:column;
    align-items:flex-start;
  }
  .soft-category-pills{
    justify-content:flex-start;
  }
  .soft-filter-bar{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .soft-home-hero{
    padding:38px 0 34px;
  }
  .soft-hero-left h1{font-size:32px}
  .soft-hero-visual{
    min-height:280px;
    padding:22px;
    border-radius:28px;
  }
  .soft-stage-line{
    grid-template-columns:1fr;
  }
  .soft-trust-strip{
    grid-template-columns:1fr;
  }
  .soft-trust-strip div{
    border-right:0;
    border-bottom:1px solid rgba(15,61,115,.08);
  }
  .soft-trust-strip div:last-child{border-bottom:0}
  .soft-practice-panel{
    padding:30px 20px;
    border-radius:26px;
  }
}


/* V43: Homepage Real Photos Integration */
.soft-hero-photo{
  position:relative;
  min-height:360px;
  border-radius:38px;
  overflow:hidden;
  box-shadow:0 28px 60px rgba(7,26,58,.22);
  background:#071a3a;
}
.soft-hero-photo img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
}
.soft-hero-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(7,26,58,0) 38%,rgba(7,26,58,.44) 100%),
    radial-gradient(circle at 20% 20%,rgba(25,191,232,.16),transparent 35%);
  pointer-events:none;
}
.soft-photo-badge{
  position:absolute;
  left:20px;
  bottom:20px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 15px;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  color:#071a3a;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
}
.soft-photo-badge strong{
  width:48px;
  height:48px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#071a3a,#0f3d73);
  color:#fff;
  font-size:22px;
}
.soft-photo-badge span{
  font-weight:900;
  font-size:13px;
  max-width:150px;
  line-height:1.2;
}
.soft-photo-story{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);
  gap:34px;
  align-items:center;
  padding-top:42px;
  padding-bottom:42px;
}
.soft-photo-copy{
  max-width:520px;
}
.soft-photo-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.soft-photo-grid img{
  width:100%;
  height:270px;
  object-fit:cover;
  border-radius:28px;
  display:block;
  box-shadow:0 18px 42px rgba(15,23,42,.12);
}
.soft-photo-grid img:first-child{
  margin-top:34px;
}
body.theme-dark .soft-photo-badge{
  background:rgba(16,28,47,.92);
  color:#edf5ff;
  border:1px solid #334155;
}
body.theme-dark .soft-photo-badge strong{
  background:linear-gradient(135deg,#ff8a00,#19bfe8);
  color:#071a3a;
}
@media(max-width:980px){
  .soft-photo-story{
    grid-template-columns:1fr;
  }
  .soft-photo-copy{
    max-width:760px;
  }
}
@media(max-width:700px){
  .soft-hero-photo,
  .soft-hero-photo img{
    min-height:285px;
  }
  .soft-photo-grid{
    grid-template-columns:1fr;
  }
  .soft-photo-grid img{
    height:240px;
  }
  .soft-photo-grid img:first-child{
    margin-top:0;
  }
  .soft-photo-badge{
    left:14px;
    right:14px;
    bottom:14px;
  }
}


/* V44: Homepage Photo Alignment Fix — keep one clean hero photo, remove heavy photo feel */
.soft-home-hero{
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  gap:36px!important;
  align-items:center!important;
  padding-top:54px!important;
  padding-bottom:44px!important;
}
.hero-photo-clean,
.soft-hero-photo{
  width:100%!important;
  min-height:0!important;
  aspect-ratio:16/10!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#071a3a!important;
  box-shadow:0 22px 48px rgba(7,26,58,.18)!important;
}
.hero-photo-clean img,
.soft-hero-photo img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.hero-photo-clean:after,
.soft-hero-photo:after{
  background:linear-gradient(180deg,rgba(7,26,58,0) 58%,rgba(7,26,58,.42) 100%)!important;
}
.soft-photo-badge{
  left:16px!important;
  bottom:16px!important;
  padding:10px 13px!important;
  border-radius:16px!important;
}
.soft-photo-badge strong{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  font-size:20px!important;
}
.soft-photo-badge span{
  font-size:12px!important;
  max-width:135px!important;
}

/* Extra photo story section is removed in V44, but keep this safety to avoid broken spacing */
.soft-photo-story{
  display:none!important;
}

/* Trust strip comes directly after hero, make spacing natural */
.soft-home-hero + .soft-trust-strip{
  margin-top:0!important;
}

/* Soft image should not dominate the hero on mobile */
@media(max-width:1100px){
  .soft-home-hero{
    grid-template-columns:1fr!important;
  }
  .hero-photo-clean,
  .soft-hero-photo{
    max-width:820px!important;
    aspect-ratio:16/9!important;
  }
}
@media(max-width:640px){
  .hero-photo-clean,
  .soft-hero-photo{
    border-radius:24px!important;
    aspect-ratio:4/3!important;
  }
  .soft-photo-badge{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
  }
}


/* V45: Integrated Photo Hero — photo becomes part of theme, not a separate box */
.soft-home-hero.photo-integrated-hero{
  display:flex!important;
  align-items:center!important;
  min-height:560px!important;
  padding:74px 54px!important;
  margin:18px 0 12px!important;
  border-radius:36px!important;
  border-bottom:0!important;
  overflow:hidden!important;
  position:relative!important;
  background:
    linear-gradient(90deg,rgba(7,26,58,.94) 0%,rgba(7,26,58,.86) 38%,rgba(7,26,58,.48) 64%,rgba(7,26,58,.08) 100%),
    radial-gradient(circle at 18% 18%,rgba(25,191,232,.24),transparent 28%),
    radial-gradient(circle at 42% 90%,rgba(255,138,0,.20),transparent 34%),
    url('homepage/mindwhiz-counseling-hero.jpg') center center/cover no-repeat!important;
  box-shadow:0 28px 70px rgba(7,26,58,.25)!important;
}
.soft-home-hero.photo-integrated-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 42%);
  pointer-events:none;
}
.soft-home-hero.photo-integrated-hero .soft-hero-left{
  position:relative!important;
  z-index:1!important;
  max-width:760px!important;
}
.soft-home-hero.photo-integrated-hero .soft-eyebrow{
  color:#ffd76a!important;
}
.soft-home-hero.photo-integrated-hero .soft-eyebrow:before{
  background:linear-gradient(90deg,#ffd76a,#19bfe8)!important;
}
.soft-home-hero.photo-integrated-hero h1{
  color:#ffffff!important;
  text-shadow:0 4px 18px rgba(0,0,0,.18)!important;
}
.soft-home-hero.photo-integrated-hero p{
  color:rgba(255,255,255,.86)!important;
  max-width:720px!important;
}
.soft-home-hero.photo-integrated-hero .btn.secondary{
  background:rgba(255,255,255,.92)!important;
  color:#071a3a!important;
}
.soft-home-hero.photo-integrated-hero .btn.gray{
  background:rgba(234,242,255,.92)!important;
  color:#071a3a!important;
}

/* Remove old framed photo visuals if browser cache keeps them */
.soft-home-hero.photo-integrated-hero .soft-hero-photo,
.soft-home-hero.photo-integrated-hero .hero-photo-clean,
.soft-home-hero.photo-integrated-hero .soft-photo-badge{
  display:none!important;
}

/* Make trust strip feel connected to the hero */
.photo-integrated-hero + .soft-trust-strip{
  padding-top:22px!important;
}

/* Dark theme uses same integrated photo with stronger readability */
body.theme-dark .soft-home-hero.photo-integrated-hero{
  background:
    linear-gradient(90deg,rgba(5,13,28,.96) 0%,rgba(7,20,43,.90) 40%,rgba(7,20,43,.56) 66%,rgba(7,20,43,.18) 100%),
    radial-gradient(circle at 18% 18%,rgba(64,217,255,.18),transparent 28%),
    radial-gradient(circle at 42% 90%,rgba(255,180,92,.16),transparent 34%),
    url('homepage/mindwhiz-counseling-hero.jpg') center center/cover no-repeat!important;
}

@media(max-width:1000px){
  .soft-home-hero.photo-integrated-hero{
    min-height:520px!important;
    padding:62px 36px!important;
    background:
      linear-gradient(90deg,rgba(7,26,58,.94) 0%,rgba(7,26,58,.82) 55%,rgba(7,26,58,.42) 100%),
      url('homepage/mindwhiz-counseling-hero.jpg') center center/cover no-repeat!important;
  }
}
@media(max-width:700px){
  .soft-home-hero.photo-integrated-hero{
    min-height:560px!important;
    padding:44px 24px!important;
    border-radius:28px!important;
    background:
      linear-gradient(180deg,rgba(7,26,58,.92) 0%,rgba(7,26,58,.78) 58%,rgba(7,26,58,.52) 100%),
      url('homepage/mindwhiz-counseling-hero.jpg') center center/cover no-repeat!important;
  }
  .soft-home-hero.photo-integrated-hero h1{
    font-size:34px!important;
  }
}


/* V46: Premium International Homepage Redesign */
.pro-hero{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  padding:72px 58px;
  margin:16px 0 20px;
  border-radius:38px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(7,26,58,.96) 0%,rgba(7,26,58,.90) 40%,rgba(7,26,58,.58) 68%,rgba(7,26,58,.12) 100%),
    radial-gradient(circle at 18% 20%,rgba(25,191,232,.24),transparent 30%),
    radial-gradient(circle at 44% 96%,rgba(255,138,0,.18),transparent 32%),
    var(--hero-photo) center center/cover no-repeat;
  box-shadow:0 30px 78px rgba(7,26,58,.26);
}
.pro-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 42%);
  pointer-events:none;
}
.pro-hero-copy{
  position:relative;
  z-index:2;
  max-width:780px;
}
.pro-label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#ff8a00;
  font-size:13px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.pro-label::before{
  content:"";
  width:30px;
  height:2px;
  border-radius:10px;
  background:linear-gradient(90deg,#ff8a00,#19bfe8);
}
.pro-hero .pro-label{
  color:#ffd76a;
}
.pro-hero .pro-label::before{
  background:linear-gradient(90deg,#ffd76a,#19bfe8);
}
.pro-hero h1{
  margin:0 0 18px;
  font-size:58px;
  line-height:1.02;
  letter-spacing:-.058em;
  color:#ffffff;
  max-width:850px;
  text-shadow:0 4px 22px rgba(0,0,0,.18);
}
.pro-hero p{
  margin:0 0 26px;
  max-width:720px;
  font-size:18px;
  line-height:1.72;
  color:rgba(255,255,255,.88);
  font-weight:700;
}
.pro-hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.pro-hero .btn.secondary,
.pro-hero .btn.gray{
  background:rgba(255,255,255,.92)!important;
  color:#071a3a!important;
}
.pro-hero-metrics{
  position:absolute;
  z-index:2;
  right:34px;
  bottom:28px;
  display:flex;
  gap:10px;
  padding:10px;
  border-radius:22px;
  background:rgba(255,255,255,.13);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.18);
}
.pro-hero-metrics div{
  min-width:94px;
  padding:12px 10px;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  text-align:center;
}
.pro-hero-metrics strong{
  display:block;
  color:#fff;
  font-size:28px;
  line-height:1;
}
.pro-hero-metrics span{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.76);
  font-size:12px;
  font-weight:900;
}

.pro-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-bottom:1px solid rgba(15,61,115,.10);
  padding:18px 0 36px;
}
.pro-strip div{
  padding:10px 24px;
  border-right:1px solid rgba(15,61,115,.11);
}
.pro-strip div:last-child{border-right:0}
.pro-strip span{
  display:block;
  color:#6b7280;
  font-size:13px;
  font-weight:900;
  margin-bottom:5px;
}
.pro-strip strong{
  color:#071a3a;
  font-size:20px;
}

.pro-section{
  padding:58px 0;
  border-bottom:1px solid rgba(15,61,115,.08);
}
.pro-section h2,
.pro-final h2,
.pro-practice h2,
.pro-categories h2{
  color:#071a3a;
  font-size:38px;
  line-height:1.14;
  letter-spacing:-.04em;
  margin:0 0 12px;
}
.pro-section p,
.pro-final p,
.pro-practice p,
.pro-categories p{
  color:#5d687d;
  line-height:1.72;
  font-weight:700;
}
.pro-section-title{
  max-width:820px;
  margin-bottom:26px;
}
.pro-section-title h2::before,
.pro-section-title h2::after,
.pro-section h2::before,
.pro-section h2::after,
.pro-final h2::before,
.pro-final h2::after,
.pro-practice h2::before,
.pro-practice h2::after,
.pro-categories h2::before,
.pro-categories h2::after{
  display:none!important;
}

.pro-intro{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr);
  gap:48px;
  align-items:start;
}
.pro-intro-grid{
  display:grid;
  gap:0;
}
.pro-intro-item{
  display:grid;
  grid-template-columns:56px 1fr;
  column-gap:16px;
  padding:22px 0;
  border-bottom:1px solid rgba(15,61,115,.10);
}
.pro-intro-item:first-child{padding-top:0}
.pro-intro-item:last-child{border-bottom:0}
.pro-intro-item span{
  width:42px;
  height:42px;
  border-radius:50%;
  background:#fff7ed;
  color:#9a3412;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}
.pro-intro-item h3{
  margin:0 0 5px;
  color:#071a3a;
  font-size:22px;
}
.pro-intro-item p{
  grid-column:2;
  margin:0;
}

.pro-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0;
  padding-top:24px;
}
.pro-timeline::before{
  content:"";
  position:absolute;
  top:34px;
  left:8%;
  right:8%;
  height:2px;
  background:linear-gradient(90deg,#ff8a00,#19bfe8);
  opacity:.48;
}
.pro-timeline article{
  position:relative;
  padding:0 14px;
}
.pro-dot{
  width:22px;
  height:22px;
  border-radius:50%;
  border:5px solid #ff8a00;
  background:#fff;
  margin-bottom:18px;
  position:relative;
  z-index:1;
}
.pro-timeline small{
  display:block;
  color:#ff8a00;
  font-weight:900;
  margin-bottom:8px;
}
.pro-timeline h3{
  color:#071a3a;
  font-size:18px;
  margin:0 0 8px;
}
.pro-timeline p{
  margin:0;
  font-size:14px;
  line-height:1.55;
}

.pro-discipline-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.pro-discipline-cloud a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.74);
  color:#071a3a;
  border:1px solid rgba(15,61,115,.12);
  box-shadow:0 8px 22px rgba(15,23,42,.055);
  font-weight:900;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pro-discipline-cloud a:hover{
  transform:translateY(-2px);
  border-color:rgba(255,138,0,.36);
  box-shadow:0 13px 30px rgba(15,23,42,.09);
}
.pro-discipline-cloud span{
  display:inline-flex;
  min-width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#eef6ff;
}

.pro-practice{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,.76fr);
  gap:42px;
  align-items:center;
  margin:44px 0;
  padding:44px 36px;
  border-radius:34px;
  background:linear-gradient(135deg,#071a3a,#0f3d73);
  color:#fff;
  box-shadow:0 22px 54px rgba(7,26,58,.20);
}
.pro-practice h2{color:#fff!important}
.pro-practice p{color:rgba(255,255,255,.78)!important}
.pro-practice-list{
  display:grid;
}
.pro-practice-list span{
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-weight:900;
}
.pro-practice-list span:last-child{border-bottom:0}

.pro-categories{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding:46px 0;
  border-bottom:1px solid rgba(15,61,115,.08);
}
.pro-category-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.pro-category-list span{
  display:inline-flex;
  flex-direction:column;
  min-width:126px;
  padding:13px 15px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(15,61,115,.10);
  box-shadow:0 8px 22px rgba(15,23,42,.055);
  color:#687386;
  font-weight:800;
}
.pro-category-list strong{
  color:#071a3a;
  margin-bottom:2px;
}

.pro-filter{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding:18px 0;
  border-top:1px solid rgba(15,61,115,.08);
  border-bottom:1px solid rgba(15,61,115,.08);
  margin-bottom:18px;
}
.pro-filter label{
  display:block;
  color:#071a3a;
  font-weight:900;
  margin-bottom:6px;
}
.pro-tabs{margin-bottom:16px}
.pro-empty{
  padding:24px 0;
}
.pro-empty h3{
  color:#071a3a;
}
.pro-winners{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:22px 0;
}
.pro-winners article{
  display:flex;
  gap:14px;
  align-items:center;
  padding:18px 0;
  border-top:1px solid rgba(15,61,115,.10);
  border-bottom:1px solid rgba(15,61,115,.10);
}
.pro-winners h3{
  color:#071a3a;
  margin:7px 0 4px;
}
.pro-winners p{
  margin:0 0 6px;
  font-size:13px;
  color:#687386;
}
.pro-winners strong{
  color:#ff8a00;
}
.pro-leader-list .leader-row{
  background:transparent!important;
  box-shadow:none!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  border-top:1px solid rgba(15,61,115,.08)!important;
  padding-left:0!important;
  padding-right:0!important;
}

.pro-final{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:48px 0 26px;
}
.pro-final p{
  margin:0;
  max-width:720px;
}

/* Dark theme for V46 */
body.theme-dark .pro-hero{
  background:
    linear-gradient(90deg,rgba(5,13,28,.97) 0%,rgba(7,20,43,.92) 42%,rgba(7,20,43,.62) 70%,rgba(7,20,43,.20) 100%),
    radial-gradient(circle at 18% 20%,rgba(64,217,255,.18),transparent 30%),
    radial-gradient(circle at 44% 96%,rgba(255,180,92,.14),transparent 32%),
    var(--hero-photo) center center/cover no-repeat;
}
body.theme-dark .pro-strip,
body.theme-dark .pro-section,
body.theme-dark .pro-categories,
body.theme-dark .pro-filter,
body.theme-dark .pro-winners article,
body.theme-dark .pro-leader-list .leader-row{
  border-color:#24344f!important;
}
body.theme-dark .pro-strip strong,
body.theme-dark .pro-section h2,
body.theme-dark .pro-section h3,
body.theme-dark .pro-final h2,
body.theme-dark .pro-practice h2,
body.theme-dark .pro-categories h2,
body.theme-dark .pro-intro-item h3,
body.theme-dark .pro-timeline h3,
body.theme-dark .pro-category-list strong,
body.theme-dark .pro-filter label,
body.theme-dark .pro-empty h3,
body.theme-dark .pro-winners h3{
  color:#edf5ff!important;
}
body.theme-dark .pro-strip span,
body.theme-dark .pro-section p,
body.theme-dark .pro-final p,
body.theme-dark .pro-categories p,
body.theme-dark .pro-intro-item p,
body.theme-dark .pro-timeline p,
body.theme-dark .pro-category-list span,
body.theme-dark .pro-winners p{
  color:#a8b3c7!important;
}
body.theme-dark .pro-discipline-cloud a,
body.theme-dark .pro-category-list span{
  background:#101c2f!important;
  color:#edf5ff!important;
  border-color:#24344f!important;
}
body.theme-dark .pro-discipline-cloud span,
body.theme-dark .pro-intro-item span{
  background:#0b1628!important;
  color:#ffd76a!important;
}
body.theme-dark .pro-practice{
  background:linear-gradient(135deg,#071326,#0f2c4f)!important;
}

@media(max-width:1100px){
  .pro-hero{
    min-height:560px;
    padding:60px 38px;
    background:
      linear-gradient(90deg,rgba(7,26,58,.96) 0%,rgba(7,26,58,.86) 58%,rgba(7,26,58,.46) 100%),
      var(--hero-photo) center center/cover no-repeat;
  }
  .pro-hero h1{font-size:48px}
  .pro-hero-metrics{
    position:relative;
    right:auto;
    bottom:auto;
    margin-top:28px;
  }
  .pro-intro,
  .pro-practice{
    grid-template-columns:1fr;
  }
  .pro-timeline{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px 0;
  }
  .pro-timeline::before{display:none}
  .pro-winners{
    grid-template-columns:1fr;
  }
}
@media(max-width:820px){
  .pro-hero{
    padding:48px 28px;
    border-radius:30px;
  }
  .pro-hero h1{font-size:38px}
  .pro-section h2,
  .pro-final h2,
  .pro-practice h2,
  .pro-categories h2{font-size:30px}
  .pro-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pro-strip div:nth-child(2){border-right:0}
  .pro-categories,
  .pro-final{
    flex-direction:column;
    align-items:flex-start;
  }
  .pro-category-list{
    justify-content:flex-start;
  }
  .pro-filter{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .pro-hero{
    min-height:600px;
    padding:40px 22px;
    background:
      linear-gradient(180deg,rgba(7,26,58,.94) 0%,rgba(7,26,58,.82) 62%,rgba(7,26,58,.60) 100%),
      var(--hero-photo) center center/cover no-repeat;
  }
  .pro-hero h1{font-size:32px}
  .pro-hero p{font-size:16px}
  .pro-hero-metrics{
    flex-direction:column;
    align-items:stretch;
    width:100%;
  }
  .pro-strip{
    grid-template-columns:1fr;
  }
  .pro-strip div{
    border-right:0;
    border-bottom:1px solid rgba(15,61,115,.08);
  }
  .pro-strip div:last-child{border-bottom:0}
  .pro-timeline{
    grid-template-columns:1fr;
  }
  .pro-practice{
    padding:30px 20px;
    border-radius:26px;
  }
}
/* End V46 */


/* V47: Clean Premium Header — remove unnecessary header boxes */
.premium-open-header.topbar.topbar-clean{
  min-height:74px!important;
  padding:12px 34px!important;
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  border-bottom:1px solid rgba(15,61,115,.10)!important;
  box-shadow:0 10px 32px rgba(15,23,42,.055)!important;
  gap:28px!important;
}
.premium-open-header .brand-wrap-clean{
  max-width:250px!important;
}
.premium-open-header .brand-clean{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}
.premium-open-header .header-logo-clean{
  height:38px!important;
  max-width:180px!important;
}
.premium-open-header .brand-subtitle{
  font-size:11px!important;
  color:#6b7280!important;
  padding-left:1px!important;
  margin-top:3px!important;
}

/* open text navigation */
.premium-open-nav.memocamp-style-nav{
  gap:20px!important;
  flex:1 1 auto!important;
  justify-content:flex-end!important;
  align-items:center!important;
}
.premium-open-nav .nav-main-link,
.premium-open-nav .nav-menu-toggle,
.premium-open-nav .profile-toggle{
  height:auto!important;
  min-height:0!important;
  padding:8px 0!important;
  border-radius:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#071a3a!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.2!important;
  letter-spacing:-.01em!important;
  opacity:.92!important;
  position:relative!important;
}
.premium-open-nav .nav-main-link::after,
.premium-open-nav .nav-menu-toggle::after,
.premium-open-nav .profile-toggle::after,
.premium-open-nav .open-login-link::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:2px!important;
  height:2px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#ff8a00,#19bfe8)!important;
  transform:scaleX(0)!important;
  transform-origin:left!important;
  transition:transform .2s ease!important;
  z-index:auto!important;
  animation:none!important;
  width:auto!important;
  top:auto!important;
  opacity:1!important;
}
.premium-open-nav .nav-main-link:hover,
.premium-open-nav .nav-menu-toggle:hover,
.premium-open-nav .profile-toggle:hover,
.premium-open-nav .open-login-link:hover{
  background:transparent!important;
  color:#0f3d73!important;
  transform:none!important;
}
.premium-open-nav .nav-main-link:hover::after,
.premium-open-nav .nav-menu:hover > .nav-menu-toggle::after,
.premium-open-nav .profile-menu:hover > .profile-toggle::after,
.premium-open-nav .open-login-link:hover::after{
  transform:scaleX(1)!important;
}

/* dropdown only is a soft necessary panel */
.premium-open-nav .nav-menu-dropdown{
  top:calc(100% + 14px)!important;
  min-width:238px!important;
  padding:10px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(15,61,115,.10)!important;
  box-shadow:0 24px 60px rgba(15,23,42,.16)!important;
  backdrop-filter:blur(14px)!important;
}
.premium-open-nav .nav-menu-dropdown a{
  border-radius:12px!important;
  padding:10px 12px!important;
  min-height:38px!important;
  font-size:13.5px!important;
  font-weight:800!important;
  color:#071a3a!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.premium-open-nav .nav-menu-dropdown a:hover{
  background:#f1f7ff!important;
  color:#0f3d73!important;
}
.premium-open-nav .nav-menu-dropdown .dropdown-overview{
  background:#fff7ed!important;
  color:#9a3412!important;
  border:1px solid #fed7aa!important;
}
.premium-open-nav .nav-menu-dropdown .dropdown-danger{
  background:#fee2e2!important;
  color:#991b1b!important;
}

/* guest links: one plain login and one single CTA, not many boxes */
.premium-open-nav .open-login-link{
  display:inline-flex!important;
  align-items:center!important;
  padding:8px 0!important;
  color:#071a3a!important;
  font-size:14px!important;
  font-weight:850!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  position:relative!important;
}
.premium-open-nav .open-register-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:9px 15px!important;
  margin-left:4px!important;
  border-radius:999px!important;
  background:#071a3a!important;
  color:#ffffff!important;
  font-size:13.5px!important;
  font-weight:900!important;
  border:1px solid rgba(7,26,58,.12)!important;
  box-shadow:0 10px 24px rgba(7,26,58,.14)!important;
}
.premium-open-nav .open-register-link:hover{
  background:#0f3d73!important;
  color:#ffffff!important;
  transform:translateY(-1px)!important;
}

/* Language/theme minimal controls */
.premium-open-nav .language-select,
.premium-open-nav .theme-select,
.premium-open-nav .compact-language .language-select,
.premium-open-nav .compact-theme .theme-select{
  height:36px!important;
  min-height:36px!important;
  min-width:110px!important;
  max-width:138px!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  color:#071a3a!important;
  border:1px solid rgba(15,61,115,.10)!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:850!important;
  padding:7px 28px 7px 11px!important;
}

/* remove old header box leftovers */
.premium-open-nav .login-pill,
.premium-open-nav .register-pill,
.premium-open-nav .header-auth-link,
.premium-open-nav .logout-visible-pill{
  box-shadow:none!important;
}

/* dark theme */
body.theme-dark .premium-open-header.topbar.topbar-clean{
  background:rgba(8,17,31,.90)!important;
  border-bottom:1px solid #24344f!important;
  box-shadow:0 12px 32px rgba(0,0,0,.30)!important;
}
body.theme-dark .premium-open-header .brand-clean{
  background:transparent!important;
  border:0!important;
}
body.theme-dark .premium-open-header .brand-subtitle{
  color:#a8b3c7!important;
}
body.theme-dark .premium-open-nav .nav-main-link,
body.theme-dark .premium-open-nav .nav-menu-toggle,
body.theme-dark .premium-open-nav .profile-toggle,
body.theme-dark .premium-open-nav .open-login-link{
  color:#edf5ff!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.theme-dark .premium-open-nav .nav-main-link:hover,
body.theme-dark .premium-open-nav .nav-menu-toggle:hover,
body.theme-dark .premium-open-nav .profile-toggle:hover,
body.theme-dark .premium-open-nav .open-login-link:hover{
  color:#ffffff!important;
}
body.theme-dark .premium-open-nav .open-register-link{
  background:#ff8a00!important;
  color:#071a3a!important;
  border-color:#ff8a00!important;
}
body.theme-dark .premium-open-nav .nav-menu-dropdown{
  background:rgba(16,28,47,.96)!important;
  border-color:#334155!important;
  box-shadow:0 24px 60px rgba(0,0,0,.42)!important;
}
body.theme-dark .premium-open-nav .nav-menu-dropdown a{
  color:#edf5ff!important;
}
body.theme-dark .premium-open-nav .nav-menu-dropdown a:hover{
  background:#17243a!important;
  color:#ffffff!important;
}
body.theme-dark .premium-open-nav .language-select,
body.theme-dark .premium-open-nav .theme-select{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#334155!important;
}

/* responsive: still clean, not boxed */
@media(max-width:1150px){
  .premium-open-header.topbar.topbar-clean{
    padding:12px 22px!important;
    align-items:flex-start!important;
  }
  .premium-open-nav.memocamp-style-nav{
    gap:16px!important;
  }
}
@media(max-width:820px){
  .premium-open-header.topbar.topbar-clean{
    flex-direction:column!important;
    gap:12px!important;
  }
  .premium-open-nav.memocamp-style-nav{
    width:100%!important;
    justify-content:flex-start!important;
    gap:14px!important;
  }
  .premium-open-nav .nav-main-link,
  .premium-open-nav .nav-menu-toggle,
  .premium-open-nav .profile-toggle,
  .premium-open-nav .open-login-link{
    font-size:13px!important;
  }
  .premium-open-nav .nav-menu-dropdown{
    left:0!important;
    right:auto!important;
  }
}
@media(max-width:560px){
  .premium-open-nav.memocamp-style-nav{
    row-gap:10px!important;
  }
  .premium-open-nav .language-select,
  .premium-open-nav .theme-select{
    min-width:104px!important;
    max-width:128px!important;
    font-size:12px!important;
  }
}


/* V48: Two-row Premium Header — top tools + bottom navigation */
.premium-open-header.topbar.topbar-clean{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:28px!important;
  min-height:92px!important;
  padding:14px 34px 12px!important;
}
.header-right-stack{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:10px!important;
  min-width:0!important;
}
.header-top-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.header-bottom-nav.premium-open-nav{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:22px!important;
  flex-wrap:wrap!important;
}

/* Top row: exactly tool style boxes, clean and small */
.header-top-tools .header-tool-button,
.header-top-tools .language-select,
.header-top-tools .theme-select{
  height:38px!important;
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  font-size:13.5px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  background:#ffffff!important;
  color:#071a3a!important;
  border:1px solid rgba(15,61,115,.12)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
  cursor:pointer!important;
}
.header-top-tools .header-tool-button{
  min-width:132px!important;
}
.header-top-tools .language-select,
.header-top-tools .theme-select{
  min-width:118px!important;
  max-width:148px!important;
  padding-right:30px!important;
}
.header-top-tools .nav-menu-dropdown{
  top:calc(100% + 10px)!important;
  right:0!important;
  left:auto!important;
}
.header-top-tools .header-tool-button:hover{
  background:#f8fafc!important;
  color:#0f3d73!important;
}

/* Bottom row: no boxes, only clean text navigation */
.header-bottom-nav .nav-main-link,
.header-bottom-nav .nav-menu-toggle{
  height:auto!important;
  min-height:0!important;
  padding:4px 0 8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#071a3a!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.header-bottom-nav .nav-menu-toggle:hover,
.header-bottom-nav .nav-main-link:hover{
  background:transparent!important;
  color:#0f3d73!important;
}

/* duplicate guest login/register removed from Training; keep its dropdown informational */
.header-bottom-nav .nav-menu-dropdown a{
  font-size:13.5px!important;
}

/* Logo side balanced with two-row nav */
.premium-open-header .brand-wrap-clean{
  padding-top:2px!important;
}

/* Dark theme */
body.theme-dark .header-top-tools .header-tool-button,
body.theme-dark .header-top-tools .language-select,
body.theme-dark .header-top-tools .theme-select{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#334155!important;
  box-shadow:0 10px 24px rgba(0,0,0,.22)!important;
}
body.theme-dark .header-top-tools .header-tool-button:hover{
  background:#14233a!important;
  color:#ffffff!important;
}
body.theme-dark .header-bottom-nav .nav-main-link,
body.theme-dark .header-bottom-nav .nav-menu-toggle{
  color:#edf5ff!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.theme-dark .header-bottom-nav .nav-main-link:hover,
body.theme-dark .header-bottom-nav .nav-menu-toggle:hover{
  color:#ffffff!important;
}

/* Responsive */
@media(max-width:1050px){
  .premium-open-header.topbar.topbar-clean{
    flex-direction:column!important;
    align-items:flex-start!important;
    min-height:auto!important;
    padding:14px 22px!important;
  }
  .header-right-stack{
    align-items:flex-start!important;
    width:100%!important;
  }
  .header-top-tools{
    justify-content:flex-start!important;
    width:100%!important;
  }
  .header-bottom-nav.premium-open-nav{
    justify-content:flex-start!important;
    gap:16px!important;
  }
}
@media(max-width:640px){
  .header-top-tools .header-tool-button,
  .header-top-tools .language-select,
  .header-top-tools .theme-select{
    height:36px!important;
    min-height:36px!important;
    font-size:12.5px!important;
    padding:7px 11px!important;
  }
  .header-top-tools .header-tool-button{
    min-width:118px!important;
  }
  .header-top-tools .language-select,
  .header-top-tools .theme-select{
    min-width:104px!important;
    max-width:128px!important;
    padding-right:26px!important;
  }
  .header-bottom-nav .nav-main-link,
  .header-bottom-nav .nav-menu-toggle{
    font-size:13px!important;
  }
}


/* V49: Light Top Tools — no heavy boxes for Hello Guest / Language / Theme */
.light-top-tools.header-top-tools{
  gap:16px!important;
  align-items:center!important;
}

/* Top row controls become compact text-controls, not boxes */
.light-top-tools .header-tool-button,
.light-top-tools .language-select,
.light-top-tools .theme-select{
  height:auto!important;
  min-height:0!important;
  min-width:auto!important;
  max-width:none!important;
  padding:4px 0 6px!important;
  border-radius:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#0f3d73!important;
  font-size:13.5px!important;
  font-weight:850!important;
  line-height:1.2!important;
  letter-spacing:-.01em!important;
  cursor:pointer!important;
}

/* Keep selected dropdown compact */
.light-top-tools .language-select,
.light-top-tools .theme-select{
  width:auto!important;
  appearance:auto!important;
  -webkit-appearance:auto!important;
  padding-right:2px!important;
  text-align:left!important;
}

/* Underline feel like lower nav, no pill background */
.light-top-tools .header-tool-button{
  position:relative!important;
}
.light-top-tools .header-tool-button::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:2px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#ff8a00,#19bfe8)!important;
  transform:scaleX(0)!important;
  transform-origin:left!important;
  transition:transform .2s ease!important;
}
.light-top-tools .header-guest-menu:hover .header-tool-button::after{
  transform:scaleX(1)!important;
}
.light-top-tools .header-tool-button:hover,
.light-top-tools .language-select:hover,
.light-top-tools .theme-select:hover{
  color:#ff8a00!important;
  background:transparent!important;
}

/* Dropdown remains as the only necessary light panel */
.light-top-tools .nav-menu-dropdown{
  top:calc(100% + 9px)!important;
  right:0!important;
  left:auto!important;
  min-width:210px!important;
  padding:9px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(15,61,115,.10)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.14)!important;
  backdrop-filter:blur(12px)!important;
}
.light-top-tools .nav-menu-dropdown a{
  border-radius:11px!important;
  padding:9px 11px!important;
  min-height:36px!important;
  font-size:13px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Bottom navigation stays clean and aligned */
.header-bottom-nav.premium-open-nav{
  gap:24px!important;
}

/* Override old V48 box styles strongly */
.header-top-tools.light-top-tools .header-tool-button,
.header-top-tools.light-top-tools .language-select,
.header-top-tools.light-top-tools .theme-select{
  box-shadow:none!important;
  border-color:transparent!important;
}

/* Dark theme */
body.theme-dark .light-top-tools .header-tool-button,
body.theme-dark .light-top-tools .language-select,
body.theme-dark .light-top-tools .theme-select{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#edf5ff!important;
}
body.theme-dark .light-top-tools .header-tool-button:hover,
body.theme-dark .light-top-tools .language-select:hover,
body.theme-dark .light-top-tools .theme-select:hover{
  color:#ffd76a!important;
}
body.theme-dark .light-top-tools .nav-menu-dropdown{
  background:rgba(16,28,47,.96)!important;
  border-color:#334155!important;
  box-shadow:0 18px 42px rgba(0,0,0,.36)!important;
}

/* Mobile: compact and readable */
@media(max-width:640px){
  .light-top-tools.header-top-tools{
    gap:12px!important;
  }
  .light-top-tools .header-tool-button,
  .light-top-tools .language-select,
  .light-top-tools .theme-select{
    font-size:12.5px!important;
    padding:3px 0 5px!important;
  }
}


/* V50: Dark Theme White Logo + Footer Alignment */
.header-logo-dark{
  display:none!important;
}
.header-logo-light{
  display:block!important;
}
body.theme-dark .header-logo-light{
  display:none!important;
}
body.theme-dark .header-logo-dark{
  display:block!important;
}

/* Keep logo clean and visible in both themes */
.premium-open-header .brand-clean{
  position:relative!important;
}
.premium-open-header .header-logo-clean{
  object-fit:contain!important;
}

/* Footer: company left, policy links right */
.footer-premium-v50.footer-split{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  text-align:left!important;
  padding:18px 34px!important;
  border-top:1px solid rgba(15,61,115,.10)!important;
}
.footer-premium-v50 .footer-copy{
  order:1!important;
  color:#6b7280!important;
  font-size:13px!important;
  font-weight:700!important;
  text-align:left!important;
}
.footer-premium-v50 .footer-links{
  order:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
.footer-premium-v50 .footer-links a{
  color:#0f3d73!important;
  font-weight:850!important;
  font-size:13px!important;
}
.footer-premium-v50 .footer-links a:hover{
  color:#ff8a00!important;
}

/* Dark footer */
body.theme-dark .footer-premium-v50.footer-split{
  background:#08111f!important;
  border-top-color:#24344f!important;
}
body.theme-dark .footer-premium-v50 .footer-copy{
  color:#a8b3c7!important;
}
body.theme-dark .footer-premium-v50 .footer-links a{
  color:#edf5ff!important;
}
body.theme-dark .footer-premium-v50 .footer-links a:hover{
  color:#ffd76a!important;
}

@media(max-width:760px){
  .footer-premium-v50.footer-split{
    flex-direction:column!important;
    align-items:flex-start!important;
    padding:18px 22px!important;
  }
  .footer-premium-v50 .footer-links{
    justify-content:flex-start!important;
    gap:14px!important;
  }
}


/* V51: Scroll-shrink Premium Header Animation */
.premium-open-header.topbar.topbar-clean{
  transition:
    min-height .24s ease,
    padding .24s ease,
    background .24s ease,
    box-shadow .24s ease,
    border-color .24s ease!important;
  will-change:min-height,padding,background,box-shadow!important;
}
.premium-open-header .header-logo-clean,
.premium-open-header .brand-subtitle,
.premium-open-header .header-top-tools,
.premium-open-header .header-bottom-nav,
.premium-open-header .header-tool-button,
.premium-open-header .language-select,
.premium-open-header .theme-select,
.premium-open-header .nav-main-link,
.premium-open-header .nav-menu-toggle{
  transition:
    height .24s ease,
    max-width .24s ease,
    font-size .24s ease,
    padding .24s ease,
    opacity .24s ease,
    transform .24s ease,
    margin .24s ease!important;
}

/* Full header state: logo feels premium and clear */
.premium-open-header:not(.is-scrolled) .header-logo-clean{
  height:40px!important;
  max-width:190px!important;
}
.premium-open-header:not(.is-scrolled) .brand-subtitle{
  opacity:1!important;
  transform:translateY(0)!important;
}

/* Scrolled header state: compact like MemoCamp style */
.premium-open-header.is-scrolled.topbar.topbar-clean{
  min-height:58px!important;
  padding:7px 34px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 8px 28px rgba(15,23,42,.10)!important;
  border-bottom:1px solid rgba(15,61,115,.12)!important;
}
.premium-open-header.is-scrolled .brand-wrap-clean{
  gap:0!important;
}
.premium-open-header.is-scrolled .header-logo-clean{
  height:28px!important;
  max-width:142px!important;
}
.premium-open-header.is-scrolled .brand-subtitle{
  opacity:0!important;
  transform:translateY(-6px)!important;
  height:0!important;
  overflow:hidden!important;
  margin:0!important;
}
.premium-open-header.is-scrolled .header-right-stack{
  gap:4px!important;
}
.premium-open-header.is-scrolled .header-top-tools{
  transform:translateY(-1px)!important;
  gap:12px!important;
}
.premium-open-header.is-scrolled .header-bottom-nav{
  gap:18px!important;
}
.premium-open-header.is-scrolled .header-tool-button,
.premium-open-header.is-scrolled .language-select,
.premium-open-header.is-scrolled .theme-select{
  font-size:12px!important;
  padding:2px 0 4px!important;
}
.premium-open-header.is-scrolled .nav-main-link,
.premium-open-header.is-scrolled .nav-menu-toggle{
  font-size:12.5px!important;
  padding:2px 0 5px!important;
}

/* Keep dropdown position correct after header shrinks */
.premium-open-header.is-scrolled .nav-menu-dropdown{
  top:calc(100% + 8px)!important;
}

/* Add subtle page push consistency when sticky header shrinks */
body.header-is-scrolled .container{
  transition:padding-top .24s ease!important;
}

/* Dark theme shrink */
body.theme-dark .premium-open-header.is-scrolled.topbar.topbar-clean{
  background:rgba(8,17,31,.95)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.38)!important;
  border-bottom-color:#24344f!important;
}

/* Mobile: keep usable, not too tiny */
@media(max-width:1050px){
  .premium-open-header.is-scrolled.topbar.topbar-clean{
    padding:8px 22px!important;
  }
  .premium-open-header.is-scrolled .header-logo-clean{
    height:27px!important;
    max-width:136px!important;
  }
}
@media(max-width:640px){
  .premium-open-header.is-scrolled .header-top-tools,
  .premium-open-header.is-scrolled .header-bottom-nav{
    gap:10px!important;
  }
  .premium-open-header.is-scrolled .header-tool-button,
  .premium-open-header.is-scrolled .language-select,
  .premium-open-header.is-scrolled .theme-select,
  .premium-open-header.is-scrolled .nav-main-link,
  .premium-open-header.is-scrolled .nav-menu-toggle{
    font-size:12px!important;
  }
}


/* V52: Header Scroll Refinement */
.premium-open-header:not(.is-scrolled) .header-logo-clean{
  height:52px!important;
  max-width:245px!important;
}

/* In compact scroll state, top tool underline should disappear.
   Only the bottom main navigation underline should remain. */
.premium-open-header.is-scrolled .header-top-tools .header-tool-button::after,
.premium-open-header.is-scrolled .light-top-tools .header-tool-button::after{
  display:none!important;
  opacity:0!important;
  transform:scaleX(0)!important;
}
.premium-open-header.is-scrolled .header-top-tools .header-tool-button,
.premium-open-header.is-scrolled .header-top-tools .language-select,
.premium-open-header.is-scrolled .header-top-tools .theme-select{
  text-decoration:none!important;
  border-bottom:0!important;
}

/* Keep scrolled logo small and clear */
.premium-open-header.is-scrolled .header-logo-clean{
  height:28px!important;
  max-width:142px!important;
}

/* Give full header a little more premium breathing room for larger logo */
.premium-open-header:not(.is-scrolled).topbar.topbar-clean{
  min-height:104px!important;
  padding-top:16px!important;
  padding-bottom:14px!important;
}

@media(max-width:1050px){
  .premium-open-header:not(.is-scrolled) .header-logo-clean{
    height:46px!important;
    max-width:220px!important;
  }
  .premium-open-header:not(.is-scrolled).topbar.topbar-clean{
    min-height:auto!important;
  }
}
@media(max-width:640px){
  .premium-open-header:not(.is-scrolled) .header-logo-clean{
    height:40px!important;
    max-width:190px!important;
  }
}


/* V53: Hide top tools completely on scroll */
.premium-open-header.is-scrolled .header-top-tools,
.premium-open-header.is-scrolled .light-top-tools{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
}

/* When scrolled, header becomes one-line: small logo + bottom navigation only */
.premium-open-header.is-scrolled .header-right-stack{
  gap:0!important;
  justify-content:center!important;
}
.premium-open-header.is-scrolled .header-bottom-nav{
  margin-top:0!important;
  padding-top:0!important;
  transform:none!important;
}

/* Ensure only bottom navigation underline can show in compact state */
.premium-open-header.is-scrolled .header-bottom-nav .nav-main-link::after,
.premium-open-header.is-scrolled .header-bottom-nav .nav-menu-toggle::after{
  display:block!important;
}

/* Compact header vertical alignment */
.premium-open-header.is-scrolled.topbar.topbar-clean{
  align-items:center!important;
  min-height:54px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.premium-open-header.is-scrolled .brand-wrap-clean{
  justify-content:center!important;
}

/* Top tool dropdowns cannot open in compact state */
.premium-open-header.is-scrolled .header-top-tools .nav-menu-dropdown{
  display:none!important;
}


/* V54: Header Logo Size Refinement */
.premium-open-header:not(.is-scrolled) .header-logo-clean{
  height:62px!important;
  max-width:300px!important;
}
.premium-open-header:not(.is-scrolled) .brand-wrap-clean{
  max-width:330px!important;
}
.premium-open-header:not(.is-scrolled) .brand-subtitle{
  font-size:12.5px!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  padding-left:2px!important;
  margin-top:4px!important;
}

/* Keep compact scroll state clean and small */
.premium-open-header.is-scrolled .header-logo-clean{
  height:31px!important;
  max-width:160px!important;
}
.premium-open-header.is-scrolled .brand-wrap-clean{
  max-width:180px!important;
}

/* Header height adjusted for bigger full logo */
.premium-open-header:not(.is-scrolled).topbar.topbar-clean{
  min-height:118px!important;
  padding-top:18px!important;
  padding-bottom:16px!important;
}

@media(max-width:1050px){
  .premium-open-header:not(.is-scrolled) .header-logo-clean{
    height:54px!important;
    max-width:260px!important;
  }
  .premium-open-header:not(.is-scrolled) .brand-wrap-clean{
    max-width:285px!important;
  }
}
@media(max-width:640px){
  .premium-open-header:not(.is-scrolled) .header-logo-clean{
    height:46px!important;
    max-width:220px!important;
  }
  .premium-open-header:not(.is-scrolled) .brand-wrap-clean{
    max-width:240px!important;
  }
}


/* V55: Names & Faces Original Folder Importer */
.importer-card{
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.importer-form{
  display:grid!important;
  gap:10px!important;
  margin-top:18px!important;
}
.importer-form label{
  font-weight:900!important;
  color:#071a3a!important;
}
.importer-form input[type="text"],
.importer-form input[type="number"]{
  width:100%!important;
  border:1px solid rgba(15,61,115,.18)!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  font-size:14px!important;
  background:#ffffff!important;
  color:#071a3a!important;
  box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
}
.importer-help{
  margin-top:18px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px solid rgba(15,61,115,.10)!important;
}
.importer-help h3{
  margin-top:0!important;
}
.importer-help p{
  margin:7px 0!important;
  color:#4b5563!important;
}
.importer-stats{
  margin-top:18px!important;
}
.face-preview-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important;
  gap:14px!important;
  margin-top:12px!important;
}
.face-preview-card{
  border:1px solid rgba(15,61,115,.10)!important;
  border-radius:16px!important;
  padding:10px!important;
  background:#ffffff!important;
  box-shadow:0 10px 22px rgba(15,23,42,.06)!important;
}
.face-preview-card img{
  width:100%!important;
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  border-radius:12px!important;
  background:#e5e7eb!important;
}
.face-preview-card strong{
  display:block!important;
  margin-top:8px!important;
  color:#071a3a!important;
  font-size:13px!important;
}
.face-preview-card small{
  display:block!important;
  margin-top:3px!important;
  color:#6b7280!important;
  font-size:11px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.theme-dark .importer-form label,
body.theme-dark .face-preview-card strong{
  color:#edf5ff!important;
}
body.theme-dark .importer-form input[type="text"],
body.theme-dark .importer-form input[type="number"],
body.theme-dark .face-preview-card{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#334155!important;
}
body.theme-dark .importer-help{
  background:#0b1628!important;
  border-color:#334155!important;
}
body.theme-dark .importer-help p,
body.theme-dark .face-preview-card small{
  color:#a8b3c7!important;
}


/* V56: Names & Faces Importer GD Status */
.importer-card .notice,
.importer-card .error{
  margin-top:14px!important;
  margin-bottom:14px!important;
}


/* V58: Timeout Safe Names & Faces Import */
.importer-safe-note{
  border-left:4px solid #ff8a00!important;
}
.importer-form small.muted{
  display:block!important;
  margin-top:-4px!important;
  margin-bottom:8px!important;
  color:#9ca3af!important;
  font-size:12.5px!important;
}


/* V59: Names & Faces Import Cursor Controls */
.importer-actions{
  display:flex!important;
  gap:12px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
}
.importer-actions .btn{
  margin-top:4px!important;
}


/* V60: Stable Header Scroll — prevent flicker/jiggle */
.premium-open-header.topbar.topbar-clean{
  backface-visibility:hidden!important;
  transform:translateZ(0)!important;
  will-change:background, box-shadow!important;
  transition:background .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}

/* Logo can animate softly; header height/padding should not bounce during scroll */
.premium-open-header .header-logo-clean{
  transition:height .22s ease, max-width .22s ease, opacity .18s ease!important;
}
.premium-open-header .brand-subtitle,
.premium-open-header .header-top-tools,
.premium-open-header .header-bottom-nav,
.premium-open-header .header-tool-button,
.premium-open-header .language-select,
.premium-open-header .theme-select,
.premium-open-header .nav-main-link,
.premium-open-header .nav-menu-toggle{
  transition:font-size .18s ease, opacity .18s ease, color .18s ease!important;
}

/* Compact state should be stable: no top tool layout bounce */
.premium-open-header.is-scrolled .header-top-tools,
.premium-open-header.is-scrolled .light-top-tools{
  display:none!important;
}

/* Avoid repeated re-layout/jumping while user scrolls near threshold */
.premium-open-header.is-scrolled.topbar.topbar-clean{
  transition:background .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}


/* V61: Real Faces Only Cleanup Button */
.importer-actions .btn.danger{
  background:#dc2626!important;
  color:#ffffff!important;
  box-shadow:0 10px 22px rgba(220,38,38,.22)!important;
}
.importer-actions .btn.danger:hover{
  background:#b91c1c!important;
}


/* V63: Student Memorization Layout + Names & Faces Image Fix */
body .container{
  padding-top:28px!important;
}

/* Timer card should not be clipped under header */
.timer{
  top:118px!important;
  margin-top:18px!important;
  margin-bottom:18px!important;
  min-height:78px!important;
  padding:14px 18px!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  overflow:visible!important;
}
.timer > div:first-child{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
}
.timer > div:last-child{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.timer .btn{
  margin:0!important;
  white-space:nowrap!important;
}

/* Names & Faces: wider card, taller image, complete face visibility */
.memory-block{
  overflow:visible!important;
}
.memory-block .image-grid{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:14px!important;
}
.memory-block .image-card.face-card{
  background:#f8fafc!important;
  border:1px solid rgba(15,61,115,.10)!important;
  border-radius:16px!important;
  padding:10px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  min-height:226px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.04)!important;
}
.memory-block .face-card img{
  width:100%!important;
  height:160px!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:13px!important;
  background:#eef2f7!important;
  display:block!important;
}
.memory-block .face-card strong{
  display:block!important;
  margin-top:9px!important;
  min-height:24px!important;
  line-height:1.2!important;
  font-size:15.5px!important;
  color:#071a3a!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Keep random image event cards unchanged as much as possible */
.memory-block .image-card:not(.face-card) img{
  object-fit:contain!important;
}

/* Dark theme */
body.theme-dark .memory-block .image-card.face-card{
  background:#0b1628!important;
  border-color:#334155!important;
}
body.theme-dark .memory-block .face-card img{
  background:#101c2f!important;
}
body.theme-dark .memory-block .face-card strong{
  color:#edf5ff!important;
}

/* Compact header scroll state has smaller sticky offset */
body.header-is-scrolled .timer{
  top:72px!important;
}

/* Mobile/tablet */
@media(max-width:900px){
  .timer{
    top:100px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .timer > div:last-child{
    width:100%!important;
    justify-content:flex-start!important;
  }
  .memory-block .image-grid{
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;
  }
  .memory-block .face-card img{
    height:148px!important;
  }
}
@media(max-width:560px){
  body .container{
    padding-top:18px!important;
  }
  .timer{
    top:86px!important;
    margin-top:12px!important;
    padding:12px!important;
  }
  .memory-block .image-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .memory-block .image-card.face-card{
    min-height:198px!important;
    padding:8px!important;
  }
  .memory-block .face-card img{
    height:132px!important;
  }
  .memory-block .face-card strong{
    font-size:13.5px!important;
  }
}


/* V64: Names & Faces Gender Import Controls */
.gender-import-select{
  width:100%!important;
  max-width:100%!important;
  height:44px!important;
  border:1px solid rgba(15,61,115,.18)!important;
  border-radius:14px!important;
  padding:10px 14px!important;
  background:#ffffff!important;
  color:#071a3a!important;
  font-weight:850!important;
}
body.theme-dark .gender-import-select{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#334155!important;
}


/* V65: Names & Faces Recall Sheet + Half-mark Scoring Layout */
form .image-grid .image-card.face-card{
  min-height:252px!important;
  padding:10px!important;
  border-radius:16px!important;
  overflow:visible!important;
}
form .image-grid .face-card img{
  width:100%!important;
  height:150px!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:13px!important;
  background:#eef2f7!important;
}
.name-recall-split{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:8px!important;
}
.name-recall-split label{
  display:block!important;
  margin:0 0 4px!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#071a3a!important;
  text-align:left!important;
}
.name-recall-split input{
  width:100%!important;
  min-width:0!important;
  padding:10px 9px!important;
  border-radius:10px!important;
  font-size:13.5px!important;
}
.status-ok{
  color:#16a34a!important;
  font-weight:900!important;
}
body.theme-dark .name-recall-split label{
  color:#edf5ff!important;
}
body.theme-dark form .image-grid .face-card img{
  background:#101c2f!important;
}

/* Header should shrink on recall/memorization with smaller scroll */
.premium-open-header.is-scrolled .header-logo-clean{
  height:31px!important;
  max-width:160px!important;
}

@media(max-width:760px){
  .name-recall-split{
    grid-template-columns:1fr!important;
  }
  form .image-grid .face-card img{
    height:138px!important;
  }
}


/* V66: Competition Mode Official Timing */
.competition-time-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:8px!important;
  margin:12px 0!important;
}
.competition-time-grid span{
  display:block!important;
  padding:9px 10px!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  border:1px solid rgba(15,61,115,.10)!important;
  color:#334155!important;
  font-size:13px!important;
}
.competition-time-grid strong{
  color:#071a3a!important;
}
.competition-official-rule-card{
  margin:14px 0!important;
  padding:16px!important;
  border-radius:18px!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
}
.competition-official-rule-card h3{
  margin:0 0 8px!important;
  color:#9a3412!important;
}
.competition-timer-bar{
  border-color:#fed7aa!important;
  box-shadow:0 14px 30px rgba(255,138,0,.12)!important;
}
.official-timer-chip{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:#fff7ed!important;
  color:#9a3412!important;
  border:1px solid #fed7aa!important;
  font-weight:900!important;
}
.official-timer-chip b{
  color:#071a3a!important;
  font-size:16px!important;
}
body.theme-dark .competition-time-grid span{
  background:#0b1628!important;
  border-color:#334155!important;
  color:#a8b3c7!important;
}
body.theme-dark .competition-time-grid strong,
body.theme-dark .official-timer-chip b{
  color:#edf5ff!important;
}
body.theme-dark .competition-official-rule-card,
body.theme-dark .official-timer-chip{
  background:#301a08!important;
  border-color:#92400e!important;
  color:#ffd76a!important;
}


/* V67: Live Official Timer + Random Images Pages */
.official-timer-chip b#timerSeconds{
  min-width:54px!important;
  text-align:center!important;
  font-variant-numeric:tabular-nums!important;
}
.competition-page-break{
  margin:18px 0 10px!important;
  padding:10px 14px!important;
  border-radius:14px!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
  color:#9a3412!important;
  font-weight:900!important;
  text-align:center!important;
}
body.theme-dark .competition-page-break{
  background:#301a08!important;
  border-color:#92400e!important;
  color:#ffd76a!important;
}


/* V71: Hard Official Timer Overlay */
#timerSeconds{
  font-variant-numeric:tabular-nums!important;
}
.official-timer-chip{
  animation:mwTimerPulse 1.4s ease-in-out infinite!important;
}
@keyframes mwTimerPulse{
  0%,100%{box-shadow:0 0 0 rgba(255,138,0,0);}
  50%{box-shadow:0 0 0 4px rgba(255,138,0,.14);}
}
.mw-time-over-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  background:rgba(7,26,58,.86)!important;
  backdrop-filter:blur(5px)!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
}
.mw-time-over-card{
  max-width:520px!important;
  width:100%!important;
  background:#ffffff!important;
  color:#071a3a!important;
  border-radius:26px!important;
  padding:30px!important;
  text-align:center!important;
  box-shadow:0 28px 80px rgba(0,0,0,.35)!important;
  border:1px solid rgba(255,255,255,.22)!important;
}
.mw-time-over-card h2{
  margin:0 0 10px!important;
  color:#9a3412!important;
  font-size:28px!important;
}
.mw-time-over-card p{
  font-size:17px!important;
  margin:0 0 20px!important;
  line-height:1.5!important;
}
.mw-locked-after-time{
  min-height:300px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff7ed!important;
  border-color:#fed7aa!important;
}
.mw-time-over-inline{
  text-align:center!important;
  max-width:520px!important;
}
.mw-time-over-inline h2{
  color:#9a3412!important;
  margin:0 0 10px!important;
}
.mw-time-over-inline p{
  color:#334155!important;
  font-weight:800!important;
}
body.theme-dark .mw-time-over-card{
  background:#0b1628!important;
  color:#edf5ff!important;
  border-color:#334155!important;
}
body.theme-dark .mw-locked-after-time{
  background:#301a08!important;
  border-color:#92400e!important;
}
body.theme-dark .mw-time-over-inline p{
  color:#ffd76a!important;
}


/* V72: Binary/Numbers Digit Group Color System */
.digit-group-option-box{
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
}
.digit-group-option-box h3{
  color:#0f3d73!important;
}
.digit-system-note{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:8px 0 14px!important;
  padding:9px 13px!important;
  border-radius:999px!important;
  background:#eff6ff!important;
  color:#0f3d73!important;
  border:1px solid #bfdbfe!important;
  font-weight:850!important;
}
.colored-digit-row{
  white-space:normal!important;
  overflow-x:visible!important;
  line-height:2.05!important;
  letter-spacing:0!important;
}
.digit-colored-line{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  align-items:center!important;
}
.digit-color-chunk{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:42px!important;
  padding:5px 8px!important;
  border-radius:10px!important;
  font-weight:950!important;
  letter-spacing:2px!important;
  font-size:20px!important;
  font-family:"Courier New", monospace!important;
}
.digit-color-a{
  color:#071a3a!important;
  background:#e0f2fe!important;
  border:1px solid #7dd3fc!important;
}
.digit-color-b{
  color:#7c2d12!important;
  background:#ffedd5!important;
  border:1px solid #fdba74!important;
}
body.theme-dark .digit-group-option-box,
body.theme-dark .digit-system-note{
  background:#0b1628!important;
  border-color:#334155!important;
  color:#edf5ff!important;
}
body.theme-dark .digit-color-a{
  color:#dff7ff!important;
  background:#082f49!important;
  border-color:#0ea5e9!important;
}
body.theme-dark .digit-color-b{
  color:#ffedd5!important;
  background:#431407!important;
  border-color:#f97316!important;
}
@media(max-width:560px){
  .digit-color-chunk{
    font-size:16px!important;
    letter-spacing:1px!important;
    padding:5px 6px!important;
  }
}


/* V73: Competition Leave Confirmation Modal */
.competition-leave-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:100000;
  background:rgba(7,26,58,.82);
  backdrop-filter:blur(6px);
  align-items:center;
  justify-content:center;
  padding:22px;
}
.competition-leave-modal.is-open{
  display:flex!important;
}
.competition-leave-card{
  width:100%;
  max-width:560px;
  background:#ffffff;
  color:#071a3a;
  border-radius:28px;
  padding:30px;
  text-align:center;
  box-shadow:0 28px 90px rgba(0,0,0,.38);
  border:1px solid rgba(255,255,255,.28);
}
.leave-warning-icon{
  width:58px;
  height:58px;
  margin:0 auto 14px;
  border-radius:50%;
  background:#fff7ed;
  border:1px solid #fed7aa;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
}
.competition-leave-card h2{
  margin:0 0 10px;
  font-size:26px;
  color:#9a3412;
}
.competition-leave-card p{
  margin:0 0 14px;
  line-height:1.5;
  color:#334155;
}
.leave-warning-list{
  text-align:left;
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-radius:18px;
  padding:14px 16px;
  margin:16px 0;
  color:#7c2d12;
  font-weight:750;
}
.leave-warning-list div{
  margin:7px 0;
  padding-left:18px;
  position:relative;
}
.leave-warning-list div:before{
  content:"•";
  position:absolute;
  left:0;
  color:#dc2626;
  font-weight:900;
}
.leave-question{
  font-weight:900!important;
  color:#071a3a!important;
}
.leave-modal-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:18px;
}
.leave-continue-btn{
  background:#0f3d73!important;
  color:#fff!important;
}
.leave-confirm-btn,
.btn.danger.leave-confirm-btn{
  background:#dc2626!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(220,38,38,.22)!important;
}
.leave-confirm-btn:hover{
  background:#b91c1c!important;
}
body.theme-dark .competition-leave-card{
  background:#0b1628;
  color:#edf5ff;
  border-color:#334155;
}
body.theme-dark .competition-leave-card p,
body.theme-dark .leave-question{
  color:#edf5ff!important;
}
body.theme-dark .leave-warning-list,
body.theme-dark .leave-warning-icon{
  background:#301a08;
  border-color:#92400e;
  color:#ffd76a;
}
@media(max-width:560px){
  .competition-leave-card{
    padding:22px;
    border-radius:22px;
  }
  .competition-leave-card h2{
    font-size:22px;
  }
  .leave-modal-actions .btn{
    width:100%;
  }
}


/* V74 — Mobile Premium UI Fix */
.mobile-bottom-nav-v74{
  display:none;
}

@media (max-width: 820px){
  :root{
    --mw-mobile-pad:16px;
    --mw-mobile-radius:20px;
    --mw-mobile-shadow:0 14px 34px rgba(7,26,58,.12);
  }

  html, body{
    max-width:100%!important;
    overflow-x:hidden!important;
    -webkit-text-size-adjust:100%;
  }

  body{
    padding-bottom:88px!important;
    background:#f6f8fc!important;
  }

  body.theme-dark{
    background:#07111f!important;
  }

  .container{
    width:100%!important;
    max-width:100%!important;
    padding:12px var(--mw-mobile-pad) 96px!important;
    margin:0!important;
  }

  /* Premium compact mobile header */
  .topbar,
  .topbar-clean,
  .premium-open-header{
    position:sticky!important;
    top:0!important;
    z-index:9000!important;
    width:100%!important;
    min-height:58px!important;
    padding:8px 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(14px)!important;
    border-bottom:1px solid rgba(15,23,42,.08)!important;
    box-shadow:0 8px 24px rgba(7,26,58,.08)!important;
  }

  body.theme-dark .topbar,
  body.theme-dark .topbar-clean,
  body.theme-dark .premium-open-header{
    background:rgba(7,17,31,.96)!important;
    border-bottom-color:rgba(148,163,184,.16)!important;
  }

  .brand-wrap,
  .brand-wrap-clean{
    min-width:0!important;
    flex:1!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
  }

  .brand-clean,
  .brand{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
  }

  .header-logo-clean,
  .brand-logo,
  .single-logo{
    max-width:152px!important;
    height:auto!important;
    max-height:42px!important;
    object-fit:contain!important;
  }

  .brand-subtitle{
    display:none!important;
  }

  .header-right-stack{
    flex:0 0 auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
  }

  .light-top-tools,
  .header-top-tools{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
  }

  .compact-language,
  .compact-theme,
  .language-select-form,
  .theme-select-form{
    display:none!important;
  }

  .header-tool-button{
    min-height:42px!important;
    max-width:132px!important;
    padding:8px 10px!important;
    border-radius:999px!important;
    font-size:12px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-shadow:none!important;
  }

  .topnav,
  .topnav-clean,
  .premium-open-nav,
  .header-bottom-nav{
    display:none!important;
  }

  .nav-menu-dropdown,
  .profile-dropdown{
    position:fixed!important;
    top:62px!important;
    right:12px!important;
    left:12px!important;
    width:auto!important;
    max-width:none!important;
    border-radius:20px!important;
    box-shadow:0 18px 50px rgba(7,26,58,.22)!important;
    z-index:9500!important;
  }

  /* Bottom app navigation */
  .mobile-bottom-nav-v74{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    z-index:9200!important;
    display:grid!important;
    grid-template-columns:repeat(5,1fr)!important;
    gap:4px!important;
    padding:8px!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.94)!important;
    backdrop-filter:blur(16px)!important;
    border:1px solid rgba(15,23,42,.10)!important;
    box-shadow:0 18px 48px rgba(7,26,58,.22)!important;
  }

  body.theme-dark .mobile-bottom-nav-v74{
    background:rgba(11,22,40,.94)!important;
    border-color:rgba(148,163,184,.22)!important;
  }

  .mobile-bottom-nav-v74 a{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:52px!important;
    text-decoration:none!important;
    border-radius:17px!important;
    color:#0f3d73!important;
    font-weight:900!important;
    line-height:1.1!important;
  }

  .mobile-bottom-nav-v74 a:active,
  .mobile-bottom-nav-v74 a:hover{
    background:#eff6ff!important;
  }

  body.theme-dark .mobile-bottom-nav-v74 a{
    color:#eaf2ff!important;
  }

  body.theme-dark .mobile-bottom-nav-v74 a:active,
  body.theme-dark .mobile-bottom-nav-v74 a:hover{
    background:#12223a!important;
  }

  .mobile-bottom-nav-v74 span{
    font-size:18px!important;
    display:block!important;
    margin-bottom:4px!important;
  }

  .mobile-bottom-nav-v74 small{
    font-size:10px!important;
    max-width:58px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* Cleaner mobile sections */
  .hero{
    padding:18px!important;
    border-radius:24px!important;
    margin:12px 0 14px!important;
    box-shadow:var(--mw-mobile-shadow)!important;
  }

  .hero h1{
    font-size:26px!important;
    line-height:1.12!important;
    margin-bottom:8px!important;
  }

  .hero p{
    font-size:14px!important;
    line-height:1.5!important;
  }

  h1{
    font-size:26px!important;
    line-height:1.15!important;
  }

  h2{
    font-size:21px!important;
    line-height:1.2!important;
    margin:16px 0 12px!important;
  }

  h3{
    font-size:17px!important;
    line-height:1.25!important;
  }

  .grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .level-lock-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .card,
  .event-card,
  .event-card-premium,
  .format-card,
  .format-head-card,
  .mode-lock-box,
  .competition-official-rule-card,
  .method-box,
  .group-card,
  .form,
  .infinite-box,
  .level-lock-card{
    border-radius:var(--mw-mobile-radius)!important;
    padding:16px!important;
    box-shadow:var(--mw-mobile-shadow)!important;
  }

  .event-card-head{
    gap:10px!important;
    align-items:center!important;
  }

  .event-icon{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:16px!important;
    font-size:18px!important;
  }

  .event-card p,
  .card p,
  .champion-meta{
    font-size:13px!important;
    line-height:1.45!important;
  }

  .competition-time-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:10px 0!important;
  }

  .competition-time-grid span{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    padding:10px 12px!important;
    border-radius:14px!important;
    background:#f8fafc!important;
    border:1px solid rgba(15,23,42,.08)!important;
  }

  body.theme-dark .competition-time-grid span{
    background:#0b1628!important;
    border-color:rgba(148,163,184,.16)!important;
  }

  /* Premium touch controls */
  .btn,
  button.btn,
  input[type="submit"],
  form button{
    min-height:48px!important;
    border-radius:15px!important;
    padding:12px 16px!important;
    font-size:15px!important;
    font-weight:900!important;
  }

  .event-card .btn,
  .form .btn,
  .competition-event-card .btn{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:10px!important;
  }

  input,
  select,
  textarea{
    min-height:48px!important;
    font-size:16px!important;
    border-radius:15px!important;
    width:100%!important;
  }

  textarea{
    min-height:94px!important;
  }

  label{
    font-size:14px!important;
    font-weight:850!important;
  }

  /* Official timer mobile treatment */
  .timer,
  .competition-timer-bar{
    position:sticky!important;
    top:58px!important;
    z-index:8500!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    margin:0 -4px 14px!important;
    padding:13px!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 14px 38px rgba(7,26,58,.16)!important;
    border:1px solid rgba(15,23,42,.10)!important;
  }

  body.theme-dark .timer,
  body.theme-dark .competition-timer-bar{
    background:rgba(11,22,40,.97)!important;
    border-color:rgba(148,163,184,.18)!important;
  }

  .timer > div{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    align-items:center!important;
  }

  .timer > div:last-child{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .timer > div:last-child .btn{
    width:100%!important;
    min-height:44px!important;
    font-size:13px!important;
    padding:10px!important;
  }

  .official-timer-chip{
    width:100%!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    padding:10px 12px!important;
    border-radius:15px!important;
    background:#fff7ed!important;
    color:#9a3412!important;
    border:1px solid #fed7aa!important;
    font-weight:900!important;
  }

  #timerSeconds{
    font-size:22px!important;
    font-weight:950!important;
    letter-spacing:.4px!important;
  }

  .format-inline-badge,
  .badge{
    border-radius:999px!important;
    padding:6px 10px!important;
    font-size:11px!important;
    font-weight:900!important;
  }

  /* Memory content mobile */
  .memory-block{
    padding:14px!important;
    border-radius:22px!important;
  }

  .digit-row{
    font-size:17px!important;
    line-height:1.9!important;
    border-radius:16px!important;
    padding:12px!important;
    overflow-wrap:anywhere!important;
  }

  .digit-color-chunk{
    min-width:auto!important;
    font-size:17px!important;
    letter-spacing:1px!important;
  }

  .word-grid,
  .word-grid-4,
  .word-recall-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .word-item,
  .recall-row{
    border-radius:14px!important;
    padding:10px!important;
  }

  .image-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .image-card{
    border-radius:18px!important;
    padding:8px!important;
    overflow:hidden!important;
  }

  .image-card img{
    width:100%!important;
    height:132px!important;
    object-fit:contain!important;
    border-radius:14px!important;
    background:#f8fafc!important;
  }

  .names-face-card img,
  .face-card img{
    height:160px!important;
    object-fit:contain!important;
  }

  .competition-page-break{
    position:sticky!important;
    top:148px!important;
    z-index:6000!important;
    margin:14px 0 10px!important;
    border-radius:16px!important;
  }

  /* Premium warning modal on mobile */
  .competition-leave-modal,
  .mw-time-over-overlay{
    padding:16px!important;
  }

  .competition-leave-card,
  .mw-time-over-card{
    border-radius:26px!important;
    padding:24px!important;
    max-width:100%!important;
  }

  .competition-leave-card h2,
  .mw-time-over-card h2{
    font-size:23px!important;
    line-height:1.18!important;
  }

  .leave-modal-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .leave-modal-actions .btn{
    width:100%!important;
  }

  /* Footer mobile */
  .footer,
  .footer-split,
  .footer-premium-v50{
    margin-bottom:82px!important;
    padding:18px 16px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    text-align:center!important;
  }

  .footer-links{
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
}

@media (max-width: 390px){
  .header-logo-clean,
  .brand-logo,
  .single-logo{
    max-width:132px!important;
  }

  .header-tool-button{
    max-width:112px!important;
    font-size:11px!important;
  }

  .mobile-bottom-nav-v74{
    left:6px!important;
    right:6px!important;
    bottom:6px!important;
    padding:6px!important;
  }

  .mobile-bottom-nav-v74 a{
    min-height:48px!important;
  }

  .mobile-bottom-nav-v74 small{
    font-size:9px!important;
  }

  .image-grid{
    grid-template-columns:1fr!important;
  }

  .image-card img{
    height:180px!important;
  }
}


/* V75 — Mobile Header + Dark Contrast Hard Fix */
@media (max-width: 900px), (hover:none) and (pointer:coarse){

  /* Force true mobile header; old desktop header must not expand */
  body .topbar.topbar-clean.premium-open-header,
  body .topbar,
  body .premium-open-header{
    position:sticky!important;
    top:0!important;
    z-index:9990!important;
    min-height:58px!important;
    max-height:64px!important;
    height:64px!important;
    padding:7px 12px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    overflow:visible!important;
    background:#07111f!important;
    border-bottom:1px solid rgba(148,163,184,.18)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.28)!important;
  }

  body .brand-wrap.brand-wrap-clean,
  body .brand-wrap{
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    margin:0!important;
    padding:0!important;
  }

  body .brand.brand-clean,
  body .brand{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    margin:0!important;
    padding:0!important;
    width:auto!important;
    min-width:0!important;
  }

  body .header-logo-clean,
  body .brand-logo,
  body .single-logo{
    display:block!important;
    width:auto!important;
    max-width:150px!important;
    max-height:42px!important;
    height:auto!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  body .brand-subtitle{
    display:none!important;
  }

  body .header-right-stack{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    margin-left:auto!important;
  }

  /* Only profile/user dropdown button stays in header on mobile */
  body .header-top-tools,
  body .light-top-tools{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:6px!important;
    margin:0!important;
    padding:0!important;
  }

  body .language-select-form,
  body .theme-select-form,
  body .compact-language,
  body .compact-theme{
    display:none!important;
  }

  body .header-tool-button{
    max-width:122px!important;
    min-height:40px!important;
    height:40px!important;
    padding:7px 10px!important;
    border-radius:999px!important;
    background:#0b1d35!important;
    color:#ffffff!important;
    border:1px solid rgba(125,211,252,.35)!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Desktop navigation hidden on mobile */
  body .topnav,
  body .topnav-clean,
  body .memocamp-style-nav,
  body .premium-open-nav,
  body .header-bottom-nav{
    display:none!important;
    height:0!important;
    overflow:hidden!important;
    visibility:hidden!important;
  }

  /* Mobile dropdown: full-width, never clipped */
  body .nav-menu{
    position:relative!important;
    overflow:visible!important;
  }

  body .nav-menu-dropdown,
  body .profile-dropdown,
  body .nav-wide-dropdown{
    position:fixed!important;
    top:70px!important;
    left:14px!important;
    right:14px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    max-height:70vh!important;
    overflow-y:auto!important;
    transform:none!important;
    border-radius:20px!important;
    padding:10px!important;
    background:#0b1628!important;
    color:#edf5ff!important;
    border:1px solid rgba(125,211,252,.25)!important;
    box-shadow:0 22px 70px rgba(0,0,0,.48)!important;
    z-index:10050!important;
  }

  body .nav-menu-dropdown a,
  body .profile-dropdown a,
  body .nav-wide-dropdown a{
    display:flex!important;
    width:100%!important;
    align-items:center!important;
    padding:13px 14px!important;
    border-radius:14px!important;
    color:#edf5ff!important;
    text-decoration:none!important;
    font-size:15px!important;
    font-weight:850!important;
  }

  body .nav-menu-dropdown a:hover,
  body .profile-dropdown a:hover,
  body .nav-wide-dropdown a:hover{
    background:#12223a!important;
  }

  body .dropdown-danger{
    color:#fecaca!important;
  }

  body .container{
    padding-top:12px!important;
  }

  /* Bottom nav should be visible and not covered */
  body .mobile-bottom-nav-v74{
    display:grid!important;
    z-index:9995!important;
  }

  /* Dark mode contrast correction: never white text on white cards */
  body.theme-dark .card,
  body.theme-dark .event-card,
  body.theme-dark .event-card-premium,
  body.theme-dark .format-card,
  body.theme-dark .format-head-card,
  body.theme-dark .mode-lock-box,
  body.theme-dark .competition-official-rule-card,
  body.theme-dark .method-box,
  body.theme-dark .group-card,
  body.theme-dark .form,
  body.theme-dark .infinite-box,
  body.theme-dark .level-lock-card,
  body.theme-dark .memory-block,
  body.theme-dark .timer,
  body.theme-dark .competition-timer-bar,
  body.theme-dark .recall-row,
  body.theme-dark .word-item,
  body.theme-dark .image-card{
    background:#0b1628!important;
    color:#edf5ff!important;
    border-color:rgba(148,163,184,.22)!important;
  }

  body.theme-dark .timer,
  body.theme-dark .competition-timer-bar{
    top:64px!important;
    background:#0b1628!important;
    color:#edf5ff!important;
    box-shadow:0 14px 38px rgba(0,0,0,.38)!important;
  }

  body.theme-dark h1,
  body.theme-dark h2,
  body.theme-dark h3,
  body.theme-dark h4,
  body.theme-dark .card h1,
  body.theme-dark .card h2,
  body.theme-dark .card h3,
  body.theme-dark .group-card h3,
  body.theme-dark .memory-block h2,
  body.theme-dark .recall-row label,
  body.theme-dark label,
  body.theme-dark strong{
    color:#f8fbff!important;
  }

  body.theme-dark .champion-meta,
  body.theme-dark p,
  body.theme-dark .event-card p,
  body.theme-dark .card p{
    color:#cbd5e1!important;
  }

  body.theme-dark input,
  body.theme-dark select,
  body.theme-dark textarea{
    background:#07111f!important;
    color:#f8fbff!important;
    border:1px solid rgba(148,163,184,.35)!important;
  }

  body.theme-dark textarea::placeholder,
  body.theme-dark input::placeholder{
    color:#94a3b8!important;
    opacity:1!important;
  }

  body.theme-dark .recall-row textarea{
    background:#07111f!important;
    color:#f8fbff!important;
    border-color:rgba(125,211,252,.22)!important;
  }

  /* Fix invisible labels/row numbers on white or light cards */
  .group-card h3,
  .recall-row label,
  .memory-block h2,
  .form label{
    color:inherit!important;
    opacity:1!important;
  }

  body:not(.theme-dark) .group-card h3,
  body:not(.theme-dark) .recall-row label,
  body:not(.theme-dark) .memory-block h2,
  body:not(.theme-dark) .form label{
    color:#071a3a!important;
  }

  /* More premium timer card */
  .official-timer-chip{
    background:#3b1f08!important;
    color:#ffdf8a!important;
    border:1px solid rgba(255,178,79,.45)!important;
    box-shadow:0 10px 28px rgba(255,138,0,.16)!important;
  }

  #timerSeconds{
    color:#ffffff!important;
  }

  .badge,
  .format-inline-badge{
    background:#fff7ed!important;
    color:#7c2d12!important;
    border:1px solid #fed7aa!important;
  }

  body.theme-dark .badge,
  body.theme-dark .format-inline-badge{
    background:#07111f!important;
    color:#ffdf8a!important;
    border-color:rgba(255,178,79,.38)!important;
  }

  /* Reduce huge card overflow on mobile screenshots */
  .hero,
  .dashboard-welcome,
  .student-hero,
  .landing-hero,
  .welcome-card{
    max-width:100%!important;
    overflow:hidden!important;
  }

  /* Fix cut-off footer and action area */
  .footer.footer-split.footer-premium-v50{
    margin-bottom:92px!important;
  }
}

@media (max-width: 420px){
  body .header-logo-clean,
  body .brand-logo,
  body .single-logo{
    max-width:136px!important;
  }

  body .header-tool-button{
    max-width:106px!important;
    font-size:11px!important;
  }

  body .nav-menu-dropdown,
  body .profile-dropdown,
  body .nav-wide-dropdown{
    top:68px!important;
    left:10px!important;
    right:10px!important;
  }

  body .timer,
  body .competition-timer-bar{
    top:64px!important;
  }
}


/* V76 — Mobile Header Overflow Final Fix */
@media (max-width: 1180px), (hover:none), (pointer:coarse){

  html, body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  *, *:before, *:after{
    box-sizing:border-box!important;
  }

  /* Final locked mobile header: no desktop stacking, no overflow */
  body .topbar.topbar-clean.premium-open-header,
  body .topbar-clean,
  body .premium-open-header,
  body header.topbar{
    position:sticky!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:10000!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:0!important;
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    padding:0!important;
    margin:0!important;
    display:block!important;
    overflow:visible!important;
    background:#07111f!important;
    border-bottom:1px solid rgba(148,163,184,.18)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.34)!important;
  }

  body .brand-wrap.brand-wrap-clean,
  body .brand-wrap{
    position:absolute!important;
    left:12px!important;
    top:8px!important;
    width:150px!important;
    max-width:150px!important;
    height:48px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }

  body .brand.brand-clean,
  body .brand{
    width:150px!important;
    max-width:150px!important;
    height:48px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }

  body .header-logo-clean,
  body .brand-logo,
  body .single-logo{
    display:block!important;
    width:auto!important;
    max-width:148px!important;
    max-height:42px!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:left center!important;
    transform:none!important;
  }

  body .brand-subtitle{
    display:none!important;
  }

  body .header-right-stack{
    position:absolute!important;
    right:10px!important;
    top:11px!important;
    width:auto!important;
    max-width:145px!important;
    min-width:0!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    overflow:visible!important;
  }

  body .header-top-tools,
  body .light-top-tools{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:0!important;
    width:auto!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  body .header-guest-menu,
  body .header-top-tools .nav-menu{
    display:block!important;
    width:auto!important;
    height:42px!important;
    overflow:visible!important;
  }

  body .header-tool-button{
    width:auto!important;
    max-width:135px!important;
    min-width:82px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 11px!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#0b1d35!important;
    color:#ffffff!important;
    border:1px solid rgba(125,211,252,.35)!important;
    box-shadow:none!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body .language-select-form,
  body .theme-select-form,
  body .compact-language,
  body .compact-theme,
  body .topnav,
  body .topnav-clean,
  body .memocamp-style-nav,
  body .premium-open-nav,
  body .header-bottom-nav{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    width:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }

  /* Dropdown must open below compact header, full width */
  body .nav-menu-dropdown,
  body .profile-dropdown,
  body .nav-wide-dropdown{
    position:fixed!important;
    top:70px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    max-height:72vh!important;
    overflow-y:auto!important;
    transform:none!important;
    margin:0!important;
    padding:10px!important;
    border-radius:20px!important;
    background:#0b1628!important;
    color:#edf5ff!important;
    border:1px solid rgba(125,211,252,.28)!important;
    box-shadow:0 22px 72px rgba(0,0,0,.55)!important;
    z-index:10080!important;
  }

  /* Content starts immediately after compact header */
  body .container{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding-top:12px!important;
    padding-left:16px!important;
    padding-right:16px!important;
    padding-bottom:150px!important;
  }

  /* Timer should stick below corrected header */
  body .timer,
  body .competition-timer-bar{
    top:64px!important;
  }

  /* Bottom nav should not cover key CTA too aggressively */
  body .mobile-bottom-nav-v74{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    max-width:calc(100vw - 24px)!important;
    min-height:68px!important;
  }

  /* Make landing/hero card shorter on mobile so CTA stays visible */
  body .hero,
  body .landing-hero,
  body .student-hero,
  body .welcome-card,
  body .dashboard-welcome{
    margin-top:14px!important;
    margin-bottom:92px!important;
  }

  body .landing-hero h1,
  body .hero h1{
    font-size:32px!important;
    line-height:1.12!important;
  }

  body .landing-hero p,
  body .hero p{
    font-size:16px!important;
    line-height:1.55!important;
  }
}

@media (max-width: 420px){
  body .brand-wrap.brand-wrap-clean,
  body .brand-wrap,
  body .brand.brand-clean,
  body .brand{
    width:132px!important;
    max-width:132px!important;
  }

  body .header-logo-clean,
  body .brand-logo,
  body .single-logo{
    max-width:130px!important;
  }

  body .header-right-stack{
    right:8px!important;
    max-width:126px!important;
  }

  body .header-tool-button{
    max-width:122px!important;
    min-width:76px!important;
    font-size:11px!important;
    padding:0 9px!important;
  }

  body .container{
    padding-left:14px!important;
    padding-right:14px!important;
  }
}


/* V77 — Mobile Header Height Final Fix */
@media (max-width: 1180px), (hover:none), (pointer:coarse){

  body.mw-mobile-v77{
    --mw-v77-header-h:72px;
    padding-top:0!important;
  }

  /* Use real flex header with strict height; removes large empty header area */
  body.mw-mobile-v77 header.topbar,
  body.mw-mobile-v77 .topbar.topbar-clean.premium-open-header,
  body.mw-mobile-v77 .topbar-clean,
  body.mw-mobile-v77 .premium-open-header{
    position:sticky!important;
    top:0!important;
    z-index:10000!important;
    width:100%!important;
    max-width:100%!important;
    height:var(--mw-v77-header-h)!important;
    min-height:var(--mw-v77-header-h)!important;
    max-height:var(--mw-v77-header-h)!important;
    padding:0 14px!important;
    margin:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    overflow:visible!important;
    background:#07111f!important;
    border-bottom:1px solid rgba(148,163,184,.18)!important;
    box-shadow:0 8px 22px rgba(0,0,0,.28)!important;
  }

  /* Reset old absolute positioning from V76 */
  body.mw-mobile-v77 .brand-wrap.brand-wrap-clean,
  body.mw-mobile-v77 .brand-wrap{
    position:static!important;
    left:auto!important;
    top:auto!important;
    flex:0 1 178px!important;
    width:178px!important;
    max-width:178px!important;
    height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
  }

  body.mw-mobile-v77 .brand.brand-clean,
  body.mw-mobile-v77 .brand{
    width:178px!important;
    max-width:178px!important;
    height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
  }

  body.mw-mobile-v77 .header-logo-clean,
  body.mw-mobile-v77 .brand-logo,
  body.mw-mobile-v77 .single-logo{
    width:auto!important;
    max-width:176px!important;
    max-height:50px!important;
    height:auto!important;
    display:block!important;
    object-fit:contain!important;
    object-position:left center!important;
    margin:0!important;
    padding:0!important;
  }

  body.mw-mobile-v77 .brand-subtitle{
    display:none!important;
    height:0!important;
    max-height:0!important;
    overflow:hidden!important;
  }

  body.mw-mobile-v77 .header-right-stack{
    position:static!important;
    right:auto!important;
    top:auto!important;
    flex:0 0 auto!important;
    width:auto!important;
    max-width:148px!important;
    min-width:0!important;
    height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  body.mw-mobile-v77 .header-top-tools,
  body.mw-mobile-v77 .light-top-tools{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    height:44px!important;
    gap:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  body.mw-mobile-v77 .header-tool-button{
    max-width:146px!important;
    min-width:96px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 12px!important;
    border-radius:999px!important;
    font-size:13px!important;
    font-weight:900!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#0b1d35!important;
    color:#ffffff!important;
    border:1px solid rgba(125,211,252,.35)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  body.mw-mobile-v77 .language-select-form,
  body.mw-mobile-v77 .theme-select-form,
  body.mw-mobile-v77 .compact-language,
  body.mw-mobile-v77 .compact-theme,
  body.mw-mobile-v77 .topnav,
  body.mw-mobile-v77 .topnav-clean,
  body.mw-mobile-v77 .memocamp-style-nav,
  body.mw-mobile-v77 .premium-open-nav,
  body.mw-mobile-v77 .header-bottom-nav{
    display:none!important;
    height:0!important;
    max-height:0!important;
    width:0!important;
    visibility:hidden!important;
    overflow:hidden!important;
    pointer-events:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.mw-mobile-v77 .nav-menu-dropdown,
  body.mw-mobile-v77 .profile-dropdown,
  body.mw-mobile-v77 .nav-wide-dropdown{
    position:fixed!important;
    top:78px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    max-height:72vh!important;
    overflow-y:auto!important;
    z-index:10080!important;
  }

  body.mw-mobile-v77 .container{
    padding-top:12px!important;
    padding-bottom:140px!important;
  }

  body.mw-mobile-v77 .timer,
  body.mw-mobile-v77 .competition-timer-bar{
    top:72px!important;
  }

  /* Login/card spacing and bottom nav coverage fix */
  body.mw-mobile-v77 .form{
    margin-top:14px!important;
    margin-bottom:110px!important;
  }

  body.mw-mobile-v77 .mobile-bottom-nav-v74{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    min-height:70px!important;
    max-width:calc(100vw - 24px)!important;
  }

  body.mw-mobile-v77 .footer.footer-split.footer-premium-v50{
    margin-bottom:102px!important;
  }
}

@media (max-width: 430px){
  body.mw-mobile-v77{
    --mw-v77-header-h:72px;
  }

  body.mw-mobile-v77 .brand-wrap.brand-wrap-clean,
  body.mw-mobile-v77 .brand-wrap,
  body.mw-mobile-v77 .brand.brand-clean,
  body.mw-mobile-v77 .brand{
    flex-basis:164px!important;
    width:164px!important;
    max-width:164px!important;
  }

  body.mw-mobile-v77 .header-logo-clean,
  body.mw-mobile-v77 .brand-logo,
  body.mw-mobile-v77 .single-logo{
    max-width:162px!important;
    max-height:48px!important;
  }

  body.mw-mobile-v77 .header-right-stack{
    max-width:138px!important;
  }

  body.mw-mobile-v77 .header-tool-button{
    max-width:136px!important;
    min-width:92px!important;
    font-size:12px!important;
  }
}


/* V78 — Mobile Logo + Theme Toggle Fix */
@media (max-width: 1180px), (hover:none), (pointer:coarse){

  /* Fix double logo: never show both light and dark logos together */
  body.mw-mobile-v77 .header-logo-light,
  body.mw-mobile-v77 .header-logo-dark{
    position:static!important;
    transform:none!important;
  }

  body.mw-mobile-v77.theme-light .header-logo-light{
    display:block!important;
  }

  body.mw-mobile-v77.theme-light .header-logo-dark{
    display:none!important;
  }

  body.mw-mobile-v77.theme-dark .header-logo-light{
    display:none!important;
  }

  body.mw-mobile-v77.theme-dark .header-logo-dark{
    display:block!important;
  }

  /* Keep only one logo space in header */
  body.mw-mobile-v77 .brand.brand-clean{
    gap:0!important;
  }

  body.mw-mobile-v77 .brand-logo.single-logo{
    flex:0 0 auto!important;
  }

  /* Guest mobile nav should not show duplicate Login because header has Guest/Login */
  body.mw-mobile-v77 .mobile-bottom-nav-guest-v78{
    grid-template-columns:repeat(4,1fr)!important;
  }

  body.mw-mobile-v77 .mobile-bottom-nav-v74 a[href*="theme.php"]{
    color:#ffb24f!important;
  }

  body.mw-mobile-v77 .mobile-bottom-nav-v74 a[href*="theme.php"]:active,
  body.mw-mobile-v77 .mobile-bottom-nav-v74 a[href*="theme.php"]:hover{
    background:#fff7ed!important;
    color:#9a3412!important;
  }

  body.mw-mobile-v77.theme-dark .mobile-bottom-nav-v74 a[href*="theme.php"]:active,
  body.mw-mobile-v77.theme-dark .mobile-bottom-nav-v74 a[href*="theme.php"]:hover{
    background:#301a08!important;
    color:#ffdf8a!important;
  }

  /* Header profile button is login/profile entry, so keep it clear */
  body.mw-mobile-v77 .header-tool-button{
    background:#0b1d35!important;
    color:#ffffff!important;
    border-color:rgba(125,211,252,.40)!important;
  }

  body.mw-mobile-v77.theme-light header.topbar,
  body.mw-mobile-v77.theme-light .topbar-clean,
  body.mw-mobile-v77.theme-light .premium-open-header{
    background:#ffffff!important;
  }

  body.mw-mobile-v77.theme-light .header-tool-button{
    background:#eff6ff!important;
    color:#0f3d73!important;
    border-color:#bfdbfe!important;
  }

  /* Ensure no hidden duplicated logo consumes width */
  body.mw-mobile-v77 .header-logo-light[style],
  body.mw-mobile-v77 .header-logo-dark[style]{
    max-width:176px!important;
  }
}

@media (max-width: 430px){
  body.mw-mobile-v77 .mobile-bottom-nav-guest-v78{
    grid-template-columns:repeat(4,1fr)!important;
  }
}


/* V79 — Mobile Header White/Cyan Logo Fix */
@media (max-width: 1180px), (hover:none), (pointer:coarse){
  /*
   Mobile header background is always dark navy.
   So mobile header must always use white/cyan logo, not navy logo.
  */

  body.mw-mobile-v77 .topbar,
  body.mw-mobile-v77 .topbar-clean,
  body.mw-mobile-v77 .premium-open-header,
  body.mw-mobile-v77 header.topbar{
    background:#07111f!important;
  }

  body.mw-mobile-v77 .header-logo-light{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    width:0!important;
    max-width:0!important;
    height:0!important;
    max-height:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }

  body.mw-mobile-v77 .header-logo-dark{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:auto!important;
    max-width:176px!important;
    max-height:50px!important;
    height:auto!important;
    overflow:visible!important;
    pointer-events:auto!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  body.mw-mobile-v77 .brand-logo.header-logo-dark{
    filter:none!important;
  }

  body.mw-mobile-v77.theme-light .header-logo-light,
  body.mw-mobile-v77.theme-dark .header-logo-light{
    display:none!important;
  }

  body.mw-mobile-v77.theme-light .header-logo-dark,
  body.mw-mobile-v77.theme-dark .header-logo-dark{
    display:block!important;
  }

  body.mw-mobile-v77.theme-light .header-tool-button{
    background:#eff6ff!important;
    color:#0f3d73!important;
    border-color:#bfdbfe!important;
  }
}

@media (max-width: 430px){
  body.mw-mobile-v77 .header-logo-dark{
    max-width:162px!important;
    max-height:48px!important;
  }
}


/* V80 — Mobile Profile Dropdown Final Fix */
@media (max-width: 1180px), (hover:none), (pointer:coarse){

  /* Dropdown must be visible in both light and dark themes */
  body.mw-mobile-v77 .profile-dropdown-full-v80,
  body.mw-mobile-v77 .nav-menu-dropdown.profile-dropdown-full-v80{
    position:fixed!important;
    top:78px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    max-height:72vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:10px!important;
    border-radius:22px!important;
    background:#0b1628!important;
    color:#edf5ff!important;
    border:1px solid rgba(125,211,252,.30)!important;
    box-shadow:0 24px 76px rgba(0,0,0,.56)!important;
    z-index:10100!important;
  }

  body.mw-mobile-v77.theme-light .profile-dropdown-full-v80,
  body.mw-mobile-v77.theme-light .nav-menu-dropdown.profile-dropdown-full-v80{
    background:#ffffff!important;
    color:#071a3a!important;
    border:1px solid rgba(15,23,42,.12)!important;
    box-shadow:0 24px 70px rgba(7,26,58,.20)!important;
  }

  body.mw-mobile-v77 .profile-dropdown-full-v80 a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:48px!important;
    padding:12px 14px!important;
    margin:3px 0!important;
    border-radius:15px!important;
    text-decoration:none!important;
    color:#edf5ff!important;
    background:transparent!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:850!important;
    white-space:normal!important;
  }

  body.mw-mobile-v77.theme-light .profile-dropdown-full-v80 a{
    color:#071a3a!important;
  }

  body.mw-mobile-v77 .profile-dropdown-full-v80 a:hover,
  body.mw-mobile-v77 .profile-dropdown-full-v80 a:active,
  body.mw-mobile-v77 .profile-dropdown-full-v80 a:focus{
    background:#12223a!important;
    color:#ffffff!important;
  }

  body.mw-mobile-v77.theme-light .profile-dropdown-full-v80 a:hover,
  body.mw-mobile-v77.theme-light .profile-dropdown-full-v80 a:active,
  body.mw-mobile-v77.theme-light .profile-dropdown-full-v80 a:focus{
    background:#eff6ff!important;
    color:#0f3d73!important;
  }

  body.mw-mobile-v77 .profile-dropdown-full-v80 .dropdown-overview{
    background:#3b1f08!important;
    color:#ffdf8a!important;
    border:1px solid rgba(255,178,79,.30)!important;
  }

  body.mw-mobile-v77.theme-light .profile-dropdown-full-v80 .dropdown-overview{
    background:#fff7ed!important;
    color:#9a3412!important;
    border:1px solid #fed7aa!important;
  }

  body.mw-mobile-v77 .profile-dropdown-full-v80 .dropdown-danger{
    background:#991b1b!important;
    color:#ffffff!important;
    margin-top:8px!important;
  }

  body.mw-mobile-v77.theme-light .profile-dropdown-full-v80 .dropdown-danger{
    background:#dc2626!important;
    color:#ffffff!important;
  }

  /* Avoid dropdown becoming transparent over login form */
  body.mw-mobile-v77 .nav-menu:hover .profile-dropdown-full-v80,
  body.mw-mobile-v77 .nav-menu:focus-within .profile-dropdown-full-v80{
    opacity:1!important;
    visibility:visible!important;
  }

  /* Header guest/profile button readable in both themes */
  body.mw-mobile-v77.theme-light .header-tool-button{
    background:#eff6ff!important;
    color:#0f3d73!important;
    border-color:#bfdbfe!important;
  }

  body.mw-mobile-v77.theme-dark .header-tool-button{
    background:#0b1d35!important;
    color:#ffffff!important;
    border-color:rgba(125,211,252,.40)!important;
  }
}


/* V81 — Guest Login Menu + Compact Login Card Fix */
.guest-login-menu-v81{
  min-width:190px!important;
}
.guest-login-menu-v81 a{
  justify-content:center!important;
  text-align:center!important;
  font-weight:900!important;
}
.login-card-v81{
  max-width:560px!important;
  margin:30px auto 70px!important;
  padding:30px 32px!important;
}
.login-card-v81 h2{
  margin-bottom:18px!important;
}
.login-card-v81 form{
  margin:0!important;
}
.login-card-v81 label{
  margin-top:12px!important;
  margin-bottom:7px!important;
}
.login-card-v81 input{
  height:44px!important;
  min-height:44px!important;
}
.login-card-v81 .btn{
  width:auto!important;
  min-width:92px!important;
  height:42px!important;
  min-height:42px!important;
  padding:8px 16px!important;
  border-radius:12px!important;
  font-size:14px!important;
}
.login-card-v81 .champion-meta{
  margin-top:8px!important;
}

@media (min-width:821px){
  .login-card-v81{
    max-width:520px!important;
    padding:28px 30px!important;
    border-radius:20px!important;
  }
  .login-card-v81 input{
    height:42px!important;
  }
  .login-card-v81 .btn{
    margin-top:14px!important;
  }
}

@media (max-width:820px){
  body.mw-mobile-v77 .guest-login-menu-v81{
    max-height:220px!important;
  }
  body.mw-mobile-v77 .guest-login-menu-v81 a{
    min-height:52px!important;
    justify-content:center!important;
  }
  body.mw-mobile-v77 .login-card-v81{
    max-width:100%!important;
    margin:14px 0 110px!important;
    padding:22px!important;
  }
  body.mw-mobile-v77 .login-card-v81 .btn{
    width:100%!important;
    min-height:48px!important;
    height:48px!important;
  }
}


/* V82 — Guest Button + Header Menu Alignment Fix */

/* Guest button becomes a direct login link; no dropdown box */
.header-guest-direct-login-v82{
  text-decoration:none!important;
  cursor:pointer!important;
}

/* Desktop header menu alignment: nav line aligns cleanly below logo/header line */
@media (min-width: 901px){
  .topbar.topbar-clean.premium-open-header{
    display:grid!important;
    grid-template-columns:300px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:24px!important;
    row-gap:8px!important;
    padding:18px 36px 16px!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-wrap-clean{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    justify-self:start!important;
  }

  .topbar.topbar-clean.premium-open-header .header-right-stack{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    justify-items:end!important;
    row-gap:10px!important;
    width:100%!important;
  }

  .topbar.topbar-clean.premium-open-header .header-top-tools{
    grid-row:1!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
  }

  .topbar.topbar-clean.premium-open-header .header-bottom-nav{
    grid-row:2!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:22px!important;
    margin-top:0!important;
    padding-top:0!important;
    line-height:1!important;
  }

  .topbar.topbar-clean.premium-open-header .nav-main-link,
  .topbar.topbar-clean.premium-open-header .nav-menu-toggle{
    font-size:15px!important;
    line-height:1!important;
    padding:8px 0!important;
  }

  .topbar.topbar-clean.premium-open-header .header-tool-button{
    font-size:14px!important;
    padding:9px 13px!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-logo{
    max-width:170px!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-subtitle{
    margin-top:8px!important;
    font-size:13px!important;
    line-height:1.15!important;
  }
}

/* Mobile: guest button smaller, clean, direct login. No dropdown opens. */
@media (max-width: 1180px), (hover:none), (pointer:coarse){
  body.mw-mobile-v77 .header-guest-direct-login-v82{
    max-width:132px!important;
    min-width:86px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    font-size:12px!important;
    font-weight:900!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#eff6ff!important;
    color:#0f3d73!important;
    border:1px solid #bfdbfe!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.mw-mobile-v77.theme-dark .header-guest-direct-login-v82{
    background:#0b1d35!important;
    color:#ffffff!important;
    border-color:rgba(125,211,252,.40)!important;
  }

  /* Since guest button is direct link, never show old guest dropdown panel */
  body.mw-mobile-v77 .guest-login-menu-v81{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

@media (max-width: 430px){
  body.mw-mobile-v77 .header-guest-direct-login-v82{
    max-width:122px!important;
    min-width:78px!important;
    font-size:11px!important;
    padding:0 9px!important;
  }
}


/* V83 — Guest Login Box + Header Menu Alignment Final Fix */

/* Guest: keep compact Login here box, not a large profile menu */
.guest-login-menu-v83{
  min-width:150px!important;
  max-width:190px!important;
  width:auto!important;
  padding:6px!important;
  border-radius:16px!important;
}
.guest-login-menu-v83 a{
  min-height:40px!important;
  padding:9px 12px!important;
  border-radius:12px!important;
  font-size:13px!important;
  font-weight:900!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.theme-light .guest-login-menu-v83{
  background:#ffffff!important;
  color:#071a3a!important;
  border:1px solid rgba(15,23,42,.12)!important;
  box-shadow:0 16px 38px rgba(7,26,58,.16)!important;
}
.theme-light .guest-login-menu-v83 a{
  background:#fff7ed!important;
  color:#9a3412!important;
  border:1px solid #fed7aa!important;
}
.theme-dark .guest-login-menu-v83{
  background:#0b1628!important;
  color:#edf5ff!important;
  border:1px solid rgba(125,211,252,.25)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.45)!important;
}
.theme-dark .guest-login-menu-v83 a{
  background:#3b1f08!important;
  color:#ffdf8a!important;
  border:1px solid rgba(255,178,79,.30)!important;
}

/* Desktop final alignment: logo line + subtitle line matched with top tools + nav line */
@media (min-width: 901px){
  .topbar.topbar-clean.premium-open-header{
    display:grid!important;
    grid-template-columns:300px minmax(0,1fr)!important;
    grid-template-rows:46px 32px!important;
    align-items:center!important;
    column-gap:28px!important;
    row-gap:0!important;
    padding:18px 36px 14px!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-wrap-clean{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    display:grid!important;
    grid-template-rows:46px 32px!important;
    align-items:center!important;
    justify-items:start!important;
    width:300px!important;
    max-width:300px!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-clean{
    grid-row:1!important;
    align-self:center!important;
    justify-self:start!important;
    height:46px!important;
    display:flex!important;
    align-items:center!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-logo{
    max-width:170px!important;
    max-height:44px!important;
    height:auto!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-subtitle{
    grid-row:2!important;
    align-self:center!important;
    justify-self:start!important;
    margin:0!important;
    padding:0!important;
    font-size:13px!important;
    line-height:1!important;
  }

  .topbar.topbar-clean.premium-open-header .header-right-stack{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    display:grid!important;
    grid-template-rows:46px 32px!important;
    align-items:center!important;
    justify-items:end!important;
    row-gap:0!important;
    width:100%!important;
  }

  .topbar.topbar-clean.premium-open-header .header-top-tools{
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:0!important;
    padding:0!important;
    height:46px!important;
  }

  .topbar.topbar-clean.premium-open-header .header-bottom-nav{
    grid-row:2!important;
    align-self:center!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:22px!important;
    height:32px!important;
    margin:0!important;
    padding:0!important;
  }

  .topbar.topbar-clean.premium-open-header .nav-main-link,
  .topbar.topbar-clean.premium-open-header .nav-menu-toggle{
    font-size:15px!important;
    line-height:1!important;
    padding:0!important;
    height:32px!important;
    display:flex!important;
    align-items:center!important;
  }

  .topbar.topbar-clean.premium-open-header .header-tool-button{
    font-size:14px!important;
    padding:8px 12px!important;
    border-radius:999px!important;
  }

  .topbar.topbar-clean.premium-open-header .guest-login-menu-v83{
    right:0!important;
    top:calc(100% + 8px)!important;
  }
}

/* Mobile guest login box: compact and theme-consistent */
@media (max-width: 1180px), (hover:none), (pointer:coarse){
  body.mw-mobile-v77 .header-guest-login-toggle-v83{
    max-width:132px!important;
    min-width:86px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    font-size:12px!important;
    font-weight:900!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.mw-mobile-v77.theme-light .header-guest-login-toggle-v83{
    background:#eff6ff!important;
    color:#0f3d73!important;
    border:1px solid #bfdbfe!important;
  }

  body.mw-mobile-v77.theme-dark .header-guest-login-toggle-v83{
    background:#0b1d35!important;
    color:#ffffff!important;
    border:1px solid rgba(125,211,252,.40)!important;
  }

  body.mw-mobile-v77 .guest-login-menu-v83{
    position:fixed!important;
    top:78px!important;
    right:12px!important;
    left:auto!important;
    width:170px!important;
    min-width:0!important;
    max-width:170px!important;
    max-height:120px!important;
    padding:7px!important;
    border-radius:17px!important;
    z-index:10100!important;
  }

  body.mw-mobile-v77 .guest-login-menu-v83 a{
    min-height:42px!important;
    padding:9px 10px!important;
    font-size:13px!important;
  }

  body.mw-mobile-v77.theme-light .guest-login-menu-v83{
    background:#ffffff!important;
    border:1px solid rgba(15,23,42,.12)!important;
    box-shadow:0 18px 44px rgba(7,26,58,.18)!important;
  }

  body.mw-mobile-v77.theme-dark .guest-login-menu-v83{
    background:#0b1628!important;
    border:1px solid rgba(125,211,252,.25)!important;
    box-shadow:0 20px 50px rgba(0,0,0,.45)!important;
  }
}

@media (max-width: 430px){
  body.mw-mobile-v77 .header-guest-login-toggle-v83{
    max-width:122px!important;
    min-width:78px!important;
    font-size:11px!important;
    padding:0 9px!important;
  }
  body.mw-mobile-v77 .guest-login-menu-v83{
    right:10px!important;
    width:158px!important;
    max-width:158px!important;
  }
}


/* V84 — Login Here Compact Dropdown + Logo Size Fix */

/* Desktop: make left Mindwhiz logo larger and premium */
@media (min-width: 901px){
  .topbar.topbar-clean.premium-open-header{
    grid-template-columns:360px minmax(0,1fr)!important;
    padding:18px 38px 14px!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-wrap-clean{
    width:360px!important;
    max-width:360px!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-logo{
    max-width:230px!important;
    max-height:58px!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-subtitle{
    font-size:14px!important;
    margin-top:4px!important;
  }

  /* Final desktop nav line: aligned with brand subtitle row */
  .topbar.topbar-clean.premium-open-header .header-bottom-nav{
    height:32px!important;
    align-self:center!important;
    transform:translateY(1px)!important;
  }

  /* Login here dropdown should look like normal compact menu/dropdown */
  .topbar.topbar-clean.premium-open-header .guest-login-menu-v83{
    position:absolute!important;
    top:calc(100% + 6px)!important;
    right:0!important;
    left:auto!important;
    width:152px!important;
    min-width:152px!important;
    max-width:152px!important;
    padding:4px!important;
    border-radius:4px!important;
    box-shadow:0 10px 24px rgba(7,26,58,.16)!important;
  }

  .topbar.topbar-clean.premium-open-header .guest-login-menu-v83 a{
    min-height:34px!important;
    height:34px!important;
    padding:7px 10px!important;
    border-radius:3px!important;
    font-size:13px!important;
    line-height:1!important;
    justify-content:flex-start!important;
    text-align:left!important;
    gap:6px!important;
  }

  .theme-light .topbar.topbar-clean.premium-open-header .guest-login-menu-v83{
    background:#ffffff!important;
    color:#071a3a!important;
    border:1px solid rgba(15,23,42,.18)!important;
  }

  .theme-light .topbar.topbar-clean.premium-open-header .guest-login-menu-v83 a{
    background:#ffffff!important;
    color:#071a3a!important;
    border:0!important;
  }

  .theme-light .topbar.topbar-clean.premium-open-header .guest-login-menu-v83 a:hover{
    background:#eff6ff!important;
    color:#0f3d73!important;
  }

  .theme-dark .topbar.topbar-clean.premium-open-header .guest-login-menu-v83{
    background:#0b1628!important;
    color:#edf5ff!important;
    border:1px solid rgba(125,211,252,.24)!important;
  }

  .theme-dark .topbar.topbar-clean.premium-open-header .guest-login-menu-v83 a{
    background:#0b1628!important;
    color:#edf5ff!important;
    border:0!important;
  }

  .theme-dark .topbar.topbar-clean.premium-open-header .guest-login-menu-v83 a:hover{
    background:#12223a!important;
    color:#ffffff!important;
  }
}

/* Mobile: login here remains compact small dropdown, not big panel */
@media (max-width: 1180px), (hover:none), (pointer:coarse){
  body.mw-mobile-v77 .guest-login-menu-v83{
    position:fixed!important;
    top:76px!important;
    right:12px!important;
    left:auto!important;
    width:148px!important;
    min-width:148px!important;
    max-width:148px!important;
    max-height:96px!important;
    padding:4px!important;
    border-radius:8px!important;
    overflow:hidden!important;
    z-index:10100!important;
    box-shadow:0 14px 34px rgba(0,0,0,.22)!important;
  }

  body.mw-mobile-v77 .guest-login-menu-v83 a{
    min-height:36px!important;
    height:36px!important;
    padding:8px 10px!important;
    border-radius:6px!important;
    font-size:12px!important;
    font-weight:850!important;
    line-height:1!important;
    justify-content:flex-start!important;
    text-align:left!important;
    white-space:nowrap!important;
  }

  body.mw-mobile-v77.theme-light .guest-login-menu-v83{
    background:#ffffff!important;
    border:1px solid rgba(15,23,42,.15)!important;
  }

  body.mw-mobile-v77.theme-light .guest-login-menu-v83 a{
    background:#ffffff!important;
    color:#071a3a!important;
    border:0!important;
  }

  body.mw-mobile-v77.theme-light .guest-login-menu-v83 a:hover,
  body.mw-mobile-v77.theme-light .guest-login-menu-v83 a:active{
    background:#eff6ff!important;
    color:#0f3d73!important;
  }

  body.mw-mobile-v77.theme-dark .guest-login-menu-v83{
    background:#0b1628!important;
    border:1px solid rgba(125,211,252,.24)!important;
  }

  body.mw-mobile-v77.theme-dark .guest-login-menu-v83 a{
    background:#0b1628!important;
    color:#edf5ff!important;
    border:0!important;
  }

  body.mw-mobile-v77.theme-dark .guest-login-menu-v83 a:hover,
  body.mw-mobile-v77.theme-dark .guest-login-menu-v83 a:active{
    background:#12223a!important;
    color:#ffffff!important;
  }
}

@media (max-width: 430px){
  body.mw-mobile-v77 .guest-login-menu-v83{
    right:10px!important;
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
  }
}


/* V85 — Header Subtitle Single Line + Guest Dropdown Pattern Fix */

/* Desktop: subtitle below logo must stay in one line */
@media (min-width: 901px){
  .topbar.topbar-clean.premium-open-header{
    grid-template-columns:420px minmax(0,1fr)!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-wrap-clean{
    width:420px!important;
    max-width:420px!important;
    overflow:visible!important;
  }

  .topbar.topbar-clean.premium-open-header .brand-subtitle{
    display:block!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    width:max-content!important;
    min-width:260px!important;
    max-width:none!important;
    font-size:13.5px!important;
    line-height:1!important;
    letter-spacing:.01em!important;
  }

  /* Match Login here dropdown with language/theme compact dropdown style */
  .topbar.topbar-clean.premium-open-header .guest-login-menu-v83{
    width:138px!important;
    min-width:138px!important;
    max-width:138px!important;
    padding:0!important;
    border-radius:2px!important;
    box-shadow:0 10px 22px rgba(7,26,58,.14)!important;
  }

  .topbar.topbar-clean.premium-open-header .guest-login-menu-v83 a{
    min-height:32px!important;
    height:32px!important;
    padding:8px 12px!important;
    border-radius:0!important;
    font-size:13px!important;
    font-weight:800!important;
    justify-content:flex-start!important;
    text-align:left!important;
    background:transparent!important;
    border:0!important;
    text-transform:none!important;
  }

  .theme-light .topbar.topbar-clean.premium-open-header .guest-login-menu-v83{
    background:#ffffff!important;
    color:#071a3a!important;
    border:1px solid rgba(15,23,42,.18)!important;
  }

  .theme-light .topbar.topbar-clean.premium-open-header .guest-login-menu-v83 a{
    color:#071a3a!important;
    background:#ffffff!important;
  }

  .theme-light .topbar.topbar-clean.premium-open-header .guest-login-menu-v83 a:hover{
    background:#eef2f7!important;
    color:#071a3a!important;
  }

  .theme-dark .topbar.topbar-clean.premium-open-header .guest-login-menu-v83{
    background:#0b1628!important;
    color:#edf5ff!important;
    border:1px solid rgba(148,163,184,.35)!important;
  }

  .theme-dark .topbar.topbar-clean.premium-open-header .guest-login-menu-v83 a{
    color:#edf5ff!important;
    background:#0b1628!important;
  }

  .theme-dark .topbar.topbar-clean.premium-open-header .guest-login-menu-v83 a:hover{
    background:#1e293b!important;
    color:#ffffff!important;
  }
}

/* Mobile: same compact pattern, not large custom card */
@media (max-width: 1180px), (hover:none), (pointer:coarse){
  body.mw-mobile-v77 .guest-login-menu-v83{
    width:136px!important;
    min-width:136px!important;
    max-width:136px!important;
    max-height:78px!important;
    padding:0!important;
    border-radius:4px!important;
    overflow:hidden!important;
  }

  body.mw-mobile-v77 .guest-login-menu-v83 a{
    height:34px!important;
    min-height:34px!important;
    padding:8px 11px!important;
    border-radius:0!important;
    font-size:12px!important;
    font-weight:800!important;
    justify-content:flex-start!important;
    text-align:left!important;
    background:transparent!important;
    border:0!important;
  }

  body.mw-mobile-v77.theme-light .guest-login-menu-v83{
    background:#ffffff!important;
    border:1px solid rgba(15,23,42,.18)!important;
  }

  body.mw-mobile-v77.theme-light .guest-login-menu-v83 a{
    color:#071a3a!important;
    background:#ffffff!important;
  }

  body.mw-mobile-v77.theme-light .guest-login-menu-v83 a:hover,
  body.mw-mobile-v77.theme-light .guest-login-menu-v83 a:active{
    background:#eef2f7!important;
  }

  body.mw-mobile-v77.theme-dark .guest-login-menu-v83{
    background:#0b1628!important;
    border:1px solid rgba(148,163,184,.35)!important;
  }

  body.mw-mobile-v77.theme-dark .guest-login-menu-v83 a{
    color:#edf5ff!important;
    background:#0b1628!important;
  }

  body.mw-mobile-v77.theme-dark .guest-login-menu-v83 a:hover,
  body.mw-mobile-v77.theme-dark .guest-login-menu-v83 a:active{
    background:#1e293b!important;
  }
}


/* V86 — Unified Header Dropdown Pattern Fix */

/* Same pattern for: Hello Guest, Language, Theme */
.header-top-tools .header-control-menu-v86,
.header-top-tools .nav-menu{
  position:relative!important;
}

.header-tool-button.header-control-v86,
.header-control-v86{
  height:34px!important;
  min-height:34px!important;
  padding:0 11px!important;
  border-radius:6px!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  cursor:pointer!important;
}

.theme-light .header-control-v86{
  background:#ffffff!important;
  color:#071a3a!important;
  border:1px solid rgba(15,23,42,.16)!important;
  box-shadow:none!important;
}

.theme-dark .header-control-v86{
  background:#0b1628!important;
  color:#edf5ff!important;
  border:1px solid rgba(148,163,184,.32)!important;
  box-shadow:none!important;
}

.header-control-dropdown-v86,
.nav-menu-dropdown.header-control-dropdown-v86,
.guest-login-menu-v86{
  position:absolute!important;
  top:calc(100% + 4px)!important;
  right:0!important;
  left:auto!important;
  width:auto!important;
  min-width:138px!important;
  max-width:180px!important;
  padding:3px!important;
  border-radius:6px!important;
  overflow:hidden!important;
  z-index:9999!important;
  box-shadow:0 10px 22px rgba(7,26,58,.14)!important;
}

.theme-light .header-control-dropdown-v86,
.theme-light .nav-menu-dropdown.header-control-dropdown-v86,
.theme-light .guest-login-menu-v86{
  background:#ffffff!important;
  color:#071a3a!important;
  border:1px solid rgba(15,23,42,.16)!important;
}

.theme-dark .header-control-dropdown-v86,
.theme-dark .nav-menu-dropdown.header-control-dropdown-v86,
.theme-dark .guest-login-menu-v86{
  background:#0b1628!important;
  color:#edf5ff!important;
  border:1px solid rgba(148,163,184,.32)!important;
}

.header-control-dropdown-v86 a,
.nav-menu-dropdown.header-control-dropdown-v86 a,
.guest-login-menu-v86 a{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:32px!important;
  height:32px!important;
  padding:7px 10px!important;
  margin:0!important;
  border-radius:4px!important;
  border:0!important;
  background:transparent!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  text-align:left!important;
}

.theme-light .header-control-dropdown-v86 a,
.theme-light .nav-menu-dropdown.header-control-dropdown-v86 a,
.theme-light .guest-login-menu-v86 a{
  color:#071a3a!important;
}

.theme-dark .header-control-dropdown-v86 a,
.theme-dark .nav-menu-dropdown.header-control-dropdown-v86 a,
.theme-dark .guest-login-menu-v86 a{
  color:#edf5ff!important;
}

.theme-light .header-control-dropdown-v86 a:hover,
.theme-light .nav-menu-dropdown.header-control-dropdown-v86 a:hover,
.theme-light .guest-login-menu-v86 a:hover{
  background:#eef2f7!important;
  color:#071a3a!important;
}

.theme-dark .header-control-dropdown-v86 a:hover,
.theme-dark .nav-menu-dropdown.header-control-dropdown-v86 a:hover,
.theme-dark .guest-login-menu-v86 a:hover{
  background:#1e293b!important;
  color:#ffffff!important;
}

/* Make the three top controls visually equal */
.header-top-tools .header-control-menu-v86 .header-control-v86,
.header-top-tools .header-guest-menu .header-control-v86{
  min-width:92px!important;
  max-width:150px!important;
}

.header-top-tools .language-menu-v86 .header-control-v86{
  min-width:102px!important;
}

.header-top-tools .theme-menu-v86 .header-control-v86{
  min-width:86px!important;
}

/* Override older V83/V84 orange/gold guest dropdown styles */
.guest-login-menu-v83,
.guest-login-menu-v86{
  background:inherit;
}
.guest-login-menu-v83 a,
.guest-login-menu-v86 a{
  background:transparent!important;
  border:0!important;
  color:inherit;
}

/* Desktop header alignment kept clean */
@media (min-width: 901px){
  .topbar.topbar-clean.premium-open-header .header-top-tools{
    gap:10px!important;
  }
  .topbar.topbar-clean.premium-open-header .header-bottom-nav{
    align-self:center!important;
    transform:translateY(0)!important;
  }
}

/* Mobile: same pattern, compact */
@media (max-width: 1180px), (hover:none), (pointer:coarse){
  body.mw-mobile-v77 .language-menu-v86,
  body.mw-mobile-v77 .theme-menu-v86{
    display:none!important;
  }

  body.mw-mobile-v77 .header-control-v86{
    height:42px!important;
    min-height:42px!important;
    border-radius:999px!important;
    font-size:12px!important;
    padding:0 10px!important;
  }

  body.mw-mobile-v77 .guest-login-menu-v86{
    position:fixed!important;
    top:76px!important;
    right:12px!important;
    left:auto!important;
    width:146px!important;
    min-width:146px!important;
    max-width:146px!important;
    padding:3px!important;
    border-radius:8px!important;
  }

  body.mw-mobile-v77 .guest-login-menu-v86 a{
    min-height:34px!important;
    height:34px!important;
    font-size:12px!important;
    padding:8px 10px!important;
  }
}


/* V87 — Premium Homepage + Footer + Social Links */
.trust-band-v87{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:24px;
  align-items:center;
  margin:28px 0;
  padding:28px;
  border-radius:30px;
  background:linear-gradient(135deg,#071a3a,#0f3d73);
  color:#fff;
  box-shadow:0 26px 70px rgba(7,26,58,.22);
  overflow:hidden;
}
.trust-copy-v87 h2{
  font-size:34px;
  line-height:1.12;
  margin:8px 0 10px;
}
.trust-copy-v87 p{
  color:rgba(255,255,255,.78);
  line-height:1.65;
  margin:0;
}
.trust-stats-v87{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.trust-stats-v87 div{
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(8px);
}
.trust-stats-v87 strong{
  display:block;
  font-size:28px;
  color:#ffb24f;
}
.trust-stats-v87 span{
  color:rgba(255,255,255,.78);
  font-weight:850;
}
.mode-showcase-v87{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin:28px 0;
}
.mode-showcase-v87 article{
  padding:24px;
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 48px rgba(7,26,58,.08);
}
.theme-dark .mode-showcase-v87 article{
  background:#0b1628;
  border-color:rgba(148,163,184,.18);
}
.mode-showcase-v87 span{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#fff7ed;
  color:#9a3412;
  font-weight:950;
}
.mode-showcase-v87 h3{
  font-size:22px;
  margin:16px 0 8px;
}
.mode-showcase-v87 p{
  color:#64748b;
  line-height:1.6;
}
.theme-dark .mode-showcase-v87 p{
  color:#cbd5e1;
}
.mode-showcase-v87 a{
  color:#0f3d73;
  font-weight:900;
  text-decoration:none;
}
.theme-dark .mode-showcase-v87 a{
  color:#7dd3fc;
}

.video-social-v87{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:20px;
  margin:28px 0;
}
.video-card-v87,
.social-card-v87,
.contact-cta-v87,
.faq-v87{
  padding:28px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 48px rgba(7,26,58,.08);
}
.theme-dark .video-card-v87,
.theme-dark .social-card-v87,
.theme-dark .contact-cta-v87,
.theme-dark .faq-v87{
  background:#0b1628;
  border-color:rgba(148,163,184,.18);
}
.video-card-v87 h2,
.social-card-v87 h2{
  font-size:30px;
  margin:8px 0 10px;
}
.video-placeholder-v87{
  min-height:250px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:18px;
  border-radius:24px;
  background:linear-gradient(135deg,#071a3a,#172554);
  color:#fff;
  text-align:center;
  border:1px solid rgba(255,255,255,.12);
}
.video-placeholder-v87 span{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#ff8a00;
  color:#fff;
  font-size:32px;
  box-shadow:0 16px 36px rgba(255,138,0,.24);
}
.video-placeholder-v87 small{
  color:rgba(255,255,255,.65);
}
.social-grid-v87{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin-top:18px;
}
.social-grid-v87 a,
.footer-social-v87 a{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 14px;
  border-radius:16px;
  text-decoration:none;
  background:#eff6ff;
  color:#0f3d73;
  font-weight:900;
  border:1px solid #bfdbfe;
}
.social-grid-v87 a span,
.footer-social-v87 a span{
  width:26px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#0f3d73;
  color:#fff;
  font-weight:950;
}
.theme-dark .social-grid-v87 a,
.theme-dark .footer-social-v87 a{
  background:#07111f;
  color:#edf5ff;
  border-color:rgba(148,163,184,.22);
}
.theme-dark .social-grid-v87 a span,
.theme-dark .footer-social-v87 a span{
  background:#ff8a00;
}
.contact-cta-v87{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin:28px 0;
  background:linear-gradient(135deg,#fff7ed,#ffffff);
}
.theme-dark .contact-cta-v87{
  background:linear-gradient(135deg,#301a08,#0b1628);
}
.contact-cta-v87 h2{
  font-size:32px;
  margin:8px 0;
}
.contact-actions-v87{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.faq-v87{
  margin:28px 0;
}
.faq-grid-v87{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.faq-grid-v87 details{
  padding:18px;
  border-radius:20px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
}
.theme-dark .faq-grid-v87 details{
  background:#07111f;
  border-color:rgba(148,163,184,.18);
}
.faq-grid-v87 summary{
  cursor:pointer;
  font-weight:950;
  color:#071a3a;
}
.theme-dark .faq-grid-v87 summary{
  color:#fff;
}
.faq-grid-v87 p{
  color:#64748b;
  line-height:1.55;
}
.theme-dark .faq-grid-v87 p{
  color:#cbd5e1;
}

/* Premium Footer V87 */
.footer-premium-v87{
  display:grid;
  grid-template-columns:1.4fr .75fr .75fr .9fr;
  gap:26px;
  padding:36px;
  margin-top:34px;
  background:#07111f;
  color:#edf5ff;
  border-top:1px solid rgba(148,163,184,.18);
}
.footer-logo-v87{
  max-width:210px;
  height:auto;
  margin-bottom:14px;
}
.theme-dark .footer-logo-light-v87,
.theme-light .footer-logo-dark-v87{
  display:none;
}
.footer-brand-v87 p{
  color:#cbd5e1;
  line-height:1.6;
  max-width:420px;
}
.footer-social-v87{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.footer-social-v87 a{
  padding:9px 11px;
  border-radius:999px;
  background:#0b1628;
  color:#edf5ff;
  border-color:rgba(148,163,184,.22);
  font-size:13px;
}
.footer-social-v87 a span{
  width:22px;
  height:22px;
  background:#ff8a00;
  font-size:12px;
}
.footer-column-v87{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.footer-column-v87 h4{
  margin:0 0 8px;
  color:#ffb24f;
}
.footer-column-v87 a,
.footer-column-v87 span{
  color:#cbd5e1;
  text-decoration:none;
  font-weight:750;
  line-height:1.4;
}
.footer-column-v87 a:hover{
  color:#ffffff;
}
.footer-bottom-v87{
  grid-column:1 / -1;
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding-top:18px;
  border-top:1px solid rgba(148,163,184,.18);
  color:#94a3b8;
}
.footer-bottom-v87 a{
  color:#cbd5e1;
  text-decoration:none;
  margin-left:14px;
  font-weight:800;
}

@media(max-width:900px){
  .trust-band-v87,
  .video-social-v87,
  .contact-cta-v87,
  .footer-premium-v87{
    grid-template-columns:1fr;
  }
  .mode-showcase-v87,
  .faq-grid-v87{
    grid-template-columns:1fr;
  }
  .trust-stats-v87,
  .social-grid-v87{
    grid-template-columns:1fr 1fr;
  }
  .contact-actions-v87{
    justify-content:flex-start;
  }
  .footer-bottom-v87{
    flex-direction:column;
  }
  .footer-bottom-v87 a{
    margin-left:0;
    margin-right:12px;
  }
}

@media(max-width:560px){
  .trust-band-v87,
  .video-card-v87,
  .social-card-v87,
  .contact-cta-v87,
  .faq-v87{
    padding:20px;
    border-radius:24px;
  }
  .trust-copy-v87 h2,
  .video-card-v87 h2,
  .social-card-v87 h2,
  .contact-cta-v87 h2{
    font-size:25px;
  }
  .trust-stats-v87,
  .social-grid-v87{
    grid-template-columns:1fr;
  }
  .footer-premium-v87{
    padding:24px 18px 116px;
  }
}


/* V88 — Powerful Homepage + Original Social Icons + Scroll Header Fix */

/* Social SVG icons */
.social-svg{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
.social-svg svg{
  width:18px!important;
  height:18px!important;
  fill:currentColor!important;
}
.social-svg-youtube{background:#ff0000!important;color:#fff!important;}
.social-svg-facebook{background:#1877f2!important;color:#fff!important;}
.social-svg-instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)!important;color:#fff!important;}
.social-svg-whatsapp{background:#25d366!important;color:#fff!important;}
.social-svg-linkedin{background:#0a66c2!important;color:#fff!important;}
.social-svg-website{background:#0f3d73!important;color:#fff!important;}

/* Override old footer/social nested span circle when SVG is used */
.social-grid-v87 a .social-svg,
.footer-social-v87 a .social-svg{
  background:initial;
}
.social-grid-v87 a .social-svg-youtube,
.footer-social-v87 a .social-svg-youtube{background:#ff0000!important;}
.social-grid-v87 a .social-svg-facebook,
.footer-social-v87 a .social-svg-facebook{background:#1877f2!important;}
.social-grid-v87 a .social-svg-instagram,
.footer-social-v87 a .social-svg-instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)!important;}
.social-grid-v87 a .social-svg-whatsapp,
.footer-social-v87 a .social-svg-whatsapp{background:#25d366!important;}
.social-grid-v87 a .social-svg-linkedin,
.footer-social-v87 a .social-svg-linkedin{background:#0a66c2!important;}
.social-grid-v87 a .social-svg-website,
.footer-social-v87 a .social-svg-website{background:#0f3d73!important;}

/* More powerful homepage sections */
.power-home-v88{
  margin:30px 0;
  padding:30px;
  border-radius:34px;
  background:linear-gradient(135deg,#ffffff 0%,#eff6ff 100%);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 24px 70px rgba(7,26,58,.10);
}
.theme-dark .power-home-v88{
  background:linear-gradient(135deg,#0b1628 0%,#07111f 100%);
  border-color:rgba(148,163,184,.18);
}
.power-head-v88{
  max-width:760px;
}
.power-head-v88 h2{
  font-size:38px;
  line-height:1.1;
  margin:8px 0 10px;
}
.power-head-v88 p{
  color:#64748b;
  line-height:1.65;
}
.theme-dark .power-head-v88 p{
  color:#cbd5e1;
}
.power-grid-v88{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:22px;
}
.power-grid-v88 article{
  padding:20px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 34px rgba(7,26,58,.07);
}
.theme-dark .power-grid-v88 article{
  background:#101b2f;
  border-color:rgba(148,163,184,.18);
}
.power-grid-v88 span{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:#fff7ed;
  font-size:22px;
  margin-bottom:14px;
}
.power-grid-v88 h3{
  margin:0 0 8px;
  font-size:19px;
}
.power-grid-v88 p{
  margin:0;
  color:#64748b;
  line-height:1.55;
  font-size:14px;
}
.theme-dark .power-grid-v88 p{
  color:#cbd5e1;
}
.journey-flow-v88{
  margin:24px 0 30px;
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:10px;
  padding:18px;
  border-radius:28px;
  background:#071a3a;
  color:#fff;
  box-shadow:0 18px 48px rgba(7,26,58,.18);
}
.flow-step-v88{
  flex:1;
  min-width:120px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  text-align:center;
}
.flow-step-v88 strong{
  display:block;
  color:#ffb24f!important;
  font-size:18px;
}
.flow-step-v88 span{
  display:block;
  margin-top:5px;
  font-weight:900;
  font-size:13px;
}
.flow-arrow-v88{
  display:flex;
  align-items:center;
  color:#ffb24f;
  font-weight:950;
}

/* Header scroll fix: when top controls hide, header height also shrinks */
@media (min-width:901px){
  body.header-is-scrolled .topbar.topbar-clean.premium-open-header,
  .topbar.topbar-clean.premium-open-header.is-scrolled{
    min-height:72px!important;
    height:72px!important;
    max-height:72px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
    grid-template-rows:52px!important;
    overflow:hidden!important;
  }

  body.header-is-scrolled .topbar.topbar-clean.premium-open-header .header-top-tools,
  .topbar.topbar-clean.premium-open-header.is-scrolled .header-top-tools{
    display:none!important;
    height:0!important;
    max-height:0!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }

  body.header-is-scrolled .topbar.topbar-clean.premium-open-header .brand-wrap-clean,
  .topbar.topbar-clean.premium-open-header.is-scrolled .brand-wrap-clean{
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    height:52px!important;
    width:300px!important;
    max-width:300px!important;
    overflow:visible!important;
  }

  body.header-is-scrolled .topbar.topbar-clean.premium-open-header .brand-clean,
  .topbar.topbar-clean.premium-open-header.is-scrolled .brand-clean{
    height:52px!important;
    display:flex!important;
    align-items:center!important;
  }

  body.header-is-scrolled .topbar.topbar-clean.premium-open-header .brand-subtitle,
  .topbar.topbar-clean.premium-open-header.is-scrolled .brand-subtitle{
    display:none!important;
    height:0!important;
    max-height:0!important;
    overflow:hidden!important;
  }

  body.header-is-scrolled .topbar.topbar-clean.premium-open-header .brand-logo,
  .topbar.topbar-clean.premium-open-header.is-scrolled .brand-logo{
    max-height:48px!important;
    max-width:188px!important;
  }

  body.header-is-scrolled .topbar.topbar-clean.premium-open-header .header-right-stack,
  .topbar.topbar-clean.premium-open-header.is-scrolled .header-right-stack{
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    height:52px!important;
  }

  body.header-is-scrolled .topbar.topbar-clean.premium-open-header .header-bottom-nav,
  .topbar.topbar-clean.premium-open-header.is-scrolled .header-bottom-nav{
    display:flex!important;
    align-items:center!important;
    height:52px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
}

@media(max-width:900px){
  .power-grid-v88{
    grid-template-columns:1fr 1fr;
  }
  .journey-flow-v88{
    flex-wrap:wrap;
  }
  .flow-arrow-v88{
    display:none;
  }
}

@media(max-width:560px){
  .power-home-v88{
    padding:20px;
    border-radius:24px;
  }
  .power-head-v88 h2{
    font-size:27px;
  }
  .power-grid-v88{
    grid-template-columns:1fr;
  }
  .journey-flow-v88{
    display:grid;
    grid-template-columns:1fr;
  }
}
