.spk-app{
  --spk-page:#f4f7fb;--spk-card:#fff;--spk-heading:#17365d;--spk-text:#1f2937;--spk-primary:#2563eb;--spk-start:#16a34a;--spk-secondary:#e5e7eb;--spk-secondary-text:#111827;--spk-exit:#dc2626;--spk-success:#16a34a;--spk-wrong:#dc2626;--spk-current:#2563eb;--spk-pending:#d1d5db;--spk-border:#d7dee8;
  box-sizing:border-box;font-family:"Times New Roman",Times,serif;background:linear-gradient(180deg,#f8fbff 0%,var(--spk-page) 100%);color:var(--spk-text);min-height:78vh;padding:14px;border-radius:18px;line-height:1.35
}
.spk-app,.spk-app *{box-sizing:border-box;font-family:"Times New Roman",Times,serif!important}
.spk-shell{max-width:900px;margin:0 auto}
.spk-card{background:var(--spk-card);border:1px solid var(--spk-border);border-radius:20px;box-shadow:0 8px 26px rgba(17,24,39,.10);display:flex;flex-direction:column;min-height:70vh;overflow:hidden}
.spk-scroll{padding:20px;min-height:0;overflow-y:auto;overflow-x:hidden;flex:1;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.spk-scroll.spk-center{display:flex;flex-direction:column;justify-content:center}
.spk-footer{flex:0 0 auto;display:flex;gap:10px;align-items:stretch;padding:12px 18px 22px;background:rgba(255,255,255,.98);border-top:1px solid var(--spk-border);z-index:20;box-shadow:0 -6px 18px rgba(17,24,39,.05)}
.spk-footer .spk-btn{flex:1;min-width:0}
.spk-title{text-align:center;color:var(--spk-heading);font-size:30px;font-weight:700;margin:2px 0 18px;letter-spacing:.2px}.spk-subtitle{text-align:center;color:var(--spk-heading);font-size:24px;font-weight:700;margin:0 0 16px}
.spk-field{margin:14px 0}.spk-field label{display:block;font-weight:700;font-size:19px;margin:0 0 7px;color:var(--spk-heading)}
.spk-field select{display:block!important;width:100%!important;height:60px!important;min-height:60px!important;max-height:none!important;padding:0 44px 0 16px!important;line-height:normal!important;font-size:18px!important;font-weight:400!important;text-indent:0!important;overflow:visible!important;border:1px solid var(--spk-border);border-radius:14px;background:#fff;color:var(--spk-text);box-shadow:inset 0 1px 2px rgba(17,24,39,.04)}
.spk-field select option{font-size:17px;line-height:1.35;padding:8px}
.spk-btn{appearance:none;border:1px solid rgba(107,114,128,.42);border-radius:16px;padding:11px 14px;font-weight:700;font-size:18px;line-height:1.15;cursor:pointer;min-height:50px;transition:opacity .15s ease,border-color .15s ease;white-space:normal;background:var(--spk-secondary);color:var(--spk-secondary-text);box-shadow:none!important;text-shadow:none!important;background-image:none!important;filter:none!important}
.spk-btn:active{opacity:.86}.spk-btn:disabled{opacity:.45;cursor:not-allowed}
.spk-btn-start{background-color:var(--spk-start);color:#fff}.spk-btn-primary{background-color:var(--spk-primary);color:#fff}.spk-btn-secondary{background-color:var(--spk-secondary);color:var(--spk-secondary-text);border-color:#aab1ba}.spk-btn-exit{background-color:var(--spk-exit);color:#fff}.spk-btn-success{background-color:var(--spk-success);color:#fff}.spk-btn.is-listening{outline:3px solid rgba(22,163,74,.22)}
.spk-sentence-list{display:flex;flex-direction:column;gap:10px}.spk-sentence-row{display:grid;grid-template-columns:48px 1fr 1fr;gap:10px;align-items:stretch;border:1px solid var(--spk-border);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 2px 6px rgba(17,24,39,.035)}.spk-sentence-row.spk-no-num{grid-template-columns:1fr 1fr;gap:0}.spk-num{display:flex;align-items:center;justify-content:center;font-weight:700;background:#f3f4f6;padding:10px}.spk-inline-num{display:inline-flex;border-radius:10px;padding:7px 13px}.spk-cell{padding:12px 14px;font-size:19px;display:flex;align-items:center}.spk-cell+.spk-cell{border-left:1px solid var(--spk-border)}
.spk-learn-pair{display:grid;grid-template-columns:48px 1fr 1fr;border:1px solid var(--spk-border);border-radius:15px;overflow:hidden;margin:10px 0;background:#fff;box-shadow:0 2px 8px rgba(17,24,39,.04)}.spk-learn-pair .spk-cell{min-height:74px;font-size:21px;font-weight:400!important}.spk-learn-pair .spk-telugu,.spk-learn-pair .spk-english{font-weight:400!important}
.spk-practice-box{border:1px solid var(--spk-border);border-radius:17px;padding:18px;text-align:center;background:#fff;box-shadow:0 3px 10px rgba(17,24,39,.05)}.spk-telugu-prompt{font-size:24px;font-weight:600;margin:6px 0 16px;color:var(--spk-heading)}.spk-listening{display:inline-flex;align-items:center;gap:8px;margin:8px 0}.spk-mic-dot{width:12px;height:12px;border-radius:50%;background:var(--spk-wrong)}.spk-listening.is-on .spk-mic-dot{background:var(--spk-success);animation:spkblink .8s infinite}
.spk-answer-input{display:block;width:100%;min-height:76px;resize:vertical;border:1px solid var(--spk-border);border-radius:13px;padding:11px 12px;font-size:19px;line-height:1.35;text-align:left;background:#fbfcfe;color:var(--spk-text);margin:10px 0;outline:none}.spk-answer-input:focus{border-color:var(--spk-current);box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.spk-feedback{font-weight:700;font-size:20px;min-height:26px;margin:8px 0}.spk-feedback.ok{color:var(--spk-success)}.spk-feedback.bad{color:var(--spk-wrong)}
@keyframes spkblink{0%,100%{opacity:1}50%{opacity:.25}}
.spk-recall-lines{display:flex;flex-direction:column;gap:11px;margin:12px 0 18px}.spk-recall-line{display:grid;grid-template-columns:42px 1fr;align-items:end;min-height:44px;padding:4px 2px}.spk-recall-num{font-size:21px;font-weight:700}.spk-recall-answer{display:block;min-height:34px;border-bottom:2px solid #6b7280;padding:3px 8px;font-size:19px;overflow-wrap:anywhere}.spk-recall-line.current .spk-recall-num{color:var(--spk-current)}.spk-recall-line.current .spk-recall-answer{border-bottom-color:var(--spk-current);background:rgba(37,99,235,.05)}
.spk-recall-note{text-align:center;font-size:18px;margin:6px 0 12px}.spk-recall-box{margin-bottom:8px}.spk-score-wrap{text-align:center;padding:18px}.spk-score-big{font-size:58px;font-weight:700;color:var(--spk-primary);line-height:1;margin:12px 0}.spk-score-meta{font-size:20px;margin:8px 0}.spk-loading{text-align:center;padding:30px;font-size:20px}.spk-empty{padding:18px;text-align:center;border:1px dashed var(--spk-border);border-radius:12px;background:#fff}.spk-small{font-size:15px;opacity:.75;text-align:center;margin-top:8px}
.spk-modal{position:absolute;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(15,23,42,.38);backdrop-filter:blur(2px)}.spk-modal-card{width:min(92%,390px);background:#fff;border:1px solid var(--spk-border);border-radius:20px;padding:24px;box-shadow:0 18px 50px rgba(15,23,42,.28)}.spk-modal-text{text-align:center;font-size:24px;font-weight:700;color:var(--spk-heading);margin-bottom:20px}.spk-modal-actions{display:flex;gap:12px}.spk-modal-actions .spk-btn{flex:1}

@media(max-width:1024px){
  .spk-app{position:fixed!important;inset:0!important;z-index:2147483000!important;width:100vw!important;max-width:none!important;height:100vh!important;height:100dvh!important;min-height:100vh!important;min-height:100dvh!important;margin:0!important;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)!important;border:0!important;border-radius:0!important;overflow:hidden!important;overscroll-behavior:none}
  .spk-shell{width:100%;max-width:100%;height:100%;min-height:0;margin:0 auto}
  .spk-card{width:100%;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}
  .spk-scroll{padding:14px 12px 12px}
  .spk-footer{padding:10px 10px calc(22px + env(safe-area-inset-bottom,0px));gap:7px}
  .spk-title{font-size:clamp(24px,7vw,32px);line-height:1.12;overflow-wrap:anywhere}
  .spk-subtitle{font-size:clamp(20px,5.5vw,26px);line-height:1.2;overflow-wrap:anywhere}
  .spk-field label{font-size:clamp(18px,5vw,23px);line-height:1.2}
  .spk-field select{height:58px!important;min-height:58px!important;padding:0 40px 0 14px!important;font-size:clamp(16px,4.4vw,19px)!important}
  .spk-btn{font-size:clamp(14px,4vw,17px);padding:10px 8px;min-height:50px;line-height:1.12;border-radius:18px}
  .spk-sentence-row,.spk-learn-pair{grid-template-columns:40px 1fr 1fr;gap:0}.spk-sentence-row.spk-no-num{grid-template-columns:1fr 1fr}.spk-cell{font-size:17px;padding:10px 8px}.spk-learn-pair .spk-cell{font-size:18px}.spk-telugu-prompt{font-size:21px}.spk-answer-input{font-size:18px}
}
@media(max-width:420px){
  .spk-footer{gap:5px;padding-left:7px;padding-right:7px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.spk-btn{font-size:14px;padding-left:5px;padding-right:5px}.spk-recall-line{grid-template-columns:34px 1fr}.spk-recall-num{font-size:18px}.spk-recall-answer{font-size:17px}.spk-modal-text{font-size:21px}
}


/* v1.0.7: blog-like overview, compact recall area, and inside BACK buttons */
.spk-blog-table-wrap{width:100%;overflow-x:auto;margin:0}
.spk-blog-table{width:100%;border-collapse:collapse;border-spacing:0;background:#fff;table-layout:fixed;margin:0}
.spk-blog-table td{width:50%;border:1px solid var(--spk-border);padding:10px 12px;vertical-align:middle;font-size:19px;line-height:1.35;font-weight:400;background:#fff}
.spk-inside-nav{display:flex;justify-content:flex-start;margin:0 0 10px}
.spk-inline-back{width:auto;min-width:112px;min-height:42px;padding:8px 14px;font-size:16px}
.spk-recall-bigbox{border:1px solid var(--spk-border);border-radius:14px;background:#fff;padding:8px 12px;margin:6px 0 8px;max-height:min(50vh,460px);overflow-y:auto}
.spk-recall-bigbox .spk-recall-lines{margin:0;gap:5px}
.spk-recall-bigbox .spk-recall-line{min-height:36px;padding:2px 0}
.spk-recall-note{margin:4px 0 4px}

@media(max-width:1024px){
  .spk-blog-table td{font-size:17px;padding:9px 8px}
  .spk-recall-bigbox{max-height:46vh;padding:6px 9px}
  .spk-inline-back{min-height:40px;font-size:15px}
}

/* v1.0.8: blog-style Screen 3 and direct typing/speech in Screen 5 rows */
.spk-learn-blog-wrap{margin:0}
.spk-learn-blog-table td{font-weight:400!important}
.spk-recall-row-input{display:block;width:100%;min-width:0;min-height:34px;height:auto;resize:none;border:0;border-bottom:2px solid var(--spk-current);border-radius:0;padding:3px 8px;font-size:19px;line-height:1.35;background:rgba(37,99,235,.035);color:var(--spk-text);outline:none;overflow:hidden}
.spk-recall-row-input:focus{background:rgba(37,99,235,.06);box-shadow:none}
.spk-recall-row-input.is-ok{border-bottom-color:var(--spk-success);background:rgba(22,163,74,.05)}
.spk-recall-row-input.is-bad{border-bottom-color:var(--spk-wrong);background:rgba(220,38,38,.05)}
.spk-recall-feedback{min-height:0!important;margin:2px 0 0!important;font-size:16px!important;text-align:center}
.spk-recall-bigbox{margin-bottom:0}
@media(max-width:1024px){
  .spk-recall-row-input{font-size:17px;padding:3px 6px}
}


/* v1.0.9: Screen 5 full-height sentence box and unclipped multi-line answers */
.spk-scroll.spk-recall-scroll{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.spk-recall-scroll .spk-subtitle{
  flex:0 0 auto;
  margin-bottom:10px;
}
.spk-recall-scroll .spk-recall-bigbox{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow-y:auto;
  margin:0;
  padding:10px 12px;
}
.spk-recall-scroll .spk-recall-lines{
  margin:0;
  gap:8px;
}
.spk-recall-scroll .spk-recall-line{
  min-height:46px;
  align-items:start;
}
.spk-recall-row-input{
  min-height:42px;
  height:auto;
  overflow-y:hidden;
  overflow-x:hidden;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:break-word;
  padding-top:5px;
  padding-bottom:5px;
}
.spk-recall-answer{
  min-height:42px;
  line-height:1.4;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
@media(max-width:1024px){
  .spk-recall-scroll .spk-recall-bigbox{padding:8px 10px}
  .spk-recall-scroll .spk-recall-line{min-height:44px}
  .spk-recall-row-input,.spk-recall-answer{min-height:40px;line-height:1.42}
}
