
:root{--bg:#f5f8fc;--card:#fff;--ink:#172033;--muted:#536174;--primary:#075985;--accent:#0e7490;--border:#d7e0ea;--focus:#b45309}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Tahoma,"Segoe UI",Arial,sans-serif;line-height:1.9}
header{background:linear-gradient(135deg,#073b66,#075985 55%,#0e7490);color:#fff;padding:2rem 1rem}
.hero{max-width:1050px;margin:auto}
h1,h2,h3{line-height:1.45}
h1{font-size:clamp(1.65rem,4vw,2.5rem);margin:.4rem 0}
h2{font-size:1.45rem;margin-top:0}
h3{font-size:1.15rem}
.toolbar{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-bottom:1rem}
.lang-btn{border:2px solid rgba(255,255,255,.8);background:#fff;color:#123;padding:.45rem .8rem;border-radius:8px;cursor:pointer;font:inherit;font-weight:700}
.lang-btn:focus,.action:focus,a:focus{outline:3px solid var(--focus);outline-offset:3px}
.flag{font-size:1.25rem;margin-inline-end:.3rem}
main{max-width:1050px;margin:auto;padding:1.2rem}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.2rem;margin:1rem 0;box-shadow:0 3px 14px rgba(20,40,70,.06)}
.notice{border-inline-start:6px solid var(--accent)}
.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}
.meta div{background:#eef6fa;padding:.75rem;border-radius:9px}
.actions{display:flex;flex-wrap:wrap;gap:.8rem}
.action{display:inline-block;background:var(--primary);color:#fff;text-decoration:none;padding:.75rem 1rem;border-radius:9px;font-weight:700}
.action.secondary{background:#334155}
.url{overflow-wrap:anywhere}
.schedule{padding:.2rem 1rem 1rem}
.schedule h4{margin:.65rem 0;padding:.45rem .55rem;border-bottom:1px solid #edf1f5;font-size:1rem;font-weight:600}
#poster{display:block;width:100%;max-height:560px;object-fit:cover}
.poster-caption{max-width:1050px;margin:0 auto;padding:.65rem 1rem;font-weight:800;background:#fff}
.class-schedule{padding:.2rem 0 1rem}
.class-schedule h4{margin:.65rem 0;padding:.45rem .55rem;border-bottom:1px solid #edf1f5;font-size:1rem;font-weight:600}
@media(max-width:600px){#poster{max-height:none;aspect-ratio:16/10;object-fit:cover}.actions{display:grid;grid-template-columns:1fr}.action{min-height:46px;text-align:center}.meta{grid-template-columns:1fr 1fr}}
.small{color:var(--muted);font-size:.95rem}
a{color:#075985}
@media(max-width:600px){main{padding:.7rem}.card{padding:.9rem}.meta{grid-template-columns:1fr}}

#poster{height:auto;max-height:none;object-fit:contain}
.schedule-item{margin:.55rem 0;padding:.35rem .55rem;border-bottom:1px solid #edf1f5}
.lang-btn[aria-pressed='true']{box-shadow:0 0 0 3px rgba(255,255,255,.45)}
