#bank-account{font:16px/1.5 Arial,sans-serif;color:#283943;max-width:460px;margin:8vh auto;padding:24px}
#bank-account[hidden]{display:none}
.bank-login{border:1px solid #dce5eb;border-radius:10px;padding:28px;background:white}
.bank-login h1{font-size:23px;margin:0 0 10px}.bank-login label{display:block;margin:14px 0}
.bank-login input{display:block;box-sizing:border-box;width:100%;padding:10px;border:1px solid #cbd9e1;border-radius:5px;margin-top:5px;font:inherit}
.bank-login button,#bank-userbar button{font:inherit;border:1px solid #dce5eb;border-radius:5px;padding:9px 14px;cursor:pointer}
.bank-login button{background:#245b70;color:white}.bank-login .secondary{background:white;color:#245b70;margin-left:6px}
.bank-login details{margin:20px 0}.bank-login summary{cursor:pointer;color:#506c7d}#bank-message{font-size:14px}
#bank-userbar{font:13px Arial,sans-serif;color:#526875;display:flex;justify-content:flex-end;gap:16px;align-items:center;padding:8px 16px}
#bank-userbar button{background:white;color:#526875;padding:5px 10px}
#bank-status{font:12px Arial,sans-serif;position:fixed;bottom:4px;left:22px;z-index:1000;padding:4px 8px;border-radius:4px;background:#edf3f6;color:#245b70;max-width:70vw}
#bank-status.error{background:#fff0f1;color:#9d2635}
.bank-family{display:inline-flex;flex:none;gap:var(--bank-entry-gap);align-items:center;white-space:nowrap}
.bank-family-notice{font-size:12px;color:#526875;margin:4px 0}
.bank-exam-list{display:flex;flex-direction:column;gap:12px}
.bank-exam-list>a{display:block;padding:10px;color:#245b70;text-decoration:none;border-bottom:1px solid #dce5eb}
/* The exam entry follows the same no-underline rule as module entries. */
#telc-desktop-v57 #td-selection #td-exam-catalog .bank-exam-list>a,
#telc-desktop-v57 #td-selection #td-exam-catalog .bank-exam-list>a:hover,
#telc-desktop-v57 #td-selection #td-exam-catalog .bank-exam-list>a:focus-visible,
#telc-desktop-v57 #td-selection #td-exam-catalog .bank-exam-list>a.de-in-progress,
#telc-desktop-v57 #td-selection #td-exam-catalog .bank-exam-list>a.de-in-progress:hover,
#telc-desktop-v57 #td-selection #td-exam-catalog .bank-exam-list>a.de-completed,
#telc-desktop-v57 #td-selection #td-exam-catalog .bank-exam-list>a.de-completed:hover{
 text-decoration:none;
 border-bottom:0;
 box-shadow:none;
 background-image:none;
}
/* Module catalog: each variant is one non-wrapping tap target; spacing belongs to the grid. */
#telc-desktop-v57 #td-selection #td-module-catalog{
 --bank-entry-width:52px;
 --bank-entry-gap:4px;
 --bank-family-gap:10px;
}
#telc-desktop-v57 #td-selection #td-module-catalog .de-number-grid{
 display:grid;
 grid-template-columns:repeat(auto-fill,var(--bank-entry-width));
 align-items:stretch;
 column-gap:var(--bank-family-gap);
 row-gap:12px;
 min-width:0;
}
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family{
 display:contents;
}
#telc-desktop-v57 #td-selection #td-module-catalog .de-part-group{
 margin-bottom:22px;align-items:start;
}
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family>a{
 display:inline-flex;
 position:relative;
 box-sizing:border-box;
 flex:0 0 var(--bank-entry-width);
 width:var(--bank-entry-width);
 min-width:var(--bank-entry-width);
 min-height:38px;
 padding:6px 4px;
 white-space:nowrap;
 overflow:visible;
 line-height:1.2;
 text-decoration:none;
 border-bottom:0;
 box-shadow:none;
 background-image:none;
}
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family>a{
 justify-content:center;border:1px solid #dce5eb;border-radius:4px;background:#fff;
 font-variant-numeric:tabular-nums;
}
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family>a:hover,
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family>a:focus-visible,
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family>a.de-in-progress,
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family>a.de-completed,
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family>a.de-in-progress:hover,
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family>a.de-completed:hover{
 text-decoration:none;
 border-bottom:0;
 box-shadow:none;
 background-image:none;
}
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family .de-progress-mark,
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family .de-completion-mark{
 position:absolute;
 top:-6px;
 right:-5px;
 width:14px;
 height:14px;
 line-height:14px;
}
#telc-desktop-v57 #td-selection #td-module-catalog .bank-family .de-progress-mark{
 background:transparent;
 border:0;
 box-shadow:none;
 border-radius:0;
 font-size:14px;
}
@media(pointer:coarse){
 #telc-desktop-v57 #td-selection #td-module-catalog .bank-family>a{min-height:44px}
}
.td-source-image{margin:0;max-width:100%;min-width:0}
.td-source-image img{display:block;width:100%;height:auto;max-width:100%}
.td-source-image a:focus-visible{outline:3px solid #205f78;outline-offset:3px}
.td-source-image figcaption{font-size:.85rem;margin-top:8px;color:#526875}
/* Two compact columns; only wide advertisements span the full material area. */
#telc-desktop-v57.td-reading-three #td-material .td-ad-grid.td-ad-image-list{
 grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px;column-gap:24px;
}
#telc-desktop-v57.td-reading-three #td-material .td-ad-image-list .td-ad-card{
 padding:0;margin:0;
}
#telc-desktop-v57.td-reading-three #td-material .td-ad-image-list .td-ad-wide{grid-column:1 / -1}
#telc-desktop-v57.td-reading-three #td-material .td-ad-image-list.td-ad-packed{display:block;position:relative}
#telc-desktop-v57.td-reading-three #td-material .td-ad-packed .td-ad-card{position:absolute}
#telc-desktop-v57 .td-ad-zoom{display:flex;align-items:center;gap:8px;margin-bottom:12px}
#telc-desktop-v57 .td-ad-zoom button[aria-pressed="true"]{background:#245b70;color:white}
/* Plain compact paper-style option banks, shared across both exercise modes. */
/* Module training only. Preserve the simulation's original material and styles. */
#telc-desktop-v57:not(#bank-unused).td-grammar-one #td-material .td-letter-options{display:none}
#telc-desktop-v57.td-grammar-one #td-questions .td-grammar-item>p,
#telc-desktop-v57.td-grammar-one #td-questions .td-grammar-options .td-choice>span{
 font-family:Arial,sans-serif;font-size:var(--td-font-body);font-weight:400;line-height:1.4;
}
#telc-desktop-v57.td-grammar-one #td-questions .td-grammar-item{
 grid-template-columns:32px minmax(0,1fr);column-gap:8px;align-items:center;
}
#telc-desktop-v57.td-grammar-session #td-material .td-bank{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
 grid-template-rows:repeat(4,auto);grid-auto-flow:column;gap:8px 20px;
 margin:20px 0 0;padding:0;background:transparent;border:0;
}
#telc-desktop-v57.td-grammar-session #td-material .td-bank>span{
 background:transparent;padding:0;border:0;border-radius:0;line-height:1.45;
}
#telc-desktop-v57.td-grammar-session #td-material .td-letter-options{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
 gap:20px;margin-top:20px;font-family:Arial,sans-serif;font-size:16px;line-height:1.4;
}
.td-letter-option-column{display:flex;flex-direction:column;gap:20px;min-width:0}
.td-letter-option-group{display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;align-items:start;break-inside:avoid}
#telc-desktop-v57 #td-material .td-letter-option-group strong{font-weight:700}
.td-letter-option-group ol{list-style:none;counter-reset:letter-choice;margin:0;padding:0}
.td-letter-option-group li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:5px;counter-increment:letter-choice;overflow-wrap:break-word}
.td-letter-option-group li::before{content:counter(letter-choice,lower-alpha);font-weight:700}
/* Reading II: source-style reconstruction. Same template for all imported variants. */
#telc-desktop-v57 #td-material .td-readable-article{max-width:900px;margin:0 0 20px;color:#20252a;text-align:left;box-sizing:border-box}
#telc-desktop-v57 #td-material .td-readable-article .td-article-body{border:1px solid #72777b;padding:22px 26px}
#telc-desktop-v57 #td-material .td-readable-article p{font-weight:400;font-size:19px;line-height:1.65;margin:0 0 1em;font-family:Georgia,'Times New Roman',serif;white-space:normal;overflow-wrap:break-word;text-align:left}
#telc-desktop-v57 #td-material .td-readable-article p:last-child{margin-bottom:0}
#telc-desktop-v57 #td-material .td-article-sans p{font-family:Arial,sans-serif;font-size:18px;line-height:1.7}
#telc-desktop-v57 #td-material .td-readable-article h2{font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1.3;font-weight:700;text-align:center;margin:0 auto 18px;padding:10px 16px;border:1px solid #666;border-radius:50% / 18%;width:fit-content;max-width:100%;box-sizing:border-box}
#telc-desktop-v57 #td-material .td-article-sans h2{font-family:Arial,sans-serif;font-size:23px}
#telc-desktop-v57 #td-material .td-readable-article h3{font:700 20px/1.5 Georgia,serif;margin:1.25em 0 .6em}
#telc-desktop-v57 #td-material .td-article-oder{color:#196cbd}
#telc-desktop-v57 #td-material .td-article-purple h2{color:#7426a4}
#telc-desktop-v57 #td-material .td-article-red h2{color:#a12424}
#telc-desktop-v57 #td-material .td-article-green .td-article-body{border-color:#268c5b}
#telc-desktop-v57 #td-material .td-article-grey .td-article-body{background:#f3f3f3}
#telc-desktop-v57 #td-material .td-article-frame{border:1px solid #72777b;padding:20px}
#telc-desktop-v57 #td-material .td-article-frame h2,#telc-desktop-v57 #td-material .td-article-plain h2{border:0;border-radius:0;padding:0}
#telc-desktop-v57 #td-material .td-article-frame .td-article-body,#telc-desktop-v57 #td-material .td-article-plain .td-article-body{border:0;padding:0}
#telc-desktop-v57 #td-material .td-article-reference{max-width:900px;margin:0 0 20px;font-size:14px}
#telc-desktop-v57 #td-material .td-article-reference summary{cursor:pointer;color:#285f73;padding:10px 0}
#telc-desktop-v57 #td-material .td-article-reference summary:focus-visible{outline:2px solid #285f73;outline-offset:3px}
/* Module-only cloze reconstruction; simulation deliberately keeps canonical material. */
#telc-desktop-v57.bank-module-cloze .bank-cloze-article{box-sizing:border-box;max-width:900px;padding:24px 28px;border:1px solid #85898c;background:white;color:#242a2e;font:19px/1.85 Arial,sans-serif}
#telc-desktop-v57.bank-module-cloze .bank-cloze-article p{font:inherit;margin:0 0 1em;overflow-wrap:break-word}
#telc-desktop-v57.bank-module-cloze .bank-cloze-article h2{font:700 21px/1.4 Arial,sans-serif;margin:0 0 22px}
#telc-desktop-v57.bank-module-session #td-hint-panel{display:none!important}
#telc-desktop-v57.bank-module-cloze .bank-cloze-heading{display:block;padding:0;border:0;background:none;box-shadow:none}
#telc-desktop-v57.bank-module-cloze .bank-cloze-heading[data-heading-profile]{margin:0 0 30px;text-align:var(--heading-align)}
#telc-desktop-v57.bank-module-cloze .bank-cloze-heading[data-heading-profile] h2{font-family:var(--heading-family);font-size:var(--heading-size);font-weight:var(--heading-weight);line-height:1.2;margin:0 0 12px}
#telc-desktop-v57.bank-module-cloze .bank-cloze-heading[data-heading-profile] .bank-cloze-subtitle{font-family:var(--heading-family);font-size:var(--subtitle-size);font-weight:var(--subtitle-weight);font-style:var(--subtitle-style);line-height:1.3;margin:0}
#telc-desktop-v57.bank-module-cloze .bank-letter-personal{background:#f5f6f7;border:0}
#telc-desktop-v57.bank-module-cloze .bank-letter-company{border:0}
#telc-desktop-v57.bank-module-cloze .bank-letter-blue .bank-letter-greeting{font-size:24px;font-weight:700;color:#192795}
#telc-desktop-v57.bank-module-cloze .bank-letter-company .bank-letter-greeting,
#telc-desktop-v57.bank-module-cloze .bank-letter-company .bank-letter-closing{font-weight:700}
#telc-desktop-v57.bank-module-cloze .bank-cloze-gap{display:inline-block;vertical-align:baseline;box-sizing:border-box;width:5ch;margin:0 .22em;padding:0 2px 2px;border:0;border-bottom:2px solid #465b64;border-radius:0;background:transparent;box-shadow:none;color:#285667;font:700 15.6px/1.3 Arial,sans-serif;white-space:nowrap;cursor:pointer}
#telc-desktop-v57.bank-module-cloze .bank-cloze-gap.is-answered{background:#e4f0f3}
#telc-desktop-v57.bank-module-cloze .bank-cloze-gap:focus-visible{outline:2px solid #285f73;outline-offset:3px}
#telc-desktop-v57.bank-module-cloze .bank-cloze-reference{font-size:14px;margin:12px 0;max-width:900px}
#telc-desktop-v57.bank-module-cloze .bank-cloze-reference summary{cursor:pointer;color:#285f73}
#telc-desktop-v57.bank-module-cloze .bank-letter-signature{display:block;max-width:100%;overflow:hidden;margin-top:4px}
#telc-desktop-v57.bank-module-cloze .bank-letter-rounded{border-radius:16px}
#telc-desktop-v57.bank-module-cloze .bank-letter-serif{font-family:Georgia,'Times New Roman',serif}
#telc-desktop-v57.bank-module-cloze .bank-letter-blue h2{color:#234b9b}
#telc-desktop-v57.bank-module-cloze .bank-cloze-article h3{font-size:19px;line-height:1.5;margin:22px 0 10px}
#telc-desktop-v57.bank-module-cloze .bank-cloze-wordbank{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,auto);grid-auto-flow:column;gap:6px 16px;padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--td-line);font:400 var(--td-font-body)/1.5 Arial,sans-serif}
#telc-desktop-v57.bank-module-cloze .bank-cloze-wordbank>span{padding:3px 0;background:none;overflow-wrap:anywhere}
#telc-desktop-v57.bank-module-cloze #td-answers-panel{min-width:0;overflow:auto}
#telc-desktop-v57.bank-module-cloze #td-questions [tabindex="-1"]:focus{outline:2px solid #285f73;outline-offset:-2px}
@media(min-width:1051px){
 #telc-desktop-v57:not(#bank-unused).bank-module-cloze .td-work:has(.bank-cloze-article){grid-template-columns:minmax(0,min(919px,calc((100% - 20px) * .54))) minmax(400px,1fr);gap:20px}
}
/* Reading II: prioritize long-form material, without fitting its height. */
#telc-desktop-v57:not(#bank-unused).td-reading-two #td-answers-panel .td-choice{white-space:normal;align-items:flex-start}
#telc-desktop-v57:not(#bank-unused).td-reading-two #td-answers-panel .td-choice>span{min-width:0;overflow-wrap:anywhere}
#telc-desktop-v57:not(#bank-unused).td-reading-two #td-answers-panel input[type="radio"]{flex-shrink:0}
@media(min-width:1051px){
 #telc-desktop-v57:not(#bank-unused).td-reading-two .td-work{
  grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);gap:20px;
 }
 /* Preserve the 1.35:1 allocation until the text reaches 900px.
    919px includes the source's 18px inset and 1px divider; surplus goes to answers.
    Keep image-only simulation materials on their existing layout. */
 #telc-desktop-v57:not(#bank-unused).td-reading-two .td-work:has(.td-readable-article){
  grid-template-columns:minmax(0,min(919px,calc((100% - 20px) * .5744680851))) minmax(360px,1fr);
 }
 #telc-desktop-v57:not(#bank-unused).td-reading-two .td-source{
  min-width:0;padding-right:18px;border-right:1px solid var(--td-line);overflow:auto;
 }
 #telc-desktop-v57:not(#bank-unused).td-reading-two #td-material img{
  width:100%!important;max-width:100%;height:auto;object-fit:contain;
 }
 #telc-desktop-v57:not(#bank-unused).td-reading-two #td-answers-panel{min-width:0;overflow:auto}
}
@media(max-width:1050px){
 #telc-desktop-v57:not(#bank-unused).td-reading-two .td-work{grid-template-columns:minmax(0,1fr);height:auto;overflow:visible}
 #telc-desktop-v57:not(#bank-unused).td-reading-two .td-source,
 #telc-desktop-v57:not(#bank-unused).td-reading-two #td-answers-panel{min-width:0;height:auto;max-height:none;overflow:visible;padding:0;border:0}
 #telc-desktop-v57:not(#bank-unused).td-reading-two #td-material img{width:100%!important;max-width:100%;height:auto}
}
/* Both modes use the same text-based situation template, including hanging numbers. */
#telc-desktop-v57.td-reading-three .bank-situation>p{display:grid;grid-template-columns:26px minmax(0,1fr);gap:6px;font-size:var(--td-font-body);line-height:var(--td-line-body);margin:0 0 6px}
#telc-desktop-v57.td-reading-three .bank-situation .td-letter-choices{margin-left:32px;margin-inline-start:32px}
#telc-desktop-v57 .bank-question-number{font-weight:700}
/* Desktop/laptop comfort: bounded type, never shrink-to-fit question count. */
#telc-desktop-v57:not(#bank-unused){
 --td-font-body:clamp(1.04rem,calc(.89rem + .16vw),1.125rem);
 --td-font-ui:clamp(.94rem,calc(.82rem + .13vw),1rem);
}
#telc-desktop-v57:not(#bank-unused)[data-text-size="small"]{--td-font-body:1.04rem;--td-font-ui:.94rem}
#telc-desktop-v57:not(#bank-unused)[data-text-size="standard"]{--td-font-body:1.125rem;--td-font-ui:1rem}
#telc-desktop-v57:not(#bank-unused)[data-text-size="large"]{--td-font-body:1.25rem;--td-font-ui:1.1rem}
#telc-desktop-v57:not(#bank-unused) .bank-reading-preferences{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:var(--td-font-meta)}
#telc-desktop-v57:not(#bank-unused) .bank-reading-preferences select{font-size:var(--td-font-meta);padding:3px 6px;width:auto}
#telc-desktop-v57:not(#bank-unused) .td-ad-zoom{flex-wrap:wrap;font-size:var(--td-font-meta);gap:5px}
#telc-desktop-v57:not(#bank-unused) .td-ad-zoom button{padding:5px 8px}
@media(min-width:1051px) and (max-width:1700px){
 #telc-desktop-v57:not(#bank-unused){--td-menu-width:144px;--td-reading-inset:12px;--td-reading-gap:16px}
 #telc-desktop-v57:not(#bank-unused).td-reading-session header,
 #telc-desktop-v57:not(#bank-unused).td-reading-session .td-context,
 #telc-desktop-v57:not(#bank-unused).td-reading-session .td-bottom{padding-block:8px}
 #telc-desktop-v57:not(#bank-unused).td-reading-session aside{padding:10px 8px}
 #telc-desktop-v57:not(#bank-unused).td-reading-session .td-map{padding-block:6px}
 #telc-desktop-v57:not(#bank-unused).td-reading-three .td-work{grid-template-columns:minmax(390px,.78fr) minmax(0,1.22fr);gap:12px}
 #telc-desktop-v57:not(#bank-unused).td-reading-three #td-questions{gap:12px}
 #telc-desktop-v57:not(#bank-unused).td-reading-three .td-source{padding-left:10px}
}
#telc-desktop-v57.bank-module-session .bank-heading-used,
#telc-desktop-v57.bank-module-session .bank-word-used{background:#e4f0f3;border-radius:3px}
#telc-desktop-v57.bank-module-session .bank-cloze-wordbank>span{padding:2px 5px}
#telc-desktop-v57.bank-module-session .td-grammar-letter-row:has(.bank-answer-summary) .td-letter-choices{grid-column:2}
#telc-desktop-v57.bank-module-session .bank-answer-summary{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;line-height:1.5;text-align:left}
#telc-desktop-v57.bank-module-session .bank-result-correct{color:#246b42}
#telc-desktop-v57.bank-module-session .bank-result-wrong{color:#b3293d}
#telc-desktop-v57.bank-module-session .bank-result-empty{color:#596b79}
#telc-desktop-v57.bank-module-session #td-session #td-questions label.bank-correct-choice>span{background:#e9f5ed!important;color:#246b42!important;border-color:#75aa8b!important;opacity:1!important}
#telc-desktop-v57.bank-module-session #td-session #td-questions label.bank-wrong-choice>span{background:#fcecef!important;color:#b3293d!important;border-color:#d98290!important;opacity:1!important}
#telc-desktop-v57.bank-module-session .td-letter-choice:has(input:disabled){opacity:1}
#telc-desktop-v57.bank-module-session .bank-choice-pulse>span{animation:bank-choice-hint 1s ease-out}
@keyframes bank-choice-hint{from{background:#b8dce6}to{background:transparent}}
@media(prefers-reduced-motion:reduce){#telc-desktop-v57 .bank-choice-pulse>span{animation:none;background:#e4f0f3}}
#telc-desktop-v57.bank-module-session .td-sheet-dashboard,
#telc-desktop-v57.bank-module-session .td-sheet-parts{display:block!important;width:100%;max-width:none}
#telc-desktop-v57.bank-module-session .td-sheet-part{width:100%;box-sizing:border-box;overflow:visible}
#telc-desktop-v57.bank-module-session .td-sheet-rows{max-height:none;overflow:visible}
#telc-desktop-v57.bank-module-session .td-sheet-row{grid-template-columns:30px minmax(0,1fr);padding:10px;gap:8px 12px}
#telc-desktop-v57.bank-module-session .td-sheet-choices{flex-wrap:wrap;gap:8px}
#telc-desktop-v57.bank-module-session .td-sheet-row>.bank-answer-summary{grid-column:2}
#telc-desktop-v57.bank-module-session .td-sheet-mark{width:28px}
#telc-desktop-v57.bank-module-session .td-sheet-summary .td-sheet-score,
#telc-desktop-v57.bank-module-session .td-sheet-module>h3,
#telc-desktop-v57.bank-module-session .td-sheet-part-heading .td-sheet-status{display:none}

/* Release-only Beta notice; the local maintenance preview keeps its existing UI. */
#bank-beta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 24px;background:#edf4f7;color:#245b70;font:14px Arial,sans-serif}#bank-beta a{color:inherit}#bank-account [hidden]{display:none!important}

.bank-navigation-dialog{max-width:540px;border:1px solid #dce5eb;border-radius:12px;padding:24px;color:#283943;font:16px/1.5 Arial,sans-serif}.bank-navigation-dialog::backdrop{background:#0005}.bank-navigation-dialog button{margin:8px 8px 0 0;padding:10px 14px;border:1px solid #c5d4dc;border-radius:6px;background:#fff;color:#245b70}.bank-navigation-dialog button:first-of-type{background:#245b70;color:white}
