:root{--mt-blue:#1769ff;--mt-blue-soft:#eaf2ff;--mt-green:#21bf73;--mt-green-soft:#e8f9f0;--mt-purple:#7356f6;--mt-purple-soft:#f0edff;--mt-orange:#ff8b22;--mt-orange-soft:#fff2e5;--mt-pink:#ef4e91;--mt-red:#ef4b55;--mt-ink:#10203c;--mt-muted:#64748b;--mt-border:#e4eaf2;--mt-panel:#fff;--mt-page:#f6f9fd;--mt-shadow:0 18px 50px rgba(15,35,70,.09)}
html[data-theme="dark"]{--mt-ink:#edf4ff;--mt-muted:#aab8ca;--mt-border:#27354a;--mt-panel:#111c2e;--mt-page:#0b1120;--mt-blue-soft:#142849;--mt-green-soft:#123529;--mt-purple-soft:#241e46;--mt-orange-soft:#3b2818;--mt-shadow:0 18px 50px rgba(0,0,0,.28)}
@media(prefers-color-scheme:dark){html[data-theme="system"]{--mt-ink:#edf4ff;--mt-muted:#aab8ca;--mt-border:#27354a;--mt-panel:#111c2e;--mt-page:#0b1120;--mt-blue-soft:#142849;--mt-green-soft:#123529;--mt-purple-soft:#241e46;--mt-orange-soft:#3b2818;--mt-shadow:0 18px 50px rgba(0,0,0,.28)}}
.mobile-typing-page{margin:0;background:var(--mt-page);color:var(--mt-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.mobile-typing-page button,.mobile-typing-page input,.mobile-typing-page textarea{font:inherit}.mobile-module-shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:18px 0 48px}.mobile-breadcrumbs{display:flex;gap:8px;align-items:center;color:var(--mt-muted);font-size:.88rem;margin:4px 0 14px}.mobile-breadcrumbs a{color:var(--mt-blue);text-decoration:none}.mobile-workspace{width:min(520px,100%);min-height:720px;margin:0 auto;background:var(--mt-panel);border:1px solid var(--mt-border);border-radius:30px;box-shadow:var(--mt-shadow);overflow:hidden;position:relative}.mobile-appbar{height:68px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:0 14px;border-bottom:1px solid var(--mt-border);position:relative;background:var(--mt-panel);z-index:10}.mobile-appbar-title{text-align:center;line-height:1.15}.mobile-appbar-title strong{display:block;font-family:Poppins,Inter,sans-serif;font-size:.98rem}.mobile-appbar-title small{display:block;color:var(--mt-muted);font-size:.69rem;margin-top:3px}.mobile-back,.mobile-menu-button{border:0;background:transparent;color:var(--mt-ink);font-weight:800;font-size:1.55rem;width:42px;height:42px;border-radius:14px;cursor:pointer}.mobile-back:hover,.mobile-menu-button:hover{background:var(--mt-blue-soft)}.mobile-menu{position:absolute;right:14px;top:58px;width:210px;background:var(--mt-panel);border:1px solid var(--mt-border);border-radius:18px;padding:8px;box-shadow:var(--mt-shadow);display:grid;gap:4px}.mobile-menu[hidden]{display:none}.mobile-menu button,.mobile-menu a{border:0;background:transparent;color:var(--mt-ink);text-decoration:none;text-align:left;border-radius:12px;padding:11px 12px;font-weight:700;cursor:pointer}.mobile-menu button:hover,.mobile-menu a:hover{background:var(--mt-blue-soft)}.mobile-view{padding:26px 24px 30px}.mobile-view[hidden]{display:none}.mobile-home-view{padding-top:24px}.mobile-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 11px;background:var(--mt-blue-soft);color:var(--mt-blue);font-weight:800;font-size:.75rem}.mobile-hero-copy h1{font-family:Poppins,Inter,sans-serif;font-size:clamp(2.25rem,10vw,3.35rem);line-height:.98;letter-spacing:-.04em;margin:12px 0 14px;color:var(--mt-ink)}.mobile-hero-copy p{margin:0;color:var(--mt-muted);font-size:1rem;line-height:1.55}.mobile-hero-copy p strong{color:var(--mt-ink)}.phone-hero{height:210px;position:relative;margin:18px -8px 6px;display:flex;justify-content:center;align-items:flex-end;overflow:hidden;background:radial-gradient(circle at 50% 60%,var(--mt-blue-soft),transparent 60%)}.phone-shell{width:150px;height:190px;border:8px solid #20314d;border-radius:28px;background:linear-gradient(180deg,#eef5ff,#fff);position:relative;box-shadow:0 20px 35px rgba(30,62,110,.18);padding:35px 12px 12px;z-index:2}.phone-notch{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:58px;height:13px;background:#20314d;border-radius:10px}.phone-chat{font-size:.68rem;background:white;border:1px solid #dbe6f5;box-shadow:0 5px 12px rgba(42,76,120,.08);border-radius:10px;padding:7px 8px;margin-bottom:8px;color:#263956;font-weight:700}.phone-chat-a{width:70px}.phone-chat-b{width:110px}.phone-keyboard-mini{position:absolute;bottom:10px;left:10px;right:10px;display:grid;grid-template-columns:repeat(10,1fr);gap:2px}.phone-keyboard-mini span{height:18px;border-radius:4px;background:#edf1f7;color:#43536b;font-size:.48rem;display:grid;place-items:center}.hero-thumb{position:absolute;width:84px;height:145px;background:linear-gradient(160deg,#ffbf98,#ef9369);border-radius:48px 48px 30px 30px;bottom:-68px;z-index:3;box-shadow:inset 0 -10px 20px rgba(138,62,31,.08)}.hero-thumb-left{left:66px;transform:rotate(-31deg)}.hero-thumb-right{right:66px;transform:rotate(31deg)}.mobile-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--mt-panel);border:1px solid var(--mt-border);border-radius:20px;padding:10px}.mobile-action-card{min-height:112px;border:0;border-radius:16px;padding:15px;color:white;text-align:left;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.mobile-action-card span{font-size:1.3rem;margin-bottom:auto}.mobile-action-card strong{font-size:1rem}.mobile-action-card small{font-size:.73rem;line-height:1.35;margin-top:4px;color:rgba(255,255,255,.9)}.mobile-action-card.learn{background:linear-gradient(145deg,#267cff,#1769ff)}.mobile-action-card.practice{background:linear-gradient(145deg,#31cd82,#1bb66b)}.mobile-action-card.test{background:linear-gradient(145deg,#8369ff,#6748f0)}.mobile-action-card.game{background:linear-gradient(145deg,#ff8c55,#f66a35)}.mobile-text-link{border:0;background:transparent;color:var(--mt-blue);font-weight:800;padding:15px 4px 2px;width:100%;display:flex;justify-content:space-between;cursor:pointer}.mobile-text-link.centered{justify-content:center;margin-top:2px}.mobile-view-heading h2,.lesson-intro-copy h2,.game-heading h2,.mobile-view[data-view="results"] h2{font-family:Poppins,Inter,sans-serif;font-size:1.65rem;margin:0;color:var(--mt-ink);letter-spacing:-.025em}.mobile-view-heading p,.lesson-intro-copy p,.game-heading p{color:var(--mt-muted);line-height:1.5;margin:6px 0 0}.lesson-list{display:grid;gap:11px;margin-top:20px}.lesson-card{width:100%;display:grid;grid-template-columns:48px 1fr 24px;gap:12px;align-items:center;border:1px solid var(--mt-border);background:var(--mt-panel);color:var(--mt-ink);border-radius:16px;padding:13px 12px;text-align:left;cursor:pointer}.lesson-card:hover{border-color:#b8cdf3;background:var(--mt-blue-soft)}.lesson-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:800;background:var(--mt-blue)}.lesson-card:nth-child(2) .lesson-number{background:var(--mt-green)}.lesson-card:nth-child(3) .lesson-number{background:var(--mt-pink)}.lesson-card:nth-child(4) .lesson-number{background:var(--mt-orange)}.lesson-card:nth-child(5) .lesson-number{background:var(--mt-purple)}.lesson-copy strong{display:block;font-size:.95rem}.lesson-copy small{display:block;color:var(--mt-muted);font-size:.73rem;line-height:1.35;margin-top:3px}.lesson-copy em{display:block;font-style:normal;font-size:.68rem;color:var(--mt-muted);margin-top:4px}.lesson-arrow{font-size:1.25rem;color:var(--mt-muted)}.lesson-card.completed .lesson-number::after{content:"✓"}.lesson-card.completed .lesson-number{font-size:0}.lesson-card.completed .lesson-number::after{font-size:1rem}.course-finish-card{margin-top:16px;background:var(--mt-blue-soft);border-radius:16px;padding:13px;display:flex;gap:12px;align-items:center}.course-finish-card span{font-size:1.4rem}.course-finish-card strong,.course-finish-card small{display:block}.course-finish-card small{color:var(--mt-muted);font-size:.75rem;margin-top:3px}.lesson-number-label{display:block;color:var(--mt-blue);font-weight:800;margin-bottom:6px}.thumb-guide{margin:24px 0 16px}.thumb-zones{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.thumb-zones span{padding:12px;text-align:center;border-radius:14px}.thumb-zones strong,.thumb-zones small{display:block}.thumb-zones small{margin-top:4px;font-weight:700;letter-spacing:.08em}.left-zone{background:#dcecff;color:#1769ff}.right-zone{background:#dff8ea;color:#168552}.thumb-keyboard{border:7px solid #293a55;background:#dce3ec;border-radius:22px;padding:12px 8px 10px;box-shadow:0 12px 24px rgba(36,56,89,.16)}.thumb-row{display:flex;justify-content:center;gap:4px;margin-bottom:5px}.thumb-row span{width:30px;height:34px;border-radius:7px;background:white;display:grid;place-items:center;color:#25364f;font-size:.78rem;font-weight:800;box-shadow:0 2px 4px rgba(36,56,89,.1)}.thumb-row span.l{box-shadow:inset 0 -4px 0 #a8cdfd}.thumb-row span.r{box-shadow:inset 0 -4px 0 #a6e7c8}.thumb-row.mid{padding:0 10px}.thumb-row.low{padding:0 28px;margin-bottom:0}.mobile-tip{display:flex;gap:10px;background:var(--mt-blue-soft);border-radius:15px;padding:14px;margin:17px 0}.mobile-tip p{margin:0;color:var(--mt-ink);font-size:.84rem;line-height:1.45}.mobile-primary,.mobile-secondary{border:0;border-radius:14px;padding:14px 17px;min-height:50px;font-weight:800;text-align:center;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.mobile-primary{background:linear-gradient(145deg,#2c7dff,#1769ff);color:white;width:100%;box-shadow:0 10px 22px rgba(23,105,255,.2)}.mobile-secondary{background:var(--mt-blue-soft);color:var(--mt-blue)}.mobile-secondary.full{width:100%;margin-top:9px}.session-progress-line{height:7px;background:var(--mt-border);border-radius:999px;overflow:hidden;margin-bottom:20px}.session-progress-line div{height:100%;width:0;background:var(--mt-green);border-radius:inherit;transition:width .15s ease}.session-target{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:1.16rem;line-height:1.65;background:linear-gradient(135deg,var(--mt-green-soft),var(--mt-panel));border:1px solid var(--mt-border);border-radius:16px;padding:18px;min-height:128px;max-height:198px;overflow:auto;white-space:pre-wrap}.session-target .typed-correct{color:#148b55}.session-target .typed-wrong{background:#ffe1e4;color:#b91c2b;border-radius:2px}.session-target .current{background:#dcecff;border-bottom:2px solid var(--mt-blue)}.session-input-label{display:block;font-size:.75rem;font-weight:800;color:var(--mt-muted);margin:14px 2px 6px}.session-input{width:100%;box-sizing:border-box;border:2px solid var(--mt-border);border-radius:13px;padding:13px 14px;background:var(--mt-panel);color:var(--mt-ink);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:1rem;resize:none;outline:none}.session-input:focus{border-color:var(--mt-blue);box-shadow:0 0 0 3px rgba(23,105,255,.1)}.session-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;border-top:1px solid var(--mt-border);border-bottom:1px solid var(--mt-border)}.session-stats div{text-align:center;padding:13px 4px;position:relative}.session-stats div+div::before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:1px;background:var(--mt-border)}.session-stats strong,.session-stats span{display:block}.session-stats strong{font-size:1.08rem;color:var(--mt-ink)}.session-stats span{font-size:.64rem;color:var(--mt-muted);margin-top:2px}.session-actions{display:flex;gap:8px;justify-content:center;margin-top:10px}.mobile-danger-text{border:0;background:transparent;color:var(--mt-red);font-weight:800;padding:12px;cursor:pointer}.mobile-option-block{margin-top:22px}.mobile-option-block h3,.result-insights h3{font-size:.82rem;margin:0 0 10px;color:var(--mt-ink)}.time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-options button{border:1px solid var(--mt-border);background:var(--mt-panel);border-radius:13px;padding:14px 8px;color:var(--mt-ink);font-size:1.15rem;font-weight:800;cursor:pointer}.time-options button span{display:block;font-size:.63rem;margin-top:2px;font-weight:600}.time-options button.selected{background:var(--mt-blue);color:white;border-color:var(--mt-blue)}.practice-content-list{display:grid;gap:7px}.practice-content-list button{display:grid;grid-template-columns:42px 1fr 16px;align-items:center;gap:10px;border:0;background:transparent;color:var(--mt-ink);padding:8px 2px;text-align:left;border-radius:12px;cursor:pointer}.practice-content-list button:hover{background:var(--mt-blue-soft)}.practice-content-list strong,.practice-content-list small{display:block}.practice-content-list strong{font-size:.88rem}.practice-content-list small{font-size:.68rem;color:var(--mt-muted);margin-top:3px}.practice-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;font-weight:800}.practice-icon.green{background:#daf7e9}.practice-icon.blue{background:#deebff}.practice-icon.purple{background:#eee9ff}.practice-icon.orange{background:#ffecd8}.practice-icon.pink{background:#ffe1ee}.practice-icon.red{background:#ffe2e3}.game-heading{display:flex;gap:12px;align-items:center}.game-heading>span{font-size:2rem}.game-stats{display:grid;grid-template-columns:1fr 1fr 1fr 44px;gap:7px;margin:20px 0}.game-stats>div{border-radius:12px;padding:9px 4px;text-align:center}.game-stats>div:nth-child(1){background:#e5f3ff}.game-stats>div:nth-child(2){background:#ffe8ee}.game-stats>div:nth-child(3){background:#e5f7e9}.game-stats span,.game-stats strong{display:block}.game-stats span{font-size:.62rem;color:#53708d}.game-stats strong{font-size:1rem;color:#1769ff}.game-stats button{border:0;border-radius:12px;background:var(--mt-blue-soft);color:var(--mt-blue);font-weight:800;cursor:pointer}.game-scene{height:270px;border-radius:19px;background:linear-gradient(#dff3ff 0 65%,#a6e2c7 65% 100%);display:grid;place-items:center;position:relative;overflow:hidden}.game-scene::after{content:"";position:absolute;width:130%;height:90px;bottom:-58px;border-radius:50%;background:#7ac99e}.game-word{position:relative;z-index:2;background:var(--mt-panel);color:#17975d;border-radius:14px;padding:16px 30px;font-size:1.6rem;font-weight:800;box-shadow:0 8px 20px rgba(25,104,77,.14)}.game-scene p{position:absolute;bottom:24px;left:20px;right:20px;text-align:center;z-index:2;color:#355b6d;font-size:.72rem}.game-word-timer{position:absolute;top:16px;left:18px;right:18px;height:6px;background:rgba(255,255,255,.6);border-radius:999px;overflow:hidden}.game-word-timer div{height:100%;width:100%;background:var(--mt-blue);transition:width .1s linear}.game-input{width:100%;box-sizing:border-box;margin-top:12px;border:2px solid var(--mt-border);background:var(--mt-panel);color:var(--mt-ink);border-radius:13px;padding:13px 14px;font-size:1rem;outline:none}.game-input:focus{border-color:var(--mt-blue)}.game-footer-actions{margin-top:10px}.results-trophy{text-align:center;font-size:2.5rem;margin-bottom:8px}.mobile-view[data-view="results"]>h2,.mobile-view[data-view="results"]>p{text-align:center}.mobile-view[data-view="results"]>p{color:var(--mt-muted);font-size:.82rem;margin:5px 0 18px}.mobile-result-grid{display:grid;grid-template-columns:repeat(3,1fr);background:var(--mt-blue-soft);border-radius:15px;margin-bottom:22px}.mobile-result-grid div{text-align:center;padding:15px 4px}.mobile-result-grid strong,.mobile-result-grid span{display:block}.mobile-result-grid strong{font-size:1.2rem;color:var(--mt-blue)}.mobile-result-grid span{font-size:.62rem;color:var(--mt-muted);margin-top:3px}.result-insights{display:grid;gap:16px;margin-bottom:20px}.chip-row{display:flex;gap:7px;flex-wrap:wrap;min-height:28px}.chip-row span{min-width:28px;height:28px;border-radius:999px;display:grid;place-items:center;padding:0 8px;font-weight:800;font-size:.72rem}.chip-row.positive span{background:#dcf8e7;color:#16764a}.chip-row.negative span{background:#ffe2e4;color:#bf2634}.chip-row.warning span{background:#fff1d8;color:#a3610c}.why-cards{display:grid;gap:10px;margin-top:20px}.why-cards article{border:1px solid var(--mt-border);border-radius:16px;padding:16px}.why-cards article>span{font-size:1.4rem}.why-cards h3{font-size:.95rem;margin:9px 0 4px}.why-cards p{font-size:.8rem;line-height:1.5;color:var(--mt-muted);margin:0}.why-actions{margin-top:15px}.mobile-seo-section{margin:28px auto 0;width:min(980px,100%);background:var(--mt-panel);border:1px solid var(--mt-border);border-radius:24px;padding:30px;box-shadow:0 10px 35px rgba(15,35,70,.05)}.mobile-seo-section h2{font-family:Poppins,Inter,sans-serif;font-size:1.8rem;margin:10px 0}.mobile-seo-section>div>p{color:var(--mt-muted);line-height:1.7}.mobile-seo-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.mobile-seo-grid article{border-top:1px solid var(--mt-border);padding-top:16px}.mobile-seo-grid h3{font-size:1rem;margin:0 0 6px}.mobile-seo-grid p{font-size:.84rem;line-height:1.6;color:var(--mt-muted);margin:0}.mobile-seo-grid a{color:var(--mt-blue)}
body.mobile-session-active .mobile-breadcrumbs,body.mobile-session-active .mobile-seo-section{display:none}.mobile-workspace.keyboard-open{min-height:calc(var(--visual-viewport-height,100vh) - 10px)}
@media(max-width:720px){.mobile-site-header{display:none!important}.mobile-site-footer{display:none}.mobile-module-shell{width:100%;padding:0;min-height:100svh}.mobile-breadcrumbs{display:none}.mobile-workspace{width:100%;min-height:100svh;border:0;border-radius:0;box-shadow:none}.mobile-view{padding:23px 18px 28px}.mobile-appbar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-top:env(safe-area-inset-top);height:calc(62px + env(safe-area-inset-top))}.mobile-home-view{padding-top:20px}.phone-hero{height:185px}.phone-shell{height:174px;width:140px}.hero-thumb-left{left:50px}.hero-thumb-right{right:50px}.mobile-seo-section{border-radius:0;border-left:0;border-right:0;margin:0;padding:26px 18px}.mobile-seo-grid{grid-template-columns:1fr}.mobile-session-view{padding-bottom:max(16px,env(safe-area-inset-bottom))}.session-target{font-size:1.02rem;min-height:105px;max-height:150px}.session-input{font-size:16px}.game-scene{height:235px}.game-input{font-size:16px}}
@media(max-width:380px){.mobile-action-card{min-height:100px;padding:12px}.mobile-action-card small{font-size:.68rem}.mobile-hero-copy h1{font-size:2.45rem}.thumb-row span{width:27px;height:32px;font-size:.72rem}.thumb-keyboard{padding-left:5px;padding-right:5px}.mobile-result-grid strong{font-size:1.05rem}}


/* ==========================================================
   v17.10.54 MOBILE REAL-DEVICE UI POLISH
   Android/iPhone fixes from live screenshots:
   - wrapped 2–3 line target viewport (no horizontal scrolling)
   - stronger dark-mode contrast
   - compact keyboard-open session layout
   - resilient app bar on narrow / enlarged-text screens
   - clearer secondary actions
========================================================== */
.mobile-appbar{grid-template-columns:42px minmax(0,1fr) 42px}
.mobile-appbar-title{min-width:0;overflow:hidden;padding:0 6px}
.mobile-appbar-title strong,.mobile-appbar-title small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-appbar-title strong{font-size:.96rem}
.mobile-appbar-title small{font-size:.67rem}
.session-target{
  box-sizing:border-box;
  display:block;
  width:100%;
  min-width:0;
  height:calc(3 * 1.58em + 34px);
  min-height:calc(3 * 1.58em + 34px);
  max-height:calc(3 * 1.58em + 34px);
  padding:17px 16px;
  line-height:1.58;
  white-space:normal!important;
  overflow-wrap:break-word;
  word-break:normal;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:none;
  overscroll-behavior:contain;
  background:#f4f8ff;
  border-color:#cad7e8;
  color:#17243a;
}
.session-target::-webkit-scrollbar{display:none}
.session-target span{white-space:pre-wrap}
.session-target .typed-correct{color:#087a47;font-weight:600}
.session-target .typed-wrong{background:#ffd8dd;color:#9f1239;font-weight:700;border-radius:4px}
.session-target .current{background:#1769ff;color:#fff;border-bottom:0;border-radius:4px;box-shadow:0 0 0 2px rgba(23,105,255,.18)}
html[data-theme="dark"] .session-target{background:#0c1b2b;border-color:#334862;color:#eef5ff}
html[data-theme="dark"] .session-target .typed-correct{color:#42d392}
html[data-theme="dark"] .session-target .typed-wrong{background:#7f1d34;color:#fff1f3}
html[data-theme="dark"] .session-target .current{background:#2f7fff;color:#fff}
@media(prefers-color-scheme:dark){html[data-theme="system"] .session-target{background:#0c1b2b;border-color:#334862;color:#eef5ff}html[data-theme="system"] .session-target .typed-correct{color:#42d392}html[data-theme="system"] .session-target .typed-wrong{background:#7f1d34;color:#fff1f3}html[data-theme="system"] .session-target .current{background:#2f7fff;color:#fff}}
.mobile-secondary{color:var(--mt-ink);border:1px solid var(--mt-border);background:var(--mt-blue-soft)}
.mobile-secondary.full{color:var(--mt-ink);font-weight:800}
@media(max-width:720px){
  .mobile-appbar{height:58px;padding-top:env(safe-area-inset-top)}
  .mobile-view{padding:20px 16px 24px}
  .mobile-home-view{padding-top:16px}
  .mobile-hero-copy h1{font-size:clamp(2.05rem,11vw,2.9rem);line-height:1.01;margin:10px 0 12px}
  .mobile-hero-copy p{font-size:.94rem;line-height:1.45}
  .phone-hero{height:164px;margin-top:12px}
  .phone-shell{height:156px;width:128px;border-width:7px;padding-top:31px}
  .hero-thumb{width:72px;height:128px}
  .hero-thumb-left{left:42px}.hero-thumb-right{right:42px}
  .mobile-action-card{min-height:102px;padding:13px}
  .session-target{font-size:1.02rem;height:calc(3 * 1.58em + 30px);min-height:calc(3 * 1.58em + 30px);max-height:calc(3 * 1.58em + 30px);padding:15px 14px}
  .session-input{min-height:72px;max-height:88px;padding:11px 12px;line-height:1.4}
  .session-input-label{margin-top:11px}
  .session-stats{margin-top:12px}
  .session-stats strong{font-size:1.05rem}
}
@media(max-width:420px){
  .mobile-appbar-title strong{font-size:.9rem}.mobile-appbar-title small{font-size:.61rem}
  .mobile-hero-copy h1{font-size:clamp(2rem,12vw,2.55rem)}
  .phone-hero{height:150px}
  .mobile-action-grid{gap:8px;padding:8px}.mobile-action-card{min-height:94px;padding:12px}
  .session-target{height:calc(2 * 1.55em + 28px);min-height:calc(2 * 1.55em + 28px);max-height:calc(2 * 1.55em + 28px);line-height:1.55}
}
.mobile-workspace.keyboard-open .mobile-appbar{height:52px}
.mobile-workspace.keyboard-open .mobile-appbar-title small{display:none}
.mobile-workspace.keyboard-open .mobile-session-view{padding-top:14px;padding-bottom:8px}
.mobile-workspace.keyboard-open .session-progress-line{margin-bottom:12px}
.mobile-workspace.keyboard-open .session-target{height:calc(2 * 1.5em + 26px);min-height:calc(2 * 1.5em + 26px);max-height:calc(2 * 1.5em + 26px);line-height:1.5;padding:12px 13px}
.mobile-workspace.keyboard-open .session-input-label{margin-top:8px}
.mobile-workspace.keyboard-open .session-input{min-height:58px;max-height:70px;padding:9px 11px}
.mobile-workspace.keyboard-open .session-stats{margin-top:9px;padding-top:9px}
.mobile-workspace.keyboard-open .session-actions{display:none}

/* ==========================================================
   v17.10.55 INPUT-LESS MOBILE TYPING + BRAND IDENTITY
   - remove visible typing textarea from mobile sessions
   - tap target passage to focus hidden input
   - keep centered app bar even on home screen
   - add compact TypingTutor identity mark
========================================================== */
.mobile-appbar-title{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.mobile-appbar-heading{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:100%}
.mobile-appbar-heading strong{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-appbar-logo{width:18px;height:18px;flex:0 0 18px;display:block}
.mobile-back.is-placeholder{visibility:hidden;pointer-events:none}
.session-target{cursor:text;position:relative}
.session-target.is-input-active{border-color:var(--mt-blue)!important;box-shadow:0 0 0 3px rgba(23,105,255,.12)}
.session-input-hidden{position:fixed!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important;resize:none!important;background:transparent!important;color:transparent!important}
.session-input-hidden::placeholder{color:transparent}
@media(max-width:720px){
  .session-target{margin-bottom:12px}
  .session-stats{margin-top:0}
  .session-actions{margin-top:12px}
}
@media(max-width:420px){
  .mobile-appbar-logo{width:17px;height:17px;flex-basis:17px}
}
.game-scene{cursor:text}
.game-input-hidden{position:fixed!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important;background:transparent!important;color:transparent!important}
@media(max-width:720px){
  .game-scene{height:252px}
  .game-footer-actions{margin-top:14px}
}

/* ==========================================================
   v17.10.56 REAL TYPINGTUTOR.ONLINE LOGO IN MOBILE MODULE
========================================================== */
.mobile-appbar-title{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px}
.mobile-appbar-brandmark{display:block;width:170px;max-width:100%;height:22px;object-fit:contain}
.mobile-appbar-title strong{display:block;font-family:Poppins,Inter,sans-serif;font-size:1rem;line-height:1.05}
.mobile-appbar-title small{display:block;color:var(--mt-muted);font-size:.72rem;margin-top:1px}
@media(max-width:420px){
  .mobile-appbar-brandmark{width:152px;height:20px}
  .mobile-appbar-title strong{font-size:.98rem}
  .mobile-appbar-title small{font-size:.69rem}
}

/* ==========================================================
   v17.10.57 LOGO-ONLY MOBILE HEADER
========================================================== */
.mobile-appbar-brandlink{display:inline-flex;align-items:center;justify-content:center;max-width:100%;text-decoration:none}
.mobile-appbar-hidden-title{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.mobile-appbar-title{gap:3px}
.mobile-appbar-brandmark{display:block;width:166px;max-width:100%;height:22px;object-fit:contain}
.mobile-appbar-title small{display:block;color:var(--mt-muted);font-size:.78rem;line-height:1.15;margin-top:0}
@media(max-width:420px){
  .mobile-appbar-brandmark{width:150px;height:20px}
  .mobile-appbar-title small{font-size:.72rem}
}
