:root{
  --navy-950:#030d1f;
  --navy-900:#06152f;
  --navy-850:#081b3b;
  --navy-800:#0b234a;
  --navy-700:#123667;
  --blue:#2d82ec;
  --blue-soft:#75aef6;
  --red:#d52531;
  --red-deep:#7b0e18;
  --red-dark:#4c0810;
  --cream:#f7efe1;
  --white:#fff;
  --ink:#10203d;
  --muted:#a9b9d2;
  --muted-light:#d7e1ef;
  --line:rgba(255,255,255,.12);
  --glass:rgba(8,29,63,.78);
  --shadow:0 28px 80px rgba(0,6,22,.38);
  --radius:30px;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--navy-950)}
body{
  margin:0;
  min-height:100vh;
  color:#fff;
  background:
    radial-gradient(circle at 78% 18%,rgba(40,105,201,.22),transparent 30%),
    linear-gradient(145deg,#071831 0%,#0a2149 45%,#07182f 100%);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
  transition:background .55s ease;
}
body.is-exercise{
  background:
    radial-gradient(circle at 82% 16%,rgba(255,74,76,.18),transparent 34%),
    linear-gradient(145deg,#2e0610 0%,#690d18 47%,#27050c 100%);
}
body.modal-open{overflow:hidden}
button,input,textarea,select{font:inherit}
button{color:inherit}
a{color:inherit}
img{display:block;max-width:100%}
[hidden]{display:none!important}
::selection{background:var(--red);color:#fff}
body.is-exercise ::selection{background:#2f83ed;color:#fff}

.ambient{position:fixed;inset:0;z-index:-4;overflow:hidden;pointer-events:none}
.ambient__orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.25;transition:background .5s ease,transform .8s ease}
.ambient__orb--blue{width:380px;height:380px;right:4%;top:6%;background:#1769d4;animation:floatOrb 9s ease-in-out infinite}
.ambient__orb--red{width:300px;height:300px;left:8%;bottom:4%;background:#bd1724;opacity:.15;animation:floatOrb 11s 1.2s ease-in-out infinite reverse}
body.is-exercise .ambient__orb--blue{background:#d62330;opacity:.2}
body.is-exercise .ambient__orb--red{background:#2d82ec;opacity:.14}
.ambient__grain{position:absolute;inset:0;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
@keyframes floatOrb{0%,100%{transform:translate3d(0,0,0) scale(.9)}50%{transform:translate3d(-35px,28px,0) scale(1.12)}}

.topbar{
  position:sticky;
  top:0;
  z-index:60;
  min-height:76px;
  padding:calc(12px + var(--safe-top)) clamp(16px,3vw,42px) 12px;
  display:grid;
  grid-template-columns:minmax(190px,1fr) minmax(180px,360px) minmax(250px,1fr);
  align-items:center;
  gap:22px;
  background:linear-gradient(to bottom,rgba(4,15,35,.94),rgba(4,15,35,.72));
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(24px) saturate(1.25);
  box-shadow:0 12px 34px rgba(0,0,0,.12);
}
body.is-exercise .topbar{background:linear-gradient(to bottom,rgba(48,5,13,.94),rgba(48,5,13,.72))}
.brand{display:flex;align-items:center;gap:12px;width:max-content;padding:0;border:0;background:none;cursor:pointer;text-align:left}
.brand__flag{width:45px;height:31px;border-radius:8px;overflow:hidden;box-shadow:0 7px 18px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.28)}
.brand__flag svg{width:100%;height:100%;display:block}
.brand__copy{display:grid;line-height:.9}
.brand__copy strong{font:700 18px/1 Georgia,serif}
.brand__copy small{font:italic 600 15px/1 Georgia,serif;color:#ff4d56;margin-top:4px}
.top-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}
.top-progress__track{height:8px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.12);box-shadow:inset 0 1px 5px rgba(0,0,0,.25)}
.top-progress__track span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#3b91fb,#dfeeff);box-shadow:0 0 18px rgba(55,145,255,.55);transition:width .45s cubic-bezier(.2,.75,.25,1)}
body.is-exercise .top-progress__track span{background:linear-gradient(90deg,#ff4851,#fff0e6);box-shadow:0 0 18px rgba(255,60,70,.5)}
#top-progress-label{font-size:12px;font-weight:800;color:#dbe7fa;min-width:38px;text-align:right}
.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}
.icon-button,.language-chip{
  position:relative;
  width:42px;height:42px;
  display:grid;place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.055);
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.icon-button:hover,.language-chip:hover{transform:translateY(-2px);background:rgba(255,255,255,.105);border-color:rgba(255,255,255,.23);box-shadow:0 9px 24px rgba(0,0,0,.22)}
.icon-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-button--solid{background:rgba(255,255,255,.1)}
.language-chip{font-size:11px;font-weight:900;letter-spacing:.07em}
[data-tip]::after{
  content:attr(data-tip);
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  transform:translate(-50%,-4px);
  padding:7px 9px;
  white-space:nowrap;
  border-radius:8px;
  background:#020817;
  color:#fff;
  font-size:10px;
  font-weight:700;
  opacity:0;
  pointer-events:none;
  transition:.18s ease;
  box-shadow:0 10px 24px rgba(0,0,0,.3);
}
[data-tip]:hover::after{opacity:1;transform:translate(-50%,0)}
.music-button__pulse{position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:#ea3039;box-shadow:0 0 0 0 rgba(234,48,57,.5);animation:musicPulse 2.2s infinite}
@keyframes musicPulse{0%{box-shadow:0 0 0 0 rgba(234,48,57,.5)}70%{box-shadow:0 0 0 8px rgba(234,48,57,0)}100%{box-shadow:0 0 0 0 rgba(234,48,57,0)}}

#app{width:min(1400px,100%);margin:0 auto;padding:0 clamp(16px,4vw,64px)}
.landing{min-height:calc(100vh - 145px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);align-items:center;gap:clamp(30px,5vw,78px);padding:clamp(48px,8vh,100px) 0 66px}
.landing__copy{position:relative;z-index:5}
.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:#b8cbea;font-size:11px;font-weight:850;letter-spacing:.19em;text-transform:uppercase}
.eyebrow span{width:33px;height:2px;background:var(--red);box-shadow:0 0 14px rgba(213,37,49,.45)}
.landing h1{margin:0;color:#fff;font:500 clamp(64px,8vw,126px)/.76 Georgia,serif;letter-spacing:-.065em;text-shadow:0 16px 54px rgba(0,0,0,.2)}
.landing h1 span{white-space:nowrap}
.landing h1 em{color:#ff3d48;font-weight:500;font-size:.78em;letter-spacing:-.055em}
.landing__lead{max-width:660px;margin:32px 0 30px;color:#d4e0f1;font-size:clamp(17px,1.55vw,22px);line-height:1.62}
.landing__actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.primary-button,.secondary-button,.text-button{
  border:0;
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,opacity .22s ease,background .22s ease;
}
.primary-button{min-height:54px;padding:0 22px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;gap:14px;background:#fff;color:#071831;font-size:12px;font-weight:900;letter-spacing:.055em;box-shadow:0 15px 34px rgba(0,0,0,.23)}
.primary-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.primary-button:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(0,0,0,.3)}
.primary-button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}
.primary-button--hero{min-width:204px}
.text-button{padding:12px 4px;background:none;color:#d8e6fb;font-size:12px;font-weight:800;border-bottom:1px solid rgba(255,255,255,.25)}
.text-button:hover{color:#fff;border-color:#fff}
.creator-line{display:flex;align-items:center;gap:8px;margin-top:28px;color:#aebfd8;font-size:12px}.creator-line span{color:#ef3340}.creator-line strong{color:#fff}

.landing__visual{position:relative;min-height:590px;display:grid;place-items:center;isolation:isolate}
.hero-flag{position:absolute;width:76%;left:3%;top:2%;z-index:-1;filter:drop-shadow(0 26px 38px rgba(0,0,0,.22));animation:flagDrift 7s ease-in-out infinite}
.hero-flag svg{width:100%;display:block;overflow:visible}
@keyframes flagDrift{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-1deg) translateY(10px)}}
.hero-photo{position:relative;width:min(490px,80%);aspect-ratio:4/5;margin:0;border-radius:42px;overflow:hidden;background:#0b244a;box-shadow:0 34px 80px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.15);transform:rotate(3deg)}
.hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.02)}
.hero-photo__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(3,14,32,.82),transparent 52%),linear-gradient(130deg,rgba(9,50,108,.23),transparent 50%)}
.hero-photo figcaption{position:absolute;left:26px;right:26px;bottom:25px;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:end}.hero-photo figcaption span{grid-row:1/3;color:#ff414b;font:700 34px Georgia,serif}.hero-photo figcaption strong{font:600 22px Georgia,serif}.hero-photo figcaption small{color:#cbd7e7;font-size:11px}
.phrase-float{position:absolute;z-index:4;min-width:190px;padding:17px 18px;border-radius:17px;background:rgba(5,25,55,.82);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(16px);box-shadow:0 20px 45px rgba(0,0,0,.28);animation:cardFloat 6s ease-in-out infinite}.phrase-float small,.phrase-float span{display:block;color:#a9bedc;font-size:10px}.phrase-float strong{display:block;margin:5px 0;color:#fff;font:600 24px Georgia,serif}.phrase-float--one{left:1%;bottom:20%;transform:rotate(-5deg)}.phrase-float--two{right:0;top:20%;transform:rotate(5deg);animation-delay:1.5s}
@keyframes cardFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}

.course-view{min-height:calc(100vh - 150px);padding:36px 0 64px;display:grid;grid-template-rows:auto 1fr auto;gap:20px}
.module-context{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#c6d6ec;font-size:12px}.module-context__left{display:flex;align-items:center;gap:12px;min-width:0}.module-context__number{display:grid;place-items:center;min-width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);color:#fff;font-weight:900}.module-context__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-context__step{font-weight:800;color:#fff}
.lesson-card{position:relative;min-height:570px;border-radius:var(--radius);overflow:hidden;background:linear-gradient(145deg,rgba(12,42,87,.92),rgba(5,22,49,.9));border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow),0 0 0 1px rgba(255,255,255,.025) inset;backdrop-filter:blur(18px);transition:background .45s ease,border-color .45s ease,transform .3s ease}
body.is-exercise .lesson-card{background:linear-gradient(145deg,rgba(130,14,27,.94),rgba(55,5,13,.94));border-color:rgba(255,160,160,.18)}
.lesson-card.is-wrong{animation:shake .36s ease}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-9px)}55%{transform:translateX(8px)}75%{transform:translateX(-4px)}}
.card-inner{min-height:570px;padding:clamp(34px,5vw,74px);display:flex;flex-direction:column;justify-content:center}.card-inner--center{text-align:center;align-items:center}.card-kicker{display:inline-flex;width:max-content;align-items:center;gap:8px;margin-bottom:14px;color:#91bcf1;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.card-kicker::before{content:"";width:24px;height:2px;background:var(--red)}body.is-exercise .card-kicker{color:#ffb2b7}.card-title{max-width:900px;margin:0;color:#fff;font:600 clamp(38px,5vw,72px)/1.02 Georgia,serif;letter-spacing:-.035em}.card-title--medium{font-size:clamp(34px,4.2vw,58px)}.card-subtitle{max-width:900px;margin:18px auto 0;color:#d1deef;font-size:clamp(16px,1.6vw,21px);line-height:1.58}.card-subtitle--small{font-size:15px}.translation{color:#b7c8df}.support-label{display:inline-flex;align-items:center;gap:7px;margin-bottom:6px;color:#7faee9;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}body.is-exercise .support-label{color:#ffadb2}
.objective-grid{width:100%;max-width:990px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px}.objective{min-height:160px;padding:24px;border-radius:20px;text-align:left;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}.objective__number{display:block;color:#ff4650;font:700 30px Georgia,serif}.objective strong{display:block;margin:22px 0 7px;font-size:15px}.objective span:last-child{color:#aebfd7;font-size:12px;line-height:1.5}

.phrase-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.62fr);gap:28px;align-items:center;width:100%}.phrase-layout--single{grid-template-columns:1fr}.phrase-display{max-width:900px}.phrase-display__topline{display:flex;gap:8px;flex-wrap:wrap}.register-badge,.category-badge{padding:7px 10px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#c9d9ed}.phrase-es{margin:20px 0 8px;font:600 clamp(54px,7vw,96px)/.95 Georgia,serif;letter-spacing:-.045em}.phrase-en{margin:0;font-size:clamp(17px,1.6vw,22px)}.word-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.word-chip,.vocab-word{border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.065);padding:9px 12px;color:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:.2s ease}.word-chip:hover,.vocab-word:hover{transform:translateY(-2px);background:rgba(255,255,255,.12)}.example-box,.note-box{margin-top:22px;padding:18px 20px;border-radius:17px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.1);text-align:left}.example-box__es{font:600 19px Georgia,serif}.example-box__en{margin-top:6px;font-size:12px}.note-box{display:flex;align-items:flex-start;gap:12px;color:#c5d4e7;font-size:13px;line-height:1.55}.note-box__icon{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(236,43,54,.14);color:#ff5360}.context-media{position:relative;min-height:390px;border-radius:24px;overflow:hidden;background:#07182f;border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 50px rgba(0,0,0,.32)}.context-media img{width:100%;height:100%;min-height:390px;object-fit:cover}.context-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(2,10,24,.8),transparent 55%)}.context-media figcaption{position:absolute;z-index:2;left:16px;right:16px;bottom:14px;color:#dce8f8;font-size:9px;line-height:1.4}

.pronunciation-layout,.grammar-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:32px;align-items:center}.pronunciation-rule h2,.grammar-copy h2{margin:0 0 16px;font:600 clamp(38px,4.7vw,66px)/1.04 Georgia,serif}.pronunciation-rule p,.grammar-copy p{color:#c7d6e9;line-height:1.65}.sound-panel{padding:24px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11)}.sound-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.09)}.sound-row:last-of-type{border:0}.sound-row__label{font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#87afe3}.sound-row__value{font:600 28px Georgia,serif}.sound-row__value--heard{color:#ff6971}.ipa-line{display:block;margin-top:15px;color:#d7e5f6;font-family:"SFMono-Regular",Consolas,monospace;font-size:14px}.pronunciation-examples,.grammar-examples{display:grid;gap:12px;margin-top:14px}.mini-example,.grammar-example{position:relative;padding:16px 18px;border-radius:15px;background:rgba(0,0,0,.14);border:1px solid rgba(255,255,255,.09)}.mini-example strong,.grammar-example strong{display:block;font:600 18px Georgia,serif}.mini-example span,.grammar-example .translation{display:block;margin-top:5px;font-size:11px}.grammar-example__label{display:inline-block;margin-bottom:8px;color:#88b8f5;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}

.vocab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:30px}.vocab-item{min-height:150px;padding:20px;border-radius:19px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}.vocab-item__top{display:flex;align-items:center;justify-content:space-between;gap:10px}.vocab-word{padding:0;border:0;background:none;border-radius:0;font:600 22px Georgia,serif;text-align:left}.vocab-item__en{display:block;margin-top:9px;font-size:12px}.vocab-item small{display:inline-block;margin-top:10px;padding:4px 7px;border-radius:6px;background:rgba(255,255,255,.07);color:#a9bdd8;font-size:9px}.vocab-item p{margin:10px 0 0;color:#9fb1c8;font-size:11px;line-height:1.5}

.dialogue-wrap{width:min(960px,100%);margin:auto}.dialogue-title,.story-title{margin:0 0 24px;font:600 clamp(38px,4.8vw,66px)/1.04 Georgia,serif}.dialogue-list{display:grid;gap:10px}.dialogue-line{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;padding:15px 17px;border-radius:17px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}.dialogue-line:nth-child(even){margin-left:7%;background:rgba(53,126,221,.11)}.dialogue-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#10203d;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.18)}.dialogue-copy strong{display:block;font:600 17px Georgia,serif}.dialogue-copy span{display:block;margin-top:5px;font-size:11px}.story-wrap{width:min(970px,100%);margin:auto}.story-lines{display:grid;gap:10px;margin-top:24px}.story-line{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:16px;border-radius:17px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.story-line__number{color:#ff4b55;font:700 22px Georgia,serif}.story-line__copy strong{font:600 17px/1.45 Georgia,serif}.story-line__copy span{display:block;margin-top:4px;font-size:11px}.story-glossary{margin-top:18px}

.culture-card{min-height:570px;display:grid;grid-template-columns:minmax(340px,1.05fr) minmax(0,.95fr)}.culture-photo{position:relative;overflow:hidden}.culture-photo img{width:100%;height:100%;min-height:570px;object-fit:cover}.culture-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 58%,rgba(5,22,49,.96)),linear-gradient(to top,rgba(2,10,24,.5),transparent 45%)}.culture-photo__credit{position:absolute;z-index:2;left:15px;bottom:12px;max-width:80%;padding:6px 8px;border-radius:7px;background:rgba(2,9,22,.65);color:#e2eaf5;font-size:8px;line-height:1.4;backdrop-filter:blur(8px)}.culture-copy{padding:clamp(34px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.did-you-know{color:#ff515b;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.culture-copy h2{margin:12px 0 22px;font:600 clamp(38px,4.5vw,64px)/1.04 Georgia,serif}.culture-copy__es{margin:0;color:#eef4fc;font:500 18px/1.62 Georgia,serif}.culture-copy__en{margin:16px 0 0;font-size:13px;line-height:1.6}.culture-word{width:max-content;margin-top:24px}.insight-wrap{max-width:940px;margin:auto;text-align:center}.insight-icon{width:86px;height:86px;margin:0 auto 24px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(from 20deg,#0b4ea2 0 38%,#fff 38% 62%,#d11f2a 62%);box-shadow:0 22px 45px rgba(0,0,0,.3)}.insight-icon span{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#0b2148;color:#fff;font-size:26px}.insight-wrap h2{margin:0;font:600 clamp(40px,5vw,68px)/1.04 Georgia,serif}.insight-es{margin:24px auto 0;max-width:820px;font:500 19px/1.65 Georgia,serif}.insight-en{margin:14px auto 0;max-width:800px;color:#b8c9df;font-size:13px;line-height:1.6}

.proverb-wrap{max-width:900px}.proverb-mark{display:block;height:50px;color:#ff424d;font:700 78px/1 Georgia,serif}.proverb-es{margin:0;font:600 clamp(44px,5.8vw,82px)/1.05 Georgia,serif}.proverb-en{margin:18px 0 0;font-size:19px}.proverb-meaning{max-width:720px;margin:28px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:#c9d7e8;line-height:1.65}

.production-wrap{width:min(920px,100%);margin:auto}.production-prompt{margin:0 0 25px;font:500 clamp(28px,3.8vw,50px)/1.22 Georgia,serif}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.support-piece{padding:18px;border-radius:17px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}.support-piece strong{display:block;font:600 18px Georgia,serif}.support-piece span{display:block;margin-top:5px;color:#afc0d7;font-size:11px}.model-reveal{margin-top:22px}.model-reveal summary{width:max-content;cursor:pointer;padding:12px 16px;border-radius:13px;background:rgba(255,255,255,.08);font-size:11px;font-weight:850}.model-reveal__content{margin-top:12px;padding:20px;border-radius:18px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.09)}.model-reveal__content strong{display:block;font:600 22px Georgia,serif}.model-reveal__content span{display:block;margin-top:7px;color:#b9c9dd;font-size:12px}

.video-wrap{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);min-height:570px}.video-frame{position:relative;min-height:570px;background:#030a16}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-copy{padding:clamp(32px,4.5vw,62px);display:flex;flex-direction:column;justify-content:center}.video-copy h2{margin:0 0 20px;font:600 clamp(36px,4.5vw,62px)/1.06 Georgia,serif}.video-copy p{color:#c9d7e8;line-height:1.65}.source-link{display:inline-flex;width:max-content;align-items:center;gap:8px;margin-top:20px;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);text-decoration:none;font-size:11px;font-weight:800}.source-link:hover{background:rgba(255,255,255,.12)}

.recap-wrap{width:min(960px,100%);margin:auto;text-align:center}.recap-wrap h2{margin:0;font:600 clamp(42px,5vw,70px)/1.04 Georgia,serif}.recap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px}.recap-item{padding:24px 16px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}.recap-item strong{display:block;font:600 21px Georgia,serif}.recap-item span{display:block;margin-top:7px;color:#b9c9dc;font-size:11px}

.exercise-wrap{width:min(940px,100%);margin:auto}.exercise-head{text-align:center}.exercise-head .card-kicker{justify-content:center;margin-inline:auto}.exercise-head h2{margin:0;font:600 clamp(38px,5vw,66px)/1.08 Georgia,serif}.exercise-prompt-sub{display:inline-block;margin-top:15px;padding:11px 14px;border-radius:13px;background:rgba(0,0,0,.18);font:600 18px Georgia,serif}.exercise-stage{margin-top:30px}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.option-button,.order-token,.match-button{min-height:62px;padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.16);color:#fff;text-align:left;cursor:pointer;transition:.18s ease}.option-button:hover,.order-token:hover,.match-button:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}.option-button.is-selected{background:#fff;color:#4b0810;border-color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.22)}.option-button.is-correct{background:#eaf8ef;color:#14512d;border-color:#93ddb0}.option-button.is-wrong{background:#32070c;color:#ffc9cc;border-color:#ff646d}.type-answer input{width:100%;height:66px;padding:0 20px;border:1px solid rgba(255,255,255,.18);border-radius:17px;background:rgba(0,0,0,.18);color:#fff;outline:none;font-size:18px}.type-answer input:focus{border-color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.08)}.type-clue{margin-top:10px;color:#ffc2c6;font-size:11px}.order-zone{min-height:90px;padding:13px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;border-radius:18px;background:rgba(0,0,0,.17);border:1px dashed rgba(255,255,255,.25)}.order-zone:empty::before{content:"Tap the words to build the sentence";color:rgba(255,255,255,.48);font-size:12px;margin:auto}.order-bank{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.order-token{min-height:44px;padding:11px 14px;text-align:center;background:rgba(255,255,255,.08)}.order-token.is-used{opacity:.3;pointer-events:none}.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.match-column{display:grid;gap:9px}.match-button{min-height:52px}.match-button.is-selected{background:#fff;color:#4a0710}.match-button.is-matched{background:rgba(74,190,124,.25);border-color:#73d7a0;opacity:.68;pointer-events:none}.exercise-feedback{display:none;margin-top:18px;padding:17px 19px;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);line-height:1.55}.exercise-feedback.is-visible{display:block;animation:feedbackIn .3s ease}.exercise-feedback strong{display:block;margin-bottom:5px}.exercise-feedback.is-correct strong{color:#bdf3ce}.exercise-feedback.is-wrong strong{color:#ffd0d3}@keyframes feedbackIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.completion-wrap{max-width:940px;margin:auto;text-align:center}.completion-star{font-size:58px;color:#ff3e49;text-shadow:0 0 30px rgba(255,43,55,.35)}.completion-wrap h2{margin:12px 0;font:600 clamp(48px,6vw,86px)/1 Georgia,serif}.completion-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.completion-point{padding:22px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);color:#c5d4e7;line-height:1.55}.final-phrase{margin:28px auto 0;padding:24px;border-radius:20px;background:#fff;color:#092044;max-width:580px}.final-phrase strong{display:block;font:600 38px Georgia,serif}.final-phrase span{display:block;margin-top:8px;color:#4c607d}

.course-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:20px;min-height:66px}.step-dots{display:flex;gap:5px;max-width:45%;overflow:hidden}.step-dot{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:rgba(255,255,255,.18)}.step-dot.is-current{width:18px;border-radius:999px;background:#fff}.continue-button{position:relative;overflow:hidden;min-width:210px}.continue-button__fill{position:absolute;z-index:0;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,rgba(44,129,237,.32),rgba(44,129,237,.12));transition:width .1s linear}.continue-button__label,.continue-button svg{position:relative;z-index:1}.continue-button.is-checking{background:#fff}.continue-button.is-success{background:#eaf8ef;color:#14512d}.continue-button.is-wrong{background:#3a0710;color:#fff}.continue-button:disabled{opacity:.7}

.site-footer{min-height:68px;padding:18px clamp(18px,4vw,62px) calc(18px + var(--safe-bottom));display:flex;align-items:center;justify-content:center;gap:12px;color:#8095b3;font-size:10px}.site-footer a{text-decoration:none}.site-footer a:hover{color:#fff}.site-footer span::before{content:"·";margin-right:12px}

.modal-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:clamp(10px,3vw,36px)}.modal-backdrop{position:absolute;inset:0;background:rgba(0,6,18,.72);backdrop-filter:blur(18px)}.modal{position:relative;width:min(1080px,100%);max-height:min(840px,92vh);overflow:hidden;border-radius:28px;background:linear-gradient(145deg,#0b234a,#06152e);border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 100px rgba(0,0,0,.55);animation:modalIn .26s ease}.modal--narrow{width:min(680px,100%)}@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.modal__header{min-height:80px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(255,255,255,.09)}.modal__eyebrow{display:block;color:#7faee9;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.modal__header h2{margin:5px 0 0;font:600 29px Georgia,serif}.modal__body{max-height:calc(min(840px,92vh) - 80px);overflow:auto;padding:22px;overscroll-behavior:contain}.modal-empty{padding:50px 20px;text-align:center;color:#aebfd6}.modal-empty strong{display:block;color:#fff;font:600 24px Georgia,serif;margin-bottom:8px}
.route-list{display:grid;gap:10px}.route-item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:15px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.route-item__number{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.07);font-weight:900}.route-item strong{display:block}.route-item small{display:block;margin-top:4px;color:#93a8c4}.route-item__status{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#7896bb}.route-item.is-complete{border-color:rgba(75,197,128,.28)}.route-item.is-complete .route-item__status{color:#8ee1ae}.route-item.is-active{border-color:#4b91ed;background:rgba(43,120,219,.12)}
.review-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.review-search{flex:1 1 260px;height:46px;padding:0 14px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.14);color:#fff;outline:none}.review-tabs{display:flex;gap:6px;flex-wrap:wrap}.review-tab{padding:10px 12px;border-radius:11px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#c7d6e8;font-size:10px;font-weight:850;cursor:pointer}.review-tab.is-active{background:#fff;color:#0a1d3e}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.review-card{padding:17px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);min-height:120px}.review-card strong{display:block;font:600 20px Georgia,serif}.review-card span{display:block;margin-top:6px;color:#adbed4;font-size:11px;line-height:1.5}.review-card small{display:inline-block;margin-top:12px;color:#6fa5e8;font-size:9px;font-weight:900;text-transform:uppercase}.module-practice-list{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.module-practice{padding:17px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}.module-practice h3{margin:0;font:600 20px Georgia,serif}.module-practice p{margin:7px 0 15px;color:#aebfd5;font-size:11px}.module-practice button{padding:10px 12px;border:0;border-radius:11px;background:#fff;color:#0b2146;font-size:10px;font-weight:900;cursor:pointer}.flash-practice{display:grid;gap:16px}.flash-progress{color:#8fa7c5;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.flashcard{min-height:330px;padding:30px;display:grid;place-items:center;text-align:center;border-radius:24px;background:var(--cream);color:#10203d;cursor:pointer;box-shadow:0 24px 48px rgba(0,0,0,.25)}.flashcard strong{font:600 clamp(36px,5vw,64px) Georgia,serif}.flashcard span{display:block;margin-top:18px;color:#60708a;font-size:15px;opacity:0;transform:translateY(8px);transition:.25s}.flashcard.is-revealed span{opacity:1;transform:none}.flash-actions{display:flex;justify-content:space-between;gap:10px}.flash-actions button{flex:1;height:48px;border:0;border-radius:13px;background:rgba(255,255,255,.08);color:#fff;font-weight:850;cursor:pointer}.flash-actions button:last-child{background:#fff;color:#0a2145}
.language-options{display:grid;gap:10px}.language-option{position:relative;padding:17px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);cursor:pointer;text-align:left}.language-option.is-active{border-color:#4c91eb;background:rgba(47,128,230,.13)}.language-option strong{display:block}.language-option span{display:block;margin-top:5px;color:#aebfd6;font-size:11px;line-height:1.5}.settings-section+ .settings-section{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09)}.settings-section h3{margin:0 0 12px;font:600 19px Georgia,serif}.danger-button{padding:11px 14px;border:1px solid rgba(255,89,99,.35);border-radius:12px;background:rgba(213,37,49,.11);color:#ffbfc3;font-size:10px;font-weight:900;cursor:pointer}

.music-player{position:fixed;right:18px;top:92px;z-index:95;max-width:410px;display:grid;grid-template-columns:48px 1fr repeat(3,38px);gap:10px;align-items:center;padding:10px;border-radius:18px;background:rgba(5,20,45,.94);border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 55px rgba(0,0,0,.4);backdrop-filter:blur(20px)}.music-player__art{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#1b69cc,#a40d1b);font-size:22px}.music-player__copy{min-width:0}.music-player__copy small{display:block;color:#84a8d7;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.music-player__copy strong{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.music-pause-icon{display:none}.music-player.is-playing .music-play-icon{display:none}.music-player.is-playing .music-pause-icon{display:block}
.word-popover{position:fixed;z-index:120;width:min(310px,calc(100vw - 24px));padding:16px;border-radius:16px;background:#fff;color:#10203d;box-shadow:0 24px 60px rgba(0,0,0,.42)}.word-popover strong{display:block;font:600 21px Georgia,serif}.word-popover span{display:block;margin-top:6px;color:#4e607a;font-size:12px}.word-popover p{margin:10px 0 0;padding-top:10px;border-top:1px solid #e1e6ed;color:#6c7a8e;font-size:11px;line-height:1.5}.toast{position:fixed;z-index:130;left:50%;bottom:calc(22px + var(--safe-bottom));transform:translate(-50%,10px);padding:12px 16px;border-radius:12px;background:#fff;color:#0b1c3a;font-size:11px;font-weight:800;box-shadow:0 18px 45px rgba(0,0,0,.35);opacity:0;transition:.22s ease}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.mobile-nav{display:none}

@media (max-width:1050px){
  .topbar{grid-template-columns:1fr minmax(160px,260px) 1fr}.landing{grid-template-columns:1fr;min-height:auto}.landing__copy{text-align:center}.eyebrow,.landing__actions,.creator-line{justify-content:center}.landing__lead{margin-left:auto;margin-right:auto}.landing__visual{min-height:520px}.objective-grid{grid-template-columns:1fr}.phrase-layout,.pronunciation-layout,.grammar-layout,.video-wrap{grid-template-columns:1fr}.context-media{min-height:310px}.context-media img{min-height:310px}.video-frame{min-height:420px}.culture-card{grid-template-columns:1fr}.culture-photo img,.culture-photo{min-height:390px}.culture-photo::after{background:linear-gradient(to top,rgba(5,22,49,.97),transparent 60%)}.vocab-grid{grid-template-columns:repeat(2,1fr)}.recap-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:760px){
  body{padding-bottom:calc(70px + var(--safe-bottom))}.topbar{position:sticky;grid-template-columns:1fr auto;padding:calc(9px + var(--safe-top)) 13px 9px;min-height:62px}.brand__flag{width:37px;height:26px}.brand__copy strong{font-size:15px}.brand__copy small{font-size:13px}.top-progress{grid-column:1/-1;grid-row:2;gap:8px}.top-progress__track{height:6px}.top-actions{display:none}#app{padding:0 12px}.landing{padding:46px 0 38px;gap:20px}.landing h1{font-size:clamp(58px,21vw,92px)}.landing__lead{font-size:15px}.landing__visual{min-height:430px}.hero-photo{width:72%;border-radius:29px}.hero-flag{width:85%;left:0}.phrase-float{min-width:150px;padding:13px}.phrase-float strong{font-size:19px}.phrase-float--one{left:0}.phrase-float--two{right:0}.course-view{padding:20px 0 30px;gap:12px}.module-context__title{max-width:65vw}.lesson-card,.card-inner{min-height:calc(100svh - 245px)}.lesson-card{border-radius:22px}.card-inner{padding:28px 20px}.card-title{font-size:38px}.card-subtitle{font-size:14px}.objective-grid{margin-top:25px}.objective{min-height:0}.phrase-es{font-size:54px}.phrase-layout{gap:18px}.context-media{min-height:250px}.context-media img{min-height:250px}.pronunciation-layout,.grammar-layout{gap:18px}.sound-row{grid-template-columns:90px 1fr}.sound-row__value{font-size:22px}.vocab-grid{grid-template-columns:1fr}.dialogue-line:nth-child(even){margin-left:0}.dialogue-line{grid-template-columns:38px 1fr}.culture-photo,.culture-photo img{min-height:300px}.culture-copy{padding:28px 20px}.culture-copy h2{font-size:37px}.culture-copy__es{font-size:16px}.video-frame{min-height:280px}.video-copy{padding:28px 20px}.video-copy h2{font-size:36px}.recap-grid,.support-grid,.completion-points{grid-template-columns:1fr}.options-grid{grid-template-columns:1fr}.match-grid{grid-template-columns:1fr}.course-controls{position:sticky;bottom:calc(68px + var(--safe-bottom));z-index:40;padding:7px;border-radius:18px;background:rgba(4,16,38,.8);backdrop-filter:blur(18px);box-shadow:0 12px 35px rgba(0,0,0,.28)}body.is-exercise .course-controls{background:rgba(59,5,13,.82)}.step-dots{display:none}.continue-button{width:100%;min-height:52px}.site-footer{display:none}.mobile-nav{position:fixed;z-index:80;left:10px;right:10px;bottom:calc(8px + var(--safe-bottom));height:58px;display:grid;grid-template-columns:repeat(4,1fr);padding:5px;border-radius:17px;background:rgba(4,17,39,.94);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 45px rgba(0,0,0,.4);backdrop-filter:blur(20px)}body.is-exercise .mobile-nav{background:rgba(55,5,13,.95)}.mobile-nav button{display:grid;place-items:center;align-content:center;gap:2px;border:0;background:none;color:#d9e5f5;cursor:pointer}.mobile-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-nav span{font-size:8px;font-weight:800}.mobile-nav__language{font-size:12px!important;line-height:18px}.modal-layer{padding:8px}.modal{border-radius:20px;max-height:94svh}.modal__body{padding:14px;max-height:calc(94svh - 72px)}.modal__header{min-height:72px;padding:14px}.review-grid,.module-practice-list{grid-template-columns:1fr}.music-player{left:10px;right:10px;top:auto;bottom:calc(76px + var(--safe-bottom));max-width:none;grid-template-columns:43px 1fr repeat(3,36px)}
}

@media (max-width:440px){
  .eyebrow{font-size:9px}.landing__actions{display:grid}.primary-button--hero{width:100%}.text-button{justify-self:center}.landing__visual{min-height:370px}.phrase-float--two{top:12%}.phrase-float--one{bottom:12%}.module-context{font-size:10px}.module-context__number{min-width:32px;height:32px}.lesson-card,.card-inner{min-height:calc(100svh - 230px)}.card-inner{padding:24px 16px}.phrase-es{font-size:46px}.pronunciation-rule h2,.grammar-copy h2,.dialogue-title,.story-title{font-size:35px}.sound-row{grid-template-columns:1fr}.sound-row__label{margin-bottom:-8px}.culture-copy h2{font-size:34px}.exercise-head h2{font-size:35px}.option-button{min-height:56px}.flashcard{min-height:300px}.music-player__copy strong{max-width:130px}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* Completion certificate */
.certificate-form{width:min(660px,100%);margin:24px auto 0;padding:18px;display:grid;grid-template-columns:1fr auto;gap:10px;text-align:left;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}
.certificate-form label{grid-column:1/-1;color:#8fb4e5;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.certificate-form input{min-width:0;height:50px;padding:0 15px;border-radius:13px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.16);color:#fff;outline:none}
.certificate-form input:focus{border-color:#7cb3f6;box-shadow:0 0 0 4px rgba(55,137,234,.12)}
.certificate-form button{height:50px;padding:0 17px;border:0;border-radius:13px;background:#fff;color:#0b2146;font-size:10px;font-weight:900;cursor:pointer}
@media (max-width:560px){.certificate-form{grid-template-columns:1fr}.certificate-form button{width:100%}}

@media print{
  body{background:#fff!important;color:#111!important;padding:0!important}
  .ambient,.topbar,.course-controls,.mobile-nav,.site-footer,.module-context,.music-player,.modal-layer,.toast,.word-popover{display:none!important}
  #app{width:100%;padding:0}
  .course-view{display:block!important;padding:0}
  .lesson-card{min-height:100vh;border:0!important;border-radius:0!important;background:#fff!important;color:#10203d!important;box-shadow:none!important}
  .card-inner{min-height:100vh;padding:70px}
  .completion-wrap h2,.completion-wrap p,.completion-point{color:#10203d!important}
  .completion-point{background:#f5f7fa!important;border-color:#dfe5ed!important}
  .certificate-form{border-color:#dfe5ed;background:#f7f8fa}
  .certificate-form button{display:none}
  .certificate-form input{border:0;background:transparent;color:#10203d;text-align:center;font:600 30px Georgia,serif}
}


/* V2 REFIXED · Real audio, profile preview and creator access */
body.auth-open{overflow:hidden}.auth-gate{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 18% 16%,rgba(39,119,231,.28),transparent 31%),radial-gradient(circle at 86% 84%,rgba(207,23,38,.22),transparent 29%),linear-gradient(145deg,rgba(3,14,35,.98),rgba(5,25,57,.98));overflow:auto}.auth-gate[hidden]{display:none!important}.auth-card{position:relative;width:min(470px,100%);padding:34px;border-radius:28px;background:linear-gradient(155deg,rgba(12,39,82,.95),rgba(5,20,47,.97));border:1px solid rgba(255,255,255,.15);box-shadow:0 42px 100px rgba(0,0,0,.52);backdrop-filter:blur(24px)}.auth-card::after{content:"";position:absolute;inset:auto 24px 0;height:3px;border-radius:99px;background:linear-gradient(90deg,#1f70d7,#fff,#d51f2a)}.auth-brand{display:flex;align-items:center;gap:13px;margin-bottom:26px}.auth-brand__flag{width:48px;height:36px;display:grid;place-items:center;border-radius:11px;background:#fff;font-size:25px}.auth-brand strong,.auth-brand em{display:block}.auth-brand strong{font:600 21px Georgia,serif}.auth-brand em{color:#ff3b48;font:italic 600 18px Georgia,serif}.auth-eyebrow{display:block;margin-bottom:10px;color:#78a9e8;font-size:9px;font-weight:950;letter-spacing:.17em}.auth-card h1{margin:0;font:600 clamp(37px,7vw,54px)/1 Georgia,serif;letter-spacing:-.035em}.auth-card>p{margin:15px 0 23px;color:#b8c9df;font-size:13px;line-height:1.65}.auth-form{display:grid;gap:12px}.auth-form label,.profile-field{display:grid;gap:7px;color:#9fb8d8;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.auth-form input,.profile-field input{width:100%;height:50px;padding:0 14px;box-sizing:border-box;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(0,0,0,.19);color:#fff;font:600 13px Arial,sans-serif;outline:none}.auth-form input:focus,.profile-field input:focus{border-color:#62a2f1;box-shadow:0 0 0 4px rgba(48,128,229,.13)}.auth-submit{height:53px;margin-top:5px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:14px;background:#fff;color:#0b2348;font-size:11px;font-weight:950;cursor:pointer}.auth-submit b{font-size:22px}.auth-create{display:inline-block;margin-top:18px;color:#dceaff;font-size:11px;font-weight:800;text-decoration:none}.auth-preview-note{display:block;margin-top:10px;color:#7790b0;font-size:9px}
.profile-button{width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:rgba(255,255,255,.06);cursor:pointer;color:#fff}.profile-button__avatar,.mobile-profile-avatar,.profile-editor__avatar{display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#1f6ecf,#b71121);background-position:center;background-size:cover;color:#fff;font-size:10px;font-weight:950}.profile-button__avatar{width:100%;height:100%}.profile-button__avatar.has-image,.mobile-profile-avatar.has-image,.profile-editor__avatar.has-image{color:transparent}.mobile-profile-avatar{width:20px;height:20px;font-size:7px}.creator-button.is-active,.creator-fab.is-active{background:linear-gradient(145deg,#df2632,#85101c)!important;color:#fff!important;box-shadow:0 0 0 4px rgba(216,31,44,.12),0 0 25px rgba(216,31,44,.28)}.creator-fab{display:none;position:fixed;right:14px;bottom:calc(78px + var(--safe-bottom));z-index:84;width:42px;height:42px;padding:10px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(7,28,60,.94);color:#fff;box-shadow:0 14px 35px rgba(0,0,0,.4)}.creator-fab svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8}.route-open-button{min-height:35px;padding:0 12px;border:0;border-radius:10px;background:#fff;color:#0a2145;font-size:9px;font-weight:950;cursor:pointer}.music-player{display:none!important}.music-muted-icon{display:none}.music-button.is-muted .music-sound-icon{display:none}.music-button.is-muted .music-muted-icon{display:block}.music-button.is-muted .music-button__pulse{display:none}
.dialogue-audio-control{position:relative;width:100%;min-height:64px;margin:18px 0 22px;padding:11px 15px;display:grid;grid-template-columns:42px minmax(0,1fr) 62px;align-items:center;gap:12px;overflow:hidden;border:1px solid rgba(100,167,245,.25);border-radius:17px;background:linear-gradient(135deg,rgba(37,116,211,.14),rgba(255,255,255,.045));color:#fff;text-align:left;cursor:pointer}.dialogue-audio-control__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#0a2857}.dialogue-audio-control__icon svg{width:19px;height:19px;fill:currentColor}.dialogue-pause-icon{display:none}.dialogue-audio-control.is-playing .dialogue-play-icon{display:none}.dialogue-audio-control.is-playing .dialogue-pause-icon{display:block}.dialogue-audio-control__copy strong{display:block;font-size:11px}.dialogue-audio-control__copy small{display:block;margin-top:4px;color:#91add0;font-size:9px}.dialogue-audio-control__time{color:#aac1df;font-size:9px;font-weight:850;text-align:right}.dialogue-audio-control__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#2b87ef,#fff) no-repeat,rgba(255,255,255,.06);background-size:var(--audio-progress,0%) 100%,100% 100%;transition:background-size .12s linear}
.profile-editor{display:grid;gap:17px}.profile-editor__top{display:flex;align-items:center;gap:14px}.profile-editor__avatar{flex:0 0 64px;width:64px;height:64px;font-size:17px;border:2px solid rgba(255,255,255,.35)}.profile-editor__top strong{display:block;font:600 22px Georgia,serif}.profile-editor__top span:not(.profile-editor__avatar){display:block;margin-top:5px;color:#92abc9;font-size:10px}.profile-photo-button{height:46px;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.04);color:#dbe9fb;font-size:10px;font-weight:900;cursor:pointer}.profile-photo-button input{position:absolute;width:1px;height:1px;opacity:0}.community-card{position:relative;min-height:76px;padding:14px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(135deg,rgba(35,111,204,.12),rgba(213,31,42,.07));color:#fff;text-decoration:none}.community-card__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#2675d4,#b51724);font-size:23px}.community-card strong{display:block;font-size:11px}.community-card small{display:block;margin-top:5px;color:#9eb5d2;font-size:9px;line-height:1.45}.community-card__tooltip{position:absolute;left:14px;right:14px;bottom:calc(100% + 10px);padding:12px;border-radius:12px;background:#fff;color:#10203d;font-size:10px;line-height:1.5;box-shadow:0 18px 45px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .18s .5s,transform .18s .5s,visibility 0s .68s;pointer-events:none;z-index:3}.community-card:hover .community-card__tooltip,.community-card:focus-visible .community-card__tooltip{opacity:1;visibility:visible;transform:none;transition-delay:.5s,.5s,0s}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-actions button{height:44px;border:0;border-radius:12px;font-size:9px;font-weight:950;cursor:pointer}.profile-actions button:first-child{background:#fff;color:#0a2147}.profile-actions button:last-child{background:rgba(213,31,43,.12);border:1px solid rgba(255,86,97,.25);color:#ffbdc2}.profile-preview-note{padding:12px;border-radius:12px;background:rgba(255,255,255,.035);color:#7791b2;font-size:9px;line-height:1.55}
@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(5,1fr)}.creator-fab{display:block}.auth-card{padding:27px 21px}.dialogue-audio-control{grid-template-columns:40px 1fr 44px}.profile-actions{grid-template-columns:1fr}}@media(max-width:440px){.auth-gate{padding:10px}.auth-card{padding:23px 16px}.dialogue-audio-control__copy small{max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media print{.auth-gate,.creator-fab{display:none!important}}

/* V3 Expanded: layout, reading, media, language flags, loading and music controls */
.support-label,.context-media figcaption,.culture-photo__credit{display:none!important}
.phrase-layout{align-items:stretch}
.context-media{align-self:stretch;min-height:clamp(330px,48vh,560px);aspect-ratio:4/3}
.context-media img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
.culture-card{align-items:stretch}
.culture-photo{min-height:clamp(420px,62vh,660px)}
.culture-photo img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}

.dialogue-line.speaker-a{border-left:3px solid #e52a35;background:linear-gradient(90deg,rgba(213,31,42,.11),rgba(255,255,255,.04))}
.dialogue-line.speaker-b{border-left:3px solid #3d8ff2;background:linear-gradient(90deg,rgba(36,122,232,.13),rgba(255,255,255,.04))}
.dialogue-avatar.speaker-a{background:#d7212e;color:#fff;box-shadow:0 8px 20px rgba(215,33,46,.24)}
.dialogue-avatar.speaker-b{background:#176fcf;color:#fff;box-shadow:0 8px 20px rgba(23,111,207,.25)}
.dialogue-line:nth-child(even){margin-left:7%}

.story-reading{position:relative;margin-top:25px;padding:clamp(24px,4vw,46px);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.1);user-select:text;outline:none;min-height:300px}
.story-reading p{margin:0;color:#f4f7fb;font:500 clamp(20px,2.15vw,28px)/1.78 Georgia,serif;letter-spacing:.002em}
.story-translation{margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:#b9cbe2;font:500 15px/1.72 Arial,sans-serif;opacity:0;transform:translateY(8px);transition:opacity .28s ease 1s,transform .28s ease 1s}
.story-reading:hover .story-translation,.story-reading:focus-within .story-translation,.story-reading:focus .story-translation{opacity:1;transform:none}
.story-hover-hint{display:block;margin-top:18px;color:#7198ca;font:750 9px/1.4 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:opacity .2s}
.story-reading:hover .story-hover-hint,.story-reading:focus .story-hover-hint{opacity:0}
.lexeme{position:relative;border-radius:5px;box-shadow:inset 0 -2px rgba(68,146,243,.58);cursor:pointer;transition:.18s ease;outline:none}
.lexeme:hover,.lexeme:focus,.lexeme.is-active{color:#fff;background:rgba(45,132,239,.2);box-shadow:inset 0 -3px #338cf0,0 0 16px rgba(48,139,240,.13)}
.lexeme-breakdown{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid #e1e7ef}
.lexeme-breakdown small{width:100%;color:#77869a;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.lexeme-part{padding:7px 9px;border-radius:9px;border:1px solid #d7e0ea;background:#f1f5f9;color:#12305b;font-size:10px;font-weight:850;cursor:pointer}
.word-popover p b{color:#153a70}

.language-chip{width:43px;min-width:43px;padding:0;border-radius:50%}
.language-chip__flag{font-size:21px;filter:saturate(1.08);line-height:1}
.language-options--flags{grid-template-columns:repeat(3,1fr);gap:13px}
.language-option--flag{text-align:center;min-height:174px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:19px 12px}
.language-option--flag .language-flag-circle{width:62px;height:62px;display:grid;place-items:center;margin-bottom:12px;border-radius:50%;font-size:35px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.24),0 0 0 4px rgba(255,255,255,.07)}
.language-option--flag strong{font:600 17px Georgia,serif}
.language-option--flag span:last-child{font-size:10px;line-height:1.45}
.language-option--flag.is-active .language-flag-circle{box-shadow:0 0 0 3px #3e94f4,0 12px 30px rgba(40,122,224,.3)}

.music-control-group{display:flex;align-items:center;gap:7px}
.music-inline-volume{display:flex;align-items:center;gap:6px;width:88px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}
.music-inline-volume span{color:#ff6670;font-size:7px;font-weight:950;letter-spacing:.12em}
.music-inline-volume input,.settings-volume input{appearance:none;-webkit-appearance:none;width:100%;height:4px;border-radius:999px;background:linear-gradient(90deg,#e31f2b,#83101a);outline:none;cursor:pointer}
.music-inline-volume input::-webkit-slider-thumb,.settings-volume input::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid #d51f2a;box-shadow:0 0 0 3px rgba(213,31,42,.14)}
.music-inline-volume input::-moz-range-thumb,.settings-volume input::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#fff;border:3px solid #d51f2a}
.settings-volume{display:grid;grid-template-columns:1fr 42px;gap:12px;align-items:center}.settings-volume span{font-size:10px;font-weight:900;color:#ff8188;text-align:right}

.course-loader{position:fixed;z-index:300;inset:0;display:grid;place-items:center;align-content:center;gap:13px;background:radial-gradient(circle at 50% 42%,#123466 0,#061a3b 36%,#020c1c 78%);opacity:0;transition:opacity .22s ease}
.course-loader[hidden]{display:none}.course-loader.is-visible{opacity:1}
.course-loader__flag{width:min(310px,65vw);filter:drop-shadow(0 25px 38px rgba(0,0,0,.35));animation:loaderFlag 1.15s ease-in-out infinite alternate;perspective:700px}
.course-loader__flag svg{width:100%;display:block;transform-origin:left center;animation:loaderWave .75s ease-in-out infinite alternate}
.course-loader strong{font:600 clamp(32px,5vw,58px)/1 Georgia,serif;color:#fff}.course-loader strong em{color:#ef3039;font-weight:500}
.course-loader>span{color:#a9bed9;font-size:11px;letter-spacing:.08em}.course-loader>i{width:160px;height:3px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.course-loader>i::after{content:"";display:block;width:42%;height:100%;background:#e52834;animation:loaderBar 1.1s ease-in-out infinite}
@keyframes loaderWave{from{transform:rotateY(-8deg) skewY(-1deg)}to{transform:rotateY(8deg) skewY(1deg)}}
@keyframes loaderFlag{from{transform:translateY(3px)}to{transform:translateY(-5px)}}
@keyframes loaderBar{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}

.hero-flag{width:112%!important;left:-13%!important;top:0!important;z-index:-1!important;opacity:.98;filter:drop-shadow(0 30px 48px rgba(0,0,0,.32));animation:heroFlagFloat 5.8s ease-in-out infinite}
.hero-flag svg{transform-origin:left center;animation:heroFlagWave 2.3s ease-in-out infinite alternate}
.hero-photo{z-index:2}
@keyframes heroFlagFloat{0%,100%{transform:translateY(-4px) rotate(-2deg)}50%{transform:translateY(8px) rotate(1deg)}}
@keyframes heroFlagWave{from{transform:perspective(800px) rotateY(-5deg) skewY(-1.2deg)}to{transform:perspective(800px) rotateY(7deg) skewY(1.2deg)}}

.video-frame--lazy{position:relative;display:grid;place-items:center;overflow:hidden;background:#020916;isolation:isolate}
.video-frame--lazy img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.62);transition:.35s ease}
.video-frame--lazy::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(2,13,31,.35),rgba(3,8,20,.65));z-index:1}
.video-load-button{position:relative;z-index:2;display:grid;place-items:center;gap:8px;padding:0;border:0;background:none;color:#fff;cursor:pointer}
.video-load-button span{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:#e6212b;font-size:26px;box-shadow:0 18px 40px rgba(0,0,0,.35),0 0 0 8px rgba(230,33,43,.13);transition:.25s}
.video-load-button b{font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.video-load-button:hover span{transform:scale(1.08);box-shadow:0 20px 46px rgba(0,0,0,.42),0 0 0 12px rgba(230,33,43,.12)}
.video-frame__fallback{position:absolute;z-index:2;bottom:12px;left:14px;right:14px;color:rgba(255,255,255,.65);font-size:9px;text-align:center}
.video-frame--lazy.is-loaded::after,.video-frame--lazy.is-loaded img,.video-frame--lazy.is-loaded .video-load-button,.video-frame--lazy.is-loaded .video-frame__fallback{display:none}
.video-frame--lazy iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-channel{display:inline-block;margin-bottom:10px;padding:6px 9px;border-radius:999px;background:rgba(213,31,42,.14);color:#ff7c84;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

.order-or{display:flex;align-items:center;gap:12px;margin:18px 0 11px;color:#b5c4d8;font-size:9px;text-transform:uppercase;letter-spacing:.11em}.order-or::before,.order-or::after{content:"";height:1px;flex:1;background:rgba(255,255,255,.12)}
.order-type-input{width:100%;height:54px;padding:0 16px;box-sizing:border-box;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.16);color:#fff;font-size:15px;outline:none}.order-type-input:focus{border-color:#438eea;box-shadow:0 0 0 4px rgba(67,142,234,.12)}

.community-card__icon--logo{overflow:hidden;background:#fff!important;padding:0!important}.community-card__icon--logo img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.community-card__tooltip{transition-delay:.5s!important}

@media(max-width:1050px){.music-inline-volume{display:none}.language-options--flags{grid-template-columns:1fr}.language-option--flag{min-height:130px}.context-media{aspect-ratio:16/10;min-height:310px}.culture-photo{min-height:390px}}
@media(max-width:760px){.hero-flag{width:115%!important;left:-8%!important}.story-reading{min-height:0;padding:22px 18px}.story-reading p{font-size:18px;line-height:1.68}.story-translation{font-size:13px}.dialogue-line:nth-child(even){margin-left:0}.video-frame--lazy{min-height:260px}.language-option--flag{display:grid;grid-template-columns:68px 1fr;text-align:left;min-height:90px}.language-option--flag .language-flag-circle{grid-row:1/3;margin:0;width:54px;height:54px;font-size:30px}.language-option--flag strong,.language-option--flag span:last-child{text-align:left}.community-card__icon--logo{width:52px;height:52px}}

@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(5,1fr)!important}}
