:root{--bg-gradient: radial-gradient(circle at 15% 15%, rgba(96, 149, 255, .35), transparent 45%), radial-gradient(circle at 85% 0%, rgba(255, 89, 141, .3), transparent 50%), linear-gradient(135deg, #0f172a, #020617 55%, #111827);--bg-surface: rgba(15, 23, 42, .82);--glass-border: rgba(148, 163, 184, .18);--accent: #60a5fa;--accent-strong: #2563eb;--text-primary: #f8fafc;--text-secondary: rgba(226, 232, 240, .75);--muted: rgba(148, 163, 184, .55);--success: #34d399;--warning: #fbbf24;--danger: #f87171;--card-radius: 18px;--transition: all .25s ease}*,*:before,*:after{box-sizing:border-box}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;margin:0;background:var(--bg-gradient);color:var(--text-primary);min-height:100vh}a{color:var(--accent);transition:color .2s ease}a:hover{color:var(--accent-strong)}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-gradient)}.app-main{flex:1;padding-top:clamp(2rem,4vw,4rem);padding-bottom:clamp(.5rem,1.6vw,1.1rem)}.glass-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#02061773;border-bottom:1px solid var(--glass-border);padding:1.15rem 0}.glass-nav .navbar-brand{font-family:Space Grotesk,sans-serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary)}.glass-nav .nav-link{color:var(--text-secondary);font-weight:500;border-radius:999px;padding:.45rem 1rem!important;transition:var(--transition)}.glass-nav .nav-link:hover,.glass-nav .nav-link.active{color:var(--text-primary);background:#6095ff26}.btn-outline-pill{border-radius:999px;border:1px solid rgba(255,255,255,.35);color:var(--text-primary);padding:.45rem 1.2rem;transition:var(--transition)}.btn-outline-pill:hover{border-color:#ffffff8c;color:var(--text-primary);background:#6095ff26}.glass-card,.card.glass-card{background:var(--bg-surface);border-radius:var(--card-radius);border:1px solid var(--glass-border);box-shadow:0 25px 55px #0206178c;padding:clamp(1.8rem,3vw,2.6rem);color:var(--text-primary)}.section-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.75rem,2.8vw,2.35rem);margin-bottom:1rem}.text-soft{color:var(--text-secondary)}.badge-soft{background:#6095ff26;border:1px solid rgba(96,149,255,.3);color:var(--accent);border-radius:999px;padding:.35rem .9rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.home-hero{position:relative;display:grid;gap:clamp(2.5rem,6vw,4rem);padding-top:clamp(1rem,4vw,2rem)}.hero-glow{position:absolute;inset:0;pointer-events:none}.hero-glow:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 30% 20%,rgba(96,149,255,.35),transparent 60%),radial-gradient(circle at 75% 25%,rgba(255,89,141,.25),transparent 75%);filter:blur(120px);opacity:.6}.hero-grid{position:relative;display:grid;gap:clamp(2.5rem,5vw,3.5rem);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:center}.hero-content{position:relative}.hero-grid:after{content:"";position:absolute;inset:-6% -4% -4%;background:radial-gradient(circle at 18% 22%,rgba(96,149,255,.14),transparent 55%),radial-gradient(circle at 80% 12%,rgba(255,89,141,.18),transparent 60%);opacity:.35;filter:blur(36px);z-index:-1}.hero-eyebrow{display:inline-flex;align-items:center;gap:.65rem;background:#6095ff1f;border:1px solid rgba(96,149,255,.28);color:var(--accent);padding:.35rem .95rem;border-radius:999px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.hero-title{font-family:Space Grotesk,sans-serif;font-size:clamp(2.35rem,4vw,3.4rem);margin:1rem 0}.hero-copy{color:var(--text-secondary);font-size:1.05rem;line-height:1.75;max-width:580px}.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.75rem}.hero-footnote{margin-top:1.5rem;padding:1.35rem 1.6rem;border-radius:18px;background:linear-gradient(135deg,#0f172abf,#020617eb);border:1px solid rgba(96,149,255,.32);box-shadow:0 28px 60px #02061773;color:var(--text-primary);line-height:1.65}.hero-footnote strong{color:var(--text-primary)}.hero-footnote .text-dark{color:#e2e8f0eb!important}.landing-login-card{position:relative;overflow:hidden}.landing-login-card:before{content:"";position:absolute;inset:-45% 30% 30% -45%;background:linear-gradient(135deg,rgba(96,149,255,.22),transparent 65%);pointer-events:none}.landing-login-card>*{position:relative;z-index:1}.landing-login-card .form-label{color:var(--text-secondary);font-weight:500}.landing-login-card .form-control{background:#0a101ec7;border:1px solid rgba(96,149,255,.25);color:var(--text-primary);border-radius:14px;padding:.95rem 1.1rem}.landing-login-card .form-control:focus{border-color:#6095ff59;box-shadow:0 0 0 .25rem #6095ff2e}.landing-login-card .btn-gradient{width:100%}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem}.hero-stat-card{display:flex;align-items:center;gap:1.25rem;background:#080d1bd1;border-radius:22px;border:1px solid rgba(96,149,255,.2);padding:clamp(1.6rem,3vw,2rem);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:relative;overflow:hidden;box-shadow:0 40px 70px #0206177a;animation:floatCard 7s ease-in-out infinite alternate;animation-delay:var(--card-delay, 0s)}.hero-stat-card:after{content:"";position:absolute;inset:-20% 40% 40% -20%;background:linear-gradient(135deg,rgba(96,149,255,.35),transparent 70%);opacity:.35;pointer-events:none}.hero-stat-card:hover:after{opacity:.55}.hero-stat-card h3{font-family:Space Grotesk,sans-serif;font-size:1.2rem;margin-bottom:.35rem;color:var(--text-primary)}.hero-stat-card p{margin:0;color:var(--text-secondary);line-height:1.65}.hero-stat-card .stat-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#6095ff38;color:var(--text-primary);font-size:1.4rem;flex-shrink:0}@keyframes floatCard{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.feature-card{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;position:relative;background:#0f172ae0;border-radius:18px;padding:1.75rem;border:1px solid rgba(96,149,255,.2);box-shadow:0 34px 65px #02061773;overflow:hidden}.feature-card:before{content:"";position:absolute;inset:-40% -30% 60% 40%;background:linear-gradient(135deg,rgba(37,99,235,.25),transparent 65%);opacity:.75;transform:rotate(12deg)}.feature-card strong{font-size:1.1rem;color:var(--text-primary)}.feature-card small{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#e2e8f0ad}.feature-card p{position:relative;margin-top:1rem;color:var(--text-secondary)}.methodology-section{margin-top:clamp(2.5rem,6vw,3.5rem);display:grid;gap:1.75rem}.methodology-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.methodology-card{background:#080d1bd1;border-radius:20px;border:1px solid rgba(96,149,255,.22);padding:1.9rem;box-shadow:0 40px 70px #02061773;position:relative;overflow:hidden;animation:floatIn 1.1s ease forwards;opacity:0}.methodology-card:before{content:"";position:absolute;inset:-45% 50% 55% -30%;background:linear-gradient(135deg,rgba(255,89,141,.25),transparent 70%);opacity:.7;pointer-events:none}.methodology-card h3{font-family:Space Grotesk,sans-serif;font-size:1.35rem;color:var(--text-primary);margin-bottom:.9rem}.methodology-card p{color:var(--text-secondary);margin-bottom:0;line-height:1.65}.methodology-card ul{margin:1rem 0 0;padding-left:1.25rem;color:var(--text-secondary)}.methodology-card li{padding-left:.25rem;margin-bottom:.6rem}.methodology-highlight{background:#6095ff2e;border:1px solid rgba(96,149,255,.32);border-radius:18px;padding:1.6rem;color:var(--text-primary)}.methodology-highlight p{margin-bottom:.75rem;line-height:1.7}.methodology-highlight .badge-soft{background:#3b82f62e;border-color:#3b82f652;color:var(--text-primary)}.methodology-timeline{display:grid;gap:1.35rem}.timeline-card{display:grid;gap:.65rem;background:#080d1bd1;border-radius:20px;border:1px solid rgba(96,149,255,.22);padding:1.5rem 1.75rem;box-shadow:0 38px 70px #02061780;position:relative;overflow:hidden}.timeline-card:before{content:"";position:absolute;inset:-35% 55% 45% -15%;background:linear-gradient(135deg,rgba(96,149,255,.28),transparent 70%);opacity:.6}.timeline-card .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:#e2e8f0ad;position:relative}.timeline-card .description{position:relative;color:var(--text-secondary);line-height:1.65}.methodology-card:nth-child(1){--card-delay: .05s;animation-delay:.1s}.methodology-card:nth-child(2){--card-delay: .1s;animation-delay:.2s}.methodology-card:nth-child(3){--card-delay: .15s;animation-delay:.3s}.timeline-card:nth-child(1){animation-delay:.25s}.timeline-card:nth-child(2){animation-delay:.35s}.timeline-card:nth-child(3){animation-delay:.45s}.featured-word-card:nth-child(1){animation-delay:.15s}.featured-word-card:nth-child(2){animation-delay:.25s}.featured-word-card:nth-child(3){animation-delay:.35s}.hero-stat-card:nth-child(1){--card-delay: .1s}.hero-stat-card:nth-child(2){--card-delay: .2s}.hero-stat-card:nth-child(3){--card-delay: .3s}@keyframes floatIn{0%{transform:translateY(30px) scale(.98);opacity:0}80%{transform:translateY(-6px) scale(1.01);opacity:1}to{transform:translateY(0);opacity:1}}.featured-words-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.featured-word-card{position:relative;background:#0f172ae0;border-radius:20px;border:1px solid rgba(255,89,141,.22);padding:1.9rem;box-shadow:0 40px 80px #02061780;overflow:hidden;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.featured-word-card:before{content:"";position:absolute;inset:-45% 40% 50% -15%;background:linear-gradient(135deg,rgba(255,89,141,.32),transparent 65%);opacity:.7}.featured-word-card:hover{transform:translateY(-12px);border-color:#ff598d66;box-shadow:0 52px 90px #0206178c}.featured-word-card h4{font-family:Space Grotesk,sans-serif;font-size:1.4rem;color:var(--text-primary);margin-bottom:.75rem;position:relative}.featured-word-card p,.featured-word-card strong,.featured-word-card span{position:relative;color:var(--text-secondary)}.speaking-shell{display:grid;gap:clamp(2rem,4vw,3rem)}.speaking-hero{display:grid;gap:clamp(2rem,4vw,3rem);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:center;position:relative;overflow:hidden}.speaking-hero:after{content:"";position:absolute;inset:-40% 45% 15% -30%;background:linear-gradient(135deg,rgba(37,99,235,.2),transparent 65%);opacity:.55}.speaking-hero__cta{display:flex;flex-wrap:wrap;gap:1rem}.speaking-hero__quickstats{display:grid;gap:1rem}.speaking-hero__stat{background:#080d1bd1;border-radius:18px;border:1px solid rgba(96,149,255,.2);padding:1.3rem 1.5rem;box-shadow:0 35px 70px #02061773}.speaking-hero__stat span{display:block}.speaking-hero__stat .label{font-size:.72rem;letter-spacing:.12em;color:#e2e8f0a6;margin-bottom:.4rem}.speaking-hero__stat .value{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;color:var(--text-primary)}.speaking-panel{display:grid;gap:1.5rem}.speaking-stage{position:relative;background:#0a0f1ee6;border-radius:24px;border:1px solid rgba(96,149,255,.22);padding:clamp(1.8rem,4vw,2.6rem);box-shadow:0 34px 65px #02061780}.speaking-stage__tag{display:inline-flex;align-items:center;gap:.4rem;background:#6095ff2e;border:1px solid rgba(96,149,255,.32);color:var(--text-primary);border-radius:999px;padding:.45rem .85rem;font-size:.75rem;letter-spacing:.08em}.speaking-phrase{margin-top:1.5rem}.speaking-phrase h2{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--text-primary)}.speaking-phrase p{color:var(--text-secondary)}.speaking-actions{display:flex;flex-wrap:wrap;gap:.75rem}.speaking-actions .btn{border-radius:999px}.speaking-feedback{display:grid;gap:.5rem}.speaking-feedback__score{font-size:1.6rem;font-weight:700;color:var(--text-primary)}.speaking-feedback__text{color:#e2e8f0bf}.speaking-secondary{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.speaking-card{background:#080d1bc7;border:1px solid rgba(96,149,255,.18);border-radius:18px;padding:1.6rem;box-shadow:0 32px 65px #0206177a;display:flex;flex-direction:column;gap:1rem}.pronunciation-meter{height:8px;border-radius:999px;background:#1a365d99;position:relative;overflow:hidden}.pronunciation-meter span{position:absolute;inset:0;background:linear-gradient(90deg,#22c55e73,#22c55ecc);width:0%;transition:width .4s ease}.microphone-status{display:flex;align-items:center;gap:.6rem;color:#e2e8f0bf}.speaking-log{max-height:220px;overflow-y:auto;background:#0a1122c7;border:1px solid rgba(96,149,255,.18);border-radius:14px;padding:1rem 1.2rem;font-size:.9rem}.speaking-log li{margin-bottom:.75rem}.speaking-badges{display:flex;flex-wrap:wrap;gap:.6rem}.speaking-badge{background:#6095ff2e;border:1px solid rgba(96,149,255,.35);color:var(--text-primary);border-radius:999px;padding:.35rem .8rem;font-size:.8rem;letter-spacing:.05em}.featured-word-card .badge-soft{position:relative;display:inline-flex;align-items:center;gap:.35rem;background:#6095ff38;border-color:#6095ff59;color:var(--text-primary)}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.tech-card{position:relative;border-radius:16px;padding:1.6rem;background:#0f172ac7;border:1px solid rgba(96,149,255,.15);transition:transform .3s ease,border-color .3s ease}.tech-card:hover{transform:translateY(-6px);border-color:#6095ff4d}.tech-card .bi{color:#6095ffd9}.practice-shell{display:grid;gap:2rem}.practice-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.practice-meta{display:flex;flex-direction:column;gap:.8rem}.practice-meta .hero-eyebrow{background:#6095ff2e}.practice-meta p{max-width:620px;color:var(--text-secondary)}.practice-actions{display:flex;flex-wrap:wrap;gap:.75rem}.game-container{position:relative;background:#0a0f1ee0;border-radius:24px;border:1px solid rgba(96,149,255,.22);padding:clamp(1.8rem,4vw,3rem);box-shadow:0 32px 60px #0206178c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .35s ease,box-shadow .35s ease}.game-container.animate-correct{animation:solvedPulse .9s ease forwards}.game-container.animate-incorrect{animation:missShake .6s ease;border-color:#f8717173}@keyframes solvedPulse{0%{transform:scale(1);box-shadow:0 32px 60px #0206178c}40%{transform:scale(1.015);box-shadow:0 42px 70px #2563eb73}to{transform:scale(1);box-shadow:0 34px 62px #02061785}}@keyframes missShake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(6px)}75%{transform:translate(-4px)}}.word-display{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--text-primary)}.pronunciation-tag{display:inline-flex;align-items:center;gap:.45rem;background:#6095ff26;border:1px solid rgba(96,149,255,.35);color:var(--text-primary);border-radius:999px;padding:.45rem .95rem;margin-top:.75rem;font-size:.95rem;letter-spacing:.04em}.practice-form .form-control{background:#080d1bd9;border:1px solid rgba(96,149,255,.2);color:var(--text-primary);border-radius:14px;padding:1rem 1.1rem;font-size:1.05rem}.practice-form .form-control:focus{border-color:#6095ff80;box-shadow:0 0 0 .25rem #6095ff33}.practice-form .btn-gradient,.practice-form .btn,.practice-helpers .btn{border-radius:14px}.practice-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem}.practice-stats-grid .stat-card{background:#080d1bd9;border:1px solid rgba(96,149,255,.2)}.practice-hint{margin-top:1.5rem;background:#6095ff1f;border:1px solid rgba(96,149,255,.25);border-radius:18px;padding:1.4rem 1.6rem;color:var(--text-secondary)}.practice-hint strong{display:block;color:var(--text-primary);margin-bottom:.35rem}.translation-hint{background:#3b82f626;border:1px solid rgba(59,130,246,.32)}input::placeholder,textarea::placeholder,select::placeholder,.form-control::placeholder{color:#e2e8f0ad;opacity:1}.crucigrama-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.crucigrama-toolbar .btn{border-radius:14px;padding:.65rem 1.1rem}.crucigrama-toolbar .btn-secondary{background:#6095ff24;border:1px solid rgba(96,149,255,.28);color:var(--text-primary);transition:var(--transition)}.crucigrama-toolbar .btn-secondary:hover{border-color:#6095ff73;color:var(--text-primary)}.crucigrama-feedback{margin-top:1rem;border-radius:16px;padding:1rem 1.25rem;border:1px solid rgba(148,163,184,.25);display:none}.crucigrama-feedback.show{display:block}.clue-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.clue-card{background:#0a1122d1;border-radius:18px;border:1px solid rgba(96,149,255,.18);padding:1.5rem}.clue-title{display:inline-flex;align-items:center;gap:.6rem;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0ad;font-size:.78rem;margin-bottom:1rem}.clue-list{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.clue-item{display:flex;flex-direction:column;gap:.65rem;background:#0f172ab8;border-radius:14px;border:1px solid transparent;padding:.75rem .95rem;color:var(--text-secondary);transition:background .2s ease,border-color .2s ease,transform .2s ease}.clue-item:hover{transform:translateY(-2px)}.clue-item.active{border-color:#6095ff73;background:#6095ff2e;color:var(--text-primary)}.clue-item strong{color:var(--text-primary);min-width:1.75rem}.clue-item-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.clue-audio{border-radius:999px;padding:.35rem .55rem;display:inline-flex;align-items:center;justify-content:center}.clue-term{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.95rem}.clue-details{background:#080d1be0;border-radius:20px;border:1px solid rgba(96,149,255,.2);padding:clamp(1.4rem,3vw,2rem);box-shadow:0 30px 60px #02061773;color:var(--text-primary)}.clue-details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}.clue-detail-body{display:grid;gap:1rem;margin-top:1.25rem}.clue-detail-row{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.detail-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.detail-value{font-size:1.05rem;font-weight:600;color:var(--text-primary)}.detail-value.blurred{filter:blur(7px);opacity:.65;-webkit-user-select:none;user-select:none;transition:filter .2s ease,opacity .2s ease}.detail-value:not(.blurred){filter:none;opacity:1}.detail-actions .btn{border-radius:14px;margin-top:.5rem}.detail-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}@media(max-width:992px){.hero-grid{grid-template-columns:1fr}.practice-header{flex-direction:column}}.btn-gradient{background:linear-gradient(135deg,var(--accent-strong),#7c3aed);border:none;padding:.85rem 1.2rem;border-radius:12px;color:#fff;font-weight:600;transition:var(--transition);box-shadow:0 20px 35px #2563eb59}.btn-gradient:hover{transform:translateY(-2px);box-shadow:0 26px 40px #2563eb73;color:#fff}.btn-neutral{background:#0f172a99;border:1px solid rgba(148,163,184,.25);border-radius:12px;color:var(--text-primary);padding:.75rem 1.1rem;transition:var(--transition)}.btn-neutral:hover{border-color:#6095ff66;color:var(--text-primary)}.stat-card{background:#0a1122cc;border-radius:var(--card-radius);border:1px solid rgba(96,149,255,.18);padding:1.6rem;text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-6px)}.stat-card h6{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--muted)}.stat-card .value{font-size:clamp(1.9rem,3vw,2.4rem);font-weight:700}footer.footer-modern{width:100%;background:#02061799;border-top:1px solid var(--glass-border);padding:1.5rem 0 1.25rem;color:var(--text-secondary);text-align:center}footer.footer-modern .footer-brand{display:flex;justify-content:center;margin-bottom:1rem}.auth-shell{position:relative;min-height:100vh;background:var(--bg-gradient);display:flex;align-items:center;justify-content:center;padding:clamp(2rem,6vw,5rem) 1.5rem;overflow:hidden}.auth-shell:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(96,149,255,.25),transparent 60%),radial-gradient(circle at 80% 10%,rgba(255,89,141,.22),transparent 65%),linear-gradient(135deg,#0f172ae0,#020617eb);opacity:.95}.auth-wrapper{position:relative;width:100%;max-width:440px;z-index:1}.auth-card{position:relative;background:#0f172ab8;border-radius:28px;border:1px solid rgba(148,163,184,.28);color:var(--text-primary);padding:clamp(2.2rem,5vw,3rem);box-shadow:0 45px 75px #02061799;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);overflow:hidden}.auth-card:before{content:"";position:absolute;inset:-25% 45% 55% -25%;background:linear-gradient(135deg,rgba(96,149,255,.35),transparent 70%);opacity:.65;pointer-events:none}.auth-card .form-label{color:var(--text-primary);font-weight:600}.auth-card .form-control{background:#0a1122a6;border:1px solid rgba(148,163,184,.35);color:var(--text-primary);padding:1rem 1.2rem;border-radius:16px;transition:var(--transition)}.auth-card .form-control::placeholder{color:#e2e8f0a6}.auth-card .form-control:focus{border-color:#6095ff8c;box-shadow:0 0 0 .25rem #6095ff33;background:#0a1122cc}.auth-card .btn{border-radius:16px;font-weight:600;padding:.95rem 1.2rem}.auth-card .alert{border-radius:16px;border:1px solid rgba(96,149,255,.25);background:#080d1b99}.tracking-wide{letter-spacing:.65rem}.form-surface{background:#0f172abf;border-radius:var(--card-radius);border:1px solid var(--glass-border);padding:clamp(2rem,4vw,2.75rem)}.form-surface .form-control,.form-surface .form-select{background:#080d1bbf;border:1px solid rgba(148,163,184,.25);color:var(--text-primary);border-radius:12px;padding:.9rem 1.05rem}.form-surface .form-control:focus,.form-surface .form-select:focus{border-color:#6095ff73;box-shadow:0 0 0 .25rem #6095ff2e}.form-surface label{color:var(--text-secondary);font-weight:500}.alert-nemotecnia{background:#0f172ab8;color:var(--text-primary);border:1px solid rgba(96,149,255,.28);border-radius:18px;padding:1.5rem;box-shadow:0 25px 55px #02061773}.table-modern{width:100%;color:var(--text-secondary);border-collapse:separate;border-spacing:0;background:#0f172aa6;border-radius:16px;overflow:hidden;border:1px solid var(--glass-border)}.table-modern th,.table-modern td{padding:1rem 1.25rem}.table-modern thead{background:#6095ff1f;color:var(--text-primary);text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.table-modern tbody tr{transition:background .2s ease}.table-modern tbody tr:hover{background:#3b82f614}.crucigrama-wrapper{display:grid;gap:1.5rem;justify-items:center}.crucigrama-table{border-collapse:collapse;background:#0f172ab3;border:1px solid rgba(148,163,184,.4)}.crucigrama-table td{width:44px;height:44px;border:1px solid rgba(148,163,184,.2);position:relative}.crucigrama-table td.active-cell{background:#6095ff26}.crucigrama-table td.inactive-cell{background:#0f172ae6;pointer-events:none}.crucigrama-table td .word-number{position:absolute;top:4px;left:6px;font-size:.7rem;color:var(--muted)}.cell-input{width:100%;height:100%;border:none;background:transparent;text-align:center;font-size:1.1rem;font-weight:600;color:var(--text-primary);text-transform:uppercase}.cell-input:focus{outline:none;background:#6095ff33}.cell-input.is-valid{background:#34d39940}.cell-input.is-invalid{background:#f8717159}.highlight{background:#78acff47!important}.list-group-modern .list-group-item{background:#0f172ac7;border:1px solid var(--glass-border);color:var(--text-primary);border-radius:14px;margin-bottom:.75rem}.list-group-modern .list-group-item .bi-volume-up-fill{color:#6095ffb3;cursor:pointer}.letter-spacing{letter-spacing:.08em}.shadow-soft{box-shadow:0 30px 60px #02061780}.text-success-soft{color:var(--success)}.text-warning-soft{color:#fcd34d}.text-danger-soft{color:var(--danger)}.divider{height:1px;background:#94a3b82e;margin:1.75rem 0}.card-title{font-family:Space Grotesk,sans-serif}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0f172a4d}::-webkit-scrollbar-thumb{background:#6095ff73;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#6095ffa6}.auth-card .form-check-input{background-color:#080d1bbf;border-color:#94a3b873}.auth-card .form-check-input:checked{background-color:#6095ffcc;border-color:#6095ffcc}.auth-card .form-check-label{cursor:pointer}footer.footer-modern .footer-brand img{height:32px;width:auto}.feature-card:hover{transform:translateY(-10px);border-color:#6095ff61;box-shadow:0 48px 80px #02061780}.methodology-card{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.methodology-card:hover{transform:translateY(-12px) scale(1.01);border-color:#ff598d59;box-shadow:0 52px 90px #02061785}.landing-login-card .form-check-input{background-color:#0a1122b3;border-color:#94a3b873}.landing-login-card .form-check-input:checked{background-color:#6095ffd9;border-color:#6095ffd9}.landing-login-card .form-check-label{cursor:pointer}.tutor-stage{position:relative}.tutor-avatar{display:flex;gap:1.5rem;align-items:center;padding:2rem;border-radius:1.75rem;background:linear-gradient(135deg,#14283cbf,#1e466e8c);border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 40px #050f2359;min-height:220px;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.tutor-avatar .avatar-portrait{width:140px;height:140px;border-radius:50%;background:#ffffff0f;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}.tutor-avatar .avatar-copy{max-width:420px}.tutor-avatar.persona-coach{background:linear-gradient(135deg,#103c6ebf,#2378be80)}.tutor-avatar.persona-mentor{background:linear-gradient(135deg,#1a2e56bf,#46269480)}.tutor-avatar.persona-storyteller{background:linear-gradient(135deg,#422060cc,#b23e9273)}.tutor-avatar.status-online{border-color:#5ce1e6b3;box-shadow:0 16px 45px #40c8dc59}.tutor-avatar.status-speaking{transform:translateY(-4px);border-color:#ffd764cc;box-shadow:0 18px 55px #ffd27866}.avatar-viewport{width:100%;height:100%}.avatar-fallback-icon{position:absolute;inset:0;font-size:3.25rem;color:#ffffff73;display:flex;align-items:center;justify-content:center}.avatar-fallback-icon.hidden{display:none}.config-card{background:#0e182cb8;border:1px solid rgba(255,255,255,.06);border-radius:1.5rem;box-shadow:0 12px 36px #040a1a66}.config-card .form-select,.config-card .form-control{background-color:#040a1ab3;border-color:#94a3b859;color:#f8fbff}.config-card .form-select:focus,.config-card .form-control:focus{border-color:#6095ff8c;box-shadow:0 0 0 .25rem #6095ff26}.chat-window{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1rem;height:320px;overflow-y:auto}.chat-bubble{padding:.75rem 1rem;border-radius:18px;margin-bottom:.5rem;max-width:90%}.chat-user{background:#ffffff1a;margin-left:auto}.chat-tutor{background:#50d5ff14;border:1px solid rgba(80,213,255,.2);margin-right:auto}.crossword-grid{display:grid;gap:2px;border:1px solid rgba(255,255,255,.08);background:#ffffff0d;padding:8px;border-radius:12px;overflow-x:auto}.crossword-row{display:grid;grid-template-columns:repeat(15,40px);gap:2px}.crossword-cell{position:relative;width:40px;height:40px;border-radius:6px;background:#0003;display:flex;justify-content:center;align-items:center}.crossword-cell input{width:100%;height:100%;border:none;background:transparent;text-transform:uppercase;text-align:center;font-weight:600;color:#fff}.crossword-cell.blocked{background:#0009}.crossword-cell.correct{background:#19875459}.crossword-cell.incorrect{background:#dc354559}.crossword-cell .cell-number{position:absolute;top:2px;left:4px;font-size:10px;color:#ccc}.crossword-cell.highlight{background:#6095ff2e}.crossword-layout{display:flex;flex-direction:column;gap:1.5rem}@media(min-width:992px){.crossword-layout{flex-direction:row;align-items:flex-start}.crossword-layout .crossword-grid{flex:1}.clue-details{width:360px;flex-shrink:0}}.clue-panel{background:#0f172aa6;border:1px solid rgba(148,163,184,.22);border-radius:16px;padding:1.2rem}.clue-item{display:flex;gap:.75rem;padding:.55rem .35rem;border-radius:10px;cursor:pointer;transition:background .2s ease,border .2s ease;border:1px solid transparent}.clue-item.active{border-color:#6095ff66;background:#6095ff14}.clue-number{font-weight:700;color:#91a4ff}.clue-body{flex:1}.crucigrama-table{border-collapse:collapse;margin:0 auto}.crucigrama-table td{width:40px;height:40px;border:1px solid #444;text-align:center;vertical-align:middle;position:relative}.active-cell{background-color:#fff}.inactive-cell{background-color:#e0e0e0}.word-number{position:absolute;top:2px;left:2px;font-size:.7rem;font-weight:700}.cell-input{width:100%;height:100%;border:none;outline:none;background:transparent;text-align:center;font-size:1rem}.cell-input.highlight{background-color:#ffd}.cell-input.is-invalid{background-color:#f8d7da}.cell-input.is-valid{background-color:#d1e7dd}
