/* StanNet Language Typing & Shadowing Academy — standalone responsive skin.
   No overrides of Typing Lab or existing Academy UI. */
:root{color-scheme:dark}
body.lt-page{margin:0;background:#070f1d!important;color:#e9f6ff!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;min-height:100vh}
.lt-page *{box-sizing:border-box}
.lt-page [hidden]{display:none!important}
.lt-page button,.lt-page select,.lt-page textarea{font:inherit}
.lt-page button{cursor:pointer;touch-action:manipulation}
.lt-page button:disabled{opacity:.48;cursor:default}
.lt-page button:focus-visible,.lt-page select:focus-visible,.lt-page textarea:focus-visible,.lt-page a:focus-visible{outline:2px solid #72e6f6;outline-offset:3px}
.lt-page .site-header{background:#071322!important;border-bottom:1px solid #1c4153!important}
.lt-page .site-nav a{color:#c5e2f3!important}
.lt-shell{width:min(1160px,calc(100% - 36px));margin:0 auto;padding-bottom:60px}
.lt-hero{padding:clamp(55px,9vw,105px) 0 clamp(30px,5vw,55px);position:relative;background:radial-gradient(ellipse at 83% 28%,rgba(70,72,205,.20),transparent 40%),radial-gradient(ellipse at 25% 72%,rgba(17,197,203,.11),transparent 34%)}
.lt-eyebrow{font:700 11px/1.5 Orbitron,Inter,sans-serif!important;letter-spacing:.20em;color:#8de8f5;display:flex;align-items:center;gap:10px}
.lt-dot{width:9px;height:9px;border-radius:50%;background:#67f0d7;box-shadow:0 0 0 5px #67f0d71b}
.lt-hero h1{font-size:clamp(43px,6.2vw,76px)!important;font-weight:850!important;letter-spacing:-.06em;line-height:1.06!important;margin:20px 0!important;color:#f1fbff!important}
.lt-hero h1 em{font-style:normal;color:#72d9f5}
.lt-hero p{font-size:clamp(15px,1.5vw,18px)!important;line-height:1.7;max-width:700px;color:#b5cddd!important}
.lt-hero p strong{color:#e8f9ff}
.lt-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}
.lt-hero-actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:46px;border-radius:12px;text-decoration:none;font-weight:750;font-size:13px;padding:11px 18px}
.lt-primary-link{background:#7ce1f2!important;color:#082338!important}
.lt-secondary-link{background:#11263a!important;color:#c9e4f1!important;border:1px solid #21455b}
.lt-flags{color:#afd0e3;font-weight:650;font-size:12px;line-height:2}
.lt-flags span{color:#648295;padding:0 7px}
.lt-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:22px}
.lt-stats>div{padding:19px 20px;background:#0e2133;border:1px solid #224459;border-radius:14px}
.lt-stats small{display:block;color:#90b3c6;font-weight:800;font-size:10px;letter-spacing:.12em}
.lt-stats strong{display:block;color:#f2faff;font-size:31px;margin-top:9px}
.lt-lab{background:#0b1b2e;border:1px solid #24445f;box-shadow:0 20px 55px #0003;border-radius:23px;overflow:hidden;scroll-margin-top:18px}
.lt-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:20px;background:#101f34;border-bottom:1px solid #23415b}
.lt-toolbar label,.lt-shadow-options label{display:flex;flex-direction:column;gap:6px;min-width:0;color:#9dc2d5;font-weight:700;font-size:11px}
.lt-toolbar select,.lt-shadow-options select{min-height:44px;width:100%;padding:8px 10px;border:1px solid #30536a;border-radius:10px;background:#081b2c!important;color:#e2f6ff!important;font-size:13px}
.lt-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:15px 20px;border-bottom:1px solid #294052}
.lt-modes button{min-height:46px;padding:7px 10px;background:#12263d;color:#b4d6e5;border:1px solid #29495c;border-radius:11px;font-weight:750;font-size:13px}
.lt-modes button[aria-pressed=true]{color:#061d2a;background:#7de5ee;border-color:#7de5ee;box-shadow:0 0 15px #2bbfe526}
.lt-course-head{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:25px 26px 12px}
.lt-tagline{color:#72dfe7;font-weight:750;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.lt-course-head h2{color:#f2f9ff;font-size:clamp(20px,3vw,30px)!important;letter-spacing:-.02em;margin:9px 0 0!important}
.lt-counter{flex:none;width:125px;color:#99bace;text-align:right;font-size:12px;margin-top:6px}
.lt-counter-track{margin-top:12px;overflow:hidden;background:#254158;height:5px;border-radius:99px}
.lt-counter-track span{display:block;height:100%;background:#78deef;border-radius:99px;transition:width .2s}
.lt-shadow-options{margin:0 26px 16px;padding:15px;border:1px solid #345477;border-radius:12px;background:#152643}
.lt-shadow-options p{font-size:12px;color:#a8d5e9;line-height:1.55;margin:8px 0 0}
.lt-prompt{margin:10px 26px 18px;padding:20px 22px;border:1px solid #2e546d;border-radius:15px;background:radial-gradient(ellipse at right top,#1a3150,transparent 70%),#081a2a}
.lt-prompt>small{display:block;color:#88bcd4;letter-spacing:.12em;font-weight:800;font-size:10px}
.lt-phrase{font-family:"Cascadia Code",Consolas,ui-monospace,SFMono-Regular,monospace;font-size:clamp(19px,2.8vw,29px)!important;font-weight:600;line-height:1.6;min-height:60px;padding:12px 0;color:#e4f7ff;overflow-wrap:anywhere;white-space:pre-wrap}
.lt-concealed{font-family:Inter,system-ui,sans-serif!important;font-style:italic;font-size:16px!important;color:#87a9bc}
.lt-right{color:#79e3c3}.lt-wrong{background:#994054;color:#fff;border-radius:2px}.lt-nextchar{background:#7bd9f0;color:#062234;border-radius:2px}
.lt-translation{min-height:22px;color:#a9c5d7;font-size:14px;line-height:1.55}
.lt-prompt-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:18px}
.lt-prompt-actions button,.lt-voice-actions button{min-height:42px;background:#132c43;color:#d4ecf5;border:1px solid #3b6176;border-radius:9px;padding:9px 12px;font-weight:700;font-size:12px}
.lt-auto{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#b6d6e3;margin-left:auto}
.lt-auto input{accent-color:#77dfef;width:16px;height:16px}
.lt-answer-pane{padding:0 26px 22px}
.lt-answer-pane>label{display:block;margin:0 0 10px;color:#b5d2e2;font-weight:750;font-size:12px}
#ltAnswer{width:100%;min-height:117px;resize:vertical;background:#061525;border:1px solid #345a74;border-radius:13px;padding:17px;color:#f4fcff;font:500 17px/1.6 "Cascadia Code",Consolas,ui-monospace,monospace;letter-spacing:0;outline:none}
#ltAnswer:focus{border-color:#83ecf9;box-shadow:0 0 0 3px #5fe4f222}
#ltAnswer::placeholder{color:#7d9aaf}
.lt-special-keys{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.lt-special-keys button{min-width:37px;min-height:38px;background:#172f45;color:#d5f5fa;border:1px solid #32546b;border-radius:8px;font-weight:750}
.lt-inline-metrics{display:flex;justify-content:space-between;gap:12px;margin:13px 0;color:#93bad0;font-size:12px}
.lt-answer-actions{display:flex;gap:9px;flex-wrap:wrap}
.lt-answer-actions button{min-height:44px;padding:10px 17px;border:1px solid #345670;background:#142c41;border-radius:10px;color:#dcf2f9;font-weight:700;font-size:12px}
.lt-answer-actions .lt-main-button{background:#75dded;color:#092637;border-color:#75dded}
.lt-feedback{margin-top:12px;line-height:1.5;font-size:13px;color:#b6d9e7}
.lt-feedback.lt-success{color:#7ce6c2}.lt-feedback.lt-warning{color:#f6ce86}
.lt-speak-pane{margin:0 26px 20px;padding:19px;border-radius:15px;border:1px solid #315271;background:#101e38}
.lt-section-title{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.lt-section-title span,.lt-understand>span{color:#79bbd3;font-size:10px;font-weight:800;letter-spacing:.12em}
.lt-section-title strong,.lt-understand>strong{font-size:17px;color:#edfaff}
.lt-voice-actions{display:flex;gap:8px;flex-wrap:wrap}
.lt-voice-actions button{flex:1;min-width:146px}
#ltVoicePreview{max-width:100%;width:100%;margin:14px 0}
.lt-voice-feedback{padding-top:14px;font-size:12px;line-height:1.55;color:#a3c6d8}
.lt-understand{margin:0 26px 20px;padding:18px;border-radius:15px;background:#0d2f37;border:1px solid #286568}
.lt-understand strong{display:block;margin:8px 0}
.lt-understand p{color:#c4e7e8;line-height:1.65;font-size:14px}
.lt-understand .lt-next{display:inline-block;min-height:44px;border:1px solid #77dacc;background:#68d6cb;border-radius:9px;color:#042b32;padding:10px 16px;font-weight:800}
.lt-footer{border-top:1px solid #23425a;padding:17px 26px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lt-footer button{min-height:40px;padding:9px 13px;background:#142a40;border:1px solid #284b60;color:#c7e7ef;border-radius:9px;font-weight:700;font-size:12px}
#ltVoiceStatus{font-size:11px;color:#8eb9ce;flex:1;text-align:right;min-width:200px;line-height:1.4}
.lt-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.lt-bottom article{background:#0e2232;border:1px solid #24445c;border-radius:16px;padding:22px}
.lt-bottom span{color:#72e5ee;font:700 13px Orbitron,Inter,sans-serif}
.lt-bottom h3{margin:15px 0 8px;font-size:18px!important;color:#f5fcff}
.lt-bottom p{line-height:1.65;color:#9fbccd;font-size:13px}
.lt-privacy{color:#95aebf;font-size:12px!important;line-height:1.8;margin:24px 4px}
.lt-privacy strong{color:#c5e2f2}
.lt-page-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px max(20px,calc((100vw - 1160px)/2));border-top:1px solid #1a3448;color:#a9c9d8;font-size:12px}
.lt-page-footer a{color:#bdeff3;text-decoration:none}
@media(max-width:820px){.lt-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.lt-bottom{grid-template-columns:1fr}.lt-stats{gap:8px}.lt-stats>div{padding:13px}}
@media(max-width:560px){.lt-shell{width:calc(100% - 20px)}.lt-hero{padding:56px 7px 30px}.lt-hero h1{font-size:44px!important}.lt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lt-toolbar{padding:12px;gap:8px}.lt-modes{padding:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lt-modes button{font-size:12px}.lt-course-head{padding:20px 14px 12px}.lt-counter{width:70px}.lt-prompt{margin:6px 12px 16px;padding:17px 14px}.lt-answer-pane{padding:0 12px 19px}.lt-speak-pane{margin:0 12px 16px;padding:14px}.lt-understand{margin:0 12px 16px;padding:14px}.lt-shadow-options{margin:0 12px 15px}.lt-footer{padding:15px 12px}.lt-auto{margin-left:0}#ltVoiceStatus{flex-basis:100%;text-align:left}.lt-page-footer{flex-wrap:wrap;justify-content:center}.lt-voice-actions button{min-width:0;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.lt-counter-track span{transition:none}}

/* Optional Amazon Polly: opt-in, accessible audio and billing disclosure. */
.lt-provider-note{margin:0;padding:10px 22px 12px;color:#a9cbd9;background:#0b1e30;border-bottom:1px solid #24465e;font:500 12px/1.55 Inter,system-ui,sans-serif}
.lt-prompt #ltAmazonPreview{display:block;max-width:100%;width:min(530px,100%);margin:12px 0 2px;border-radius:9px;accent-color:#75deec}
.lt-prompt #ltAmazonPreview[hidden]{display:none!important}
@media(max-width:420px){.lt-toolbar{grid-template-columns:1fr}}


/* Premium voice only: lesson typing and browser voices stay accessible. */
.lt-premium-account{margin:0;padding:18px 20px;background:#10273d;border-bottom:1px solid #2a5973;color:#d9f4ff}
.lt-premium-account[hidden],.lt-premium-form[hidden],#ltPremiumLoggedIn[hidden]{display:none!important}
.lt-premium-head{display:flex;align-items:start;gap:12px;justify-content:space-between;flex-wrap:wrap}
.lt-premium-head strong{font-weight:800;font-size:16px}
.lt-premium-head p{font-size:12px!important;color:#b5cedf!important;line-height:1.5;max-width:600px;margin:6px 0 12px}
#ltPremiumRemaining{font-size:12px;color:#9fe8d1;font-weight:700}
.lt-premium-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px}
.lt-premium-form label{display:flex;flex-direction:column;gap:5px;color:#a9d0e1;font-size:12px;flex:1;min-width:170px}
.lt-premium-form input{background:#071827!important;color:#eef9ff!important;border:1px solid #41718c;border-radius:10px;min-height:44px;padding:10px}
.lt-premium-form button,#ltPremiumSignout{min-height:44px;padding:10px 14px;border:1px solid #3d7486;background:#17394b;border-radius:10px;color:#e0f9ff;font-size:12px;font-weight:750}
#ltPremiumSignin{background:#86e6ed;color:#08212d;border-color:#86e6ed}
#ltPremiumLoggedIn{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px}
#ltPremiumMessage{font-size:12px;line-height:1.5;color:#b7e1ee;margin:12px 0 0}
@media(max-width:560px){.lt-premium-account{padding:14px 12px}.lt-premium-form{display:flex;flex-direction:column;align-items:stretch}.lt-premium-form label{width:100%;min-width:0;flex:none}.lt-premium-form button{width:100%}}
