*{box-sizing:border-box}body{margin:0;background:#f5f9fc;color:#142b43;font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;line-height:1.7}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #2563eb;outline-offset:3px}.video-catalog{max-width:1160px;margin:auto;padding:32px 24px 60px}.eyebrow{color:#087f77;font-weight:700;margin:0}h1{font-size:32px;margin:4px 0 10px}header>p:last-child{color:#526477;margin:0}.video-filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 12px}.filter{border:1px solid #cfe1e6;border-radius:24px;padding:8px 18px;text-decoration:none;background:white;font-weight:700}.filter[aria-current]{color:white;background:#087f77;border-color:#087f77}#video-status{font-size:14px;color:#526477}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.video-card{border:1px solid #d7e5ec;border-radius:20px;overflow:hidden;background:white;display:flex;flex-direction:column}.video-cover{display:flex;aspect-ratio:16/9;background:#e7f6f3;text-decoration:none;overflow:hidden}.video-cover img{width:100%;height:100%;object-fit:cover}.slide-cover{align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#087f77}.slide-cover strong{font-size:24px}.video-body{padding:20px;display:flex;flex-direction:column;flex:1}.category{color:#087f77;font-size:13px;font-weight:800}.video-body h2{font-size:19px;line-height:1.6;margin:8px 0 12px}.published{font-size:13px;color:#64748b;margin:0 0 16px}.video-actions{display:grid;gap:8px;margin-top:auto}.video-actions a{text-align:center;text-decoration:none;border-radius:10px;padding:10px 8px;font-size:14px;font-weight:700}.primary{background:#087f77;color:white}.secondary{background:#edf7f6;color:#087f77}#video-retry{padding:12px 18px;background:white;border:1px solid #087f77;border-radius:12px;color:#087f77;font-weight:700}@media(max-width:900px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.video-catalog{padding:24px 16px 40px}.video-grid{grid-template-columns:1fr}h1{font-size:28px}.filter{font-size:13px;padding:8px 13px}.video-body{padding:16px}}
