/* Scoped Mediterranean palette: does not change existing Magnifita lessons. */
.tm-page,.tm-admin{--tm-ink:#213b4b;--tm-blue:#096c9e;--tm-sky:#e9f5fb;--tm-coral:#bf482c;--tm-sun:#ffe16a;--tm-line:#cddfe8;--tm-muted:#546b78;color:var(--tm-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}
.tm-page *,.tm-admin *{box-sizing:border-box}.tm-page [hidden],.tm-admin [hidden]{display:none!important}
.tm-page{max-width:1160px;margin:0 auto;padding:36px 24px 64px}.tm-page a,.tm-admin a{color:var(--tm-blue);text-decoration:none}.tm-page a:hover,.tm-admin a:hover{text-decoration:underline}
.tm-page h1,.tm-admin h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.65rem);font-weight:500;line-height:1.13;letter-spacing:-.035em;margin:12px 0 20px;overflow-wrap:anywhere}
.tm-page h2,.tm-admin h2{font-size:1.5rem;line-height:1.3;margin:12px 0}.tm-page p,.tm-admin p{margin:10px 0 18px}.tm-kicker{font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--tm-coral)}
.tm-hero{padding:clamp(24px,5vw,58px);border-radius:28px;background:linear-gradient(120deg,#086896,#1684b2);color:#fff;margin-bottom:28px;position:relative;overflow:hidden}.tm-hero .tm-kicker{color:var(--tm-sun)}.tm-hero h1{font-size:clamp(2.8rem,6vw,5rem);margin-bottom:24px}.tm-hero h1 em{color:var(--tm-sun);font-weight:400}.tm-hero>p:not(.tm-kicker){max-width:710px;font-size:1.13rem}.tm-hero-badge{padding:6px 14px;border:1px solid #ffffff70;border-radius:30px;font-size:.86rem}
.tm-panel{padding:28px;background:#fff;border:1px solid var(--tm-line);border-radius:22px;margin-bottom:26px;box-shadow:0 6px 24px #24465705}.tm-module{margin:38px 0}.tm-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.tm-section-heading>span{white-space:nowrap;color:var(--tm-muted);font-size:.9rem}.tm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tm-tile{border:1px solid var(--tm-line);border-top:4px solid var(--tm-blue);border-radius:22px;background:#fff;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;transition:transform .15s,box-shadow .15s}.tm-tile:nth-child(3n+2){border-top-color:var(--tm-coral)}.tm-tile:nth-child(3n){border-top-color:#e3b71a}.tm-tile:hover{box-shadow:0 10px 25px #215c7710;transform:translateY(-3px);text-decoration:none!important}.tm-tile h3{font-size:1.3rem;line-height:1.3;color:var(--tm-ink);margin:8px 0;overflow-wrap:anywhere}.tm-tile p{color:var(--tm-muted);margin:0 0 20px}.tm-tile small{color:var(--tm-muted)}.tm-tile-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--tm-sky);font-weight:750;margin-bottom:6px}.tm-tile-action{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;margin-top:auto;font-weight:700}.tm-tile-action>span{font-size:1.4rem}
.tm-page button,.tm-admin button,.tm-page input,.tm-admin input,.tm-page select,.tm-admin select,.tm-admin textarea{font:inherit}.tm-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--tm-blue);background:var(--tm-blue);color:#fff!important;font-size:.95rem;font-weight:700;line-height:1.35;border-radius:13px;padding:12px 18px;min-height:46px;cursor:pointer;text-decoration:none!important}.tm-button.tm-secondary{background:#fff;color:var(--tm-blue)!important;border-color:#aecede}.tm-button:disabled{opacity:.45;cursor:default}.tm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.tm-filter{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.tm-filter label{flex:1;min-width:170px}.tm-filter label,.tm-form label{display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:8px}.tm-page input,.tm-page select,.tm-admin input:not([type=checkbox]),.tm-admin select,.tm-admin textarea{width:100%;border:1px solid #b8ceda;border-radius:12px;background:#fff;color:var(--tm-ink);padding:11px 13px;min-height:46px;max-width:100%}.tm-admin textarea{resize:vertical;min-height:120px;font-weight:400;line-height:1.7}.tm-page :focus-visible,.tm-admin :focus-visible{outline:3px solid #e4b71d;outline-offset:3px}.tm-back{display:inline-block;margin-bottom:18px}.tm-lesson{max-width:980px}.tm-lesson-heading{margin:20px 0 32px}.tm-lesson-heading>p:last-child{font-size:1.2rem;color:var(--tm-muted)}.tm-study{margin:24px 0}.tm-study-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-weight:700;color:var(--tm-blue)}.tm-toggle{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--tm-line);border-radius:24px;background:#fff;color:var(--tm-ink);padding:8px 15px;min-height:44px;font-size:.85rem!important;cursor:pointer}.tm-toggle[aria-pressed=true]{background:var(--tm-sky);border-color:var(--tm-blue)}.tm-study-card{background:#fff;border:1px solid var(--tm-line);border-radius:26px;overflow:hidden;box-shadow:0 14px 45px #24465708;margin:0 0 22px}.tm-word{padding:clamp(22px,4vw,38px);background:linear-gradient(115deg,#eaf5fb,#f6fafb);border-bottom:1px solid var(--tm-line)}.tm-word h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);line-height:1.22;color:var(--tm-ink);margin:12px 0;overflow-wrap:anywhere}.tm-word .tm-translation{font-size:1.2rem}.tm-examples{padding:10px clamp(20px,4vw,38px)}.tm-example{display:flex;gap:18px;padding:24px 0}.tm-example+.tm-example{border-top:1px solid #e5edf1}.tm-example-number{background:#fff3e9;color:var(--tm-coral);border-radius:12px;flex:0 0 38px;height:38px;display:grid;place-items:center;font-size:.8rem;font-weight:750;margin-top:3px}.tm-example>div{min-width:0}.tm-example p{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.65;overflow-wrap:anywhere;margin:0}.tm-translation{color:var(--tm-muted);margin-top:10px!important}.tm-example .tm-translation{font-size:1rem}.tm-deck-footer{padding:4px 0}.tm-deck-footer .tm-actions{flex-wrap:nowrap}.tm-deck-footer progress{flex:1;min-width:25px;height:8px;accent-color:var(--tm-blue)}.tm-jump-label{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:22px 0;font-size:.9rem;color:var(--tm-muted)}.tm-jump-label select{width:auto;max-width:65%}.tm-session-end{padding:28px;border-radius:22px;background:#fff8d9;border:1px solid #e5cd6e;margin-top:24px}.tm-footnote{color:var(--tm-muted);font-size:.85rem;text-align:center}.tm-intro{font-size:1.02rem}
.tm-admin{margin:0;background:#f3f7f9}.tm-admin-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;border-bottom:1px solid var(--tm-line);background:#fff;flex-wrap:wrap}.tm-admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1600px;margin:auto}.tm-side{padding:26px 20px;position:sticky;top:0;max-height:100dvh;overflow:auto;align-self:start}.tm-side a{display:block;padding:12px 10px;border-radius:10px;font-size:.95rem}.tm-side a:hover{background:#e0eff7}.tm-side>p:last-child{font-size:.8rem;color:var(--tm-muted)}.tm-admin-main{padding:32px;min-width:0}.tm-admin h1{font-size:clamp(1.9rem,3vw,2.8rem)}.tm-form{display:grid;gap:20px}.tm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tm-form>.tm-button{justify-self:start}.tm-form .tm-check{flex-direction:row;align-items:center;gap:10px}.tm-check input{width:20px;height:20px}.tm-message{padding:16px 20px;border:1px solid #8abda6;background:#eefaf3;border-radius:14px;margin-bottom:24px;overflow-wrap:anywhere}.tm-error{border-color:#d69a89;background:#fff0eb;color:#8c2b17}.tm-muted{color:var(--tm-muted);font-size:.88rem}.tm-badge{display:inline-block;padding:4px 11px;border-radius:30px;background:#fff2cd;color:#745714;font-size:.8rem;white-space:nowrap}.tm-live{background:#e1f4e9;color:#226343}.tm-table-wrap{overflow:auto;margin-top:20px}.tm-admin table{border-collapse:collapse;width:100%;font-size:.9rem;text-align:left}.tm-admin td,.tm-admin th{padding:15px 12px;border-bottom:1px solid #e1eaf0;vertical-align:top}.tm-admin th{background:#eff6fa;color:var(--tm-muted);font-weight:600}.tm-admin td:last-child{min-width:130px}.tm-import{margin-top:22px;border-top:1px solid var(--tm-line);padding-top:18px}.tm-import summary,.tm-log summary{cursor:pointer;font-weight:700;color:var(--tm-blue);padding:8px 0}.tm-import .tm-form{margin-top:16px}.tm-import-preview{margin-top:24px;padding:22px;border:1px solid #a9cfe4;background:#f1f9fd;border-radius:18px}.tm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.tm-stats>div{padding:14px;background:#fff;border:1px solid var(--tm-line);border-radius:14px;font-size:.82rem}.tm-stats strong{display:block;color:var(--tm-blue);font-size:1.8rem}.tm-log{border-bottom:1px solid var(--tm-line);padding:16px 0}.tm-log code{overflow-wrap:anywhere}.tm-admin hr{border:0;border-top:1px solid var(--tm-line);margin:20px 0}
@media(max-width:900px){.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-admin-layout{grid-template-columns:180px minmax(0,1fr)}.tm-admin-main{padding:22px}.tm-stats{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tm-page{padding:24px 16px 40px}.tm-panel{padding:20px;border-radius:18px}.tm-hero{border-radius:22px}.tm-grid{grid-template-columns:1fr}.tm-tile{padding:22px}.tm-section-heading{align-items:flex-start}.tm-filter{display:grid;grid-template-columns:1fr;width:100%}.tm-filter label{min-width:0}.tm-admin-layout{display:block}.tm-side{position:static;max-height:none;padding:12px 16px;display:flex;gap:8px;overflow:auto;align-items:center}.tm-side a{white-space:nowrap;background:#e9f2f7}.tm-side p,.tm-side hr{display:none}.tm-admin-main{padding:16px}.tm-admin-head{padding:16px;font-size:.85rem}.tm-form-grid{grid-template-columns:1fr}.tm-example{gap:12px}.tm-example-number{flex-basis:30px;height:30px}.tm-deck-footer .tm-button{padding:10px;font-size:.85rem;white-space:nowrap}.tm-jump-label select{max-width:100%;width:100%}.tm-session-end{padding:20px}.tm-study-card{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.tm-tile{transition:none}.tm-tile:hover{transform:none}}
/* 17.1: complete covers, never cropped; circular audio buttons, no visible Listen label. */
.tm-tile-cover{display:flex;align-items:center;justify-content:center;width:100%;height:240px;border-radius:14px;background:#f1f6f8;overflow:hidden;margin-bottom:12px}
.tm-tile-cover img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.tm-lesson-cover{margin:0 0 30px;padding:16px;border:1px solid var(--tm-line);border-radius:24px;background:#f1f6f8;text-align:center}
.tm-lesson-cover img{display:block;width:100%;max-height:580px;object-fit:contain;height:auto;margin:auto;border-radius:12px}
.tm-admin-cover{display:block;max-width:100%;width:360px;height:300px;object-fit:contain;border-radius:18px;background:#f1f6f8;border:1px solid var(--tm-line)}
.tm-media-slot{padding:20px;border:1px solid var(--tm-line);border-radius:18px;background:#f8fbfd;display:grid;gap:14px}
.tm-media-slot h3,.tm-media-slot p{margin:0}.tm-media-slot audio{width:min(100%,420px)}.tm-stale{padding:12px;background:#fff0d8;color:#804e15;border-radius:10px;font-size:.9rem}
.tm-audio-enable{background:#e8f4fa;padding:20px;border-radius:16px}.tm-audio-invite{display:flex;gap:18px;padding:22px;border-radius:18px;background:#fff6d7;border:1px solid #e9d887;margin-bottom:24px}.tm-audio-invite>span{font-size:1.8rem;color:#9b6c14}.tm-audio-invite p{margin:4px 0 10px}
.tm-word-line{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tm-word-line h2{min-width:0;flex:1}.tm-audio{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:100%}.tm-audio audio{max-width:100%;width:270px}.tm-example .tm-audio{margin-top:12px}.tm-play{--tm-play-progress:0%;flex:0 0 48px;width:48px;height:48px;border:0;border-radius:50%;background:conic-gradient(#07557c var(--tm-play-progress),#b7dcec 0);color:#086b99;display:inline-grid;place-items:center;position:relative;cursor:pointer;box-shadow:0 3px 8px #07557c15;padding:0;transition:transform .15s,box-shadow .15s}.tm-play:before{content:"";position:absolute;inset:3px;background:#fff;border-radius:50%}.tm-play svg{position:relative;z-index:1;width:22px;height:22px;fill:currentColor}.tm-play .tm-pause-icon{display:none}.tm-play.is-playing .tm-play-icon{display:none}.tm-play.is-playing .tm-pause-icon{display:block}.tm-play:hover{transform:translateY(-1px);box-shadow:0 5px 15px #07557c25}.tm-play.is-playing:before{background:#e8f4fa}.tm-play.is-loading{opacity:.65}.tm-audio-status:empty{display:none}.tm-audio-status{font-size:.8rem;color:#a63823;max-width:260px}.tm-word-line .tm-audio-status{flex-basis:100%}
@media(max-width:600px){.tm-tile-cover{height:270px}.tm-lesson-cover{padding:10px;border-radius:18px}.tm-lesson-cover img{max-height:450px}.tm-media-slot{padding:16px}.tm-play{width:44px;height:44px;flex-basis:44px}.tm-word-line{gap:12px}.tm-audio-invite{padding:18px}.tm-admin-cover{height:260px}}
@media(prefers-reduced-motion:reduce){.tm-play{transition:none}.tm-play:hover{transform:none}}
/* 17.2: Chinese punctuation and type spacing, with no external font download. */
.tm-page:lang(zh-Hans){line-break:strict}
.tm-page:lang(zh-Hans) h1{font-family:"Noto Serif CJK SC","Songti SC",SimSun,serif;letter-spacing:.01em;line-height:1.3}
.tm-page:lang(zh-Hans) .tm-hero h1 em{font-style:normal}
.tm-page:lang(zh-Hans) .tm-kicker{letter-spacing:.06em}
.tm-page:lang(zh-Hans) .tm-translation{line-height:1.85}
