@import url('https://fonts.googleapis.com/css2?family=DotGothic16&display=swap');
:root{--ink:#15203b;--muted:#56627f;--bg:#f3f7ff;--deep:#0a1a4a;--red:#ff3b5c;--line:#cfdaee;--pix:'DotGothic16',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 -apple-system,BlinkMacSystemFont,'Yu Gothic UI',Meiryo,sans-serif}a{color:#1b63d6}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2b8cff;outline-offset:4px}.skip{position:absolute;left:12px;top:-100px;background:white;z-index:20;padding:10px}.skip:focus{top:8px}.challenge-header{background:#fff;border-bottom:2px solid var(--ink);padding:14px max(20px,calc((100% - 1100px)/2));display:flex;justify-content:space-between;align-items:center;gap:14px}.challenge-header>a{font-family:var(--pix);font-size:1rem;text-decoration:none;color:var(--ink)}main{max-width:1140px;margin:auto;padding:24px 24px 70px}.crumbs{font-size:.8rem;color:var(--muted);margin-bottom:24px}.challenge-intro{display:grid;grid-template-columns:1.45fr .7fr;align-items:center;gap:50px;padding:30px 0 56px}.eyebrow{font-weight:800;font-size:.76rem;letter-spacing:.13em;color:#526480;margin:0 0 16px}h1{font:400 clamp(2rem,5vw,3.1rem)/1.4 var(--pix);margin:0 0 20px}h2{font:400 1.55rem/1.4 var(--pix);margin:0 0 12px}.lead{color:var(--muted);font-size:.95rem;line-height:1.9}.intro-image{display:block;width:100%;height:auto;border:2px solid var(--ink);border-radius:16px;box-shadow:7px 7px 0 var(--ink);transform:rotate(2deg)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;background:#fff;color:var(--ink);text-decoration:none;border:2px solid var(--ink);border-radius:8px;box-shadow:0 3px 0 var(--ink);font-weight:700;font-size:.86rem}.button.primary{background:var(--red);color:#fff}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-head>span{white-space:nowrap;font-size:.8rem;color:var(--muted)}.source-note{font-size:.78rem;color:var(--muted);margin:0 0 20px}.filters{display:flex;align-items:end;gap:14px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:10px}.filters label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:700}.filters label:first-child{flex:1}.filters input,.filters select{min-height:44px;border:1px solid #8593ae;border-radius:6px;padding:8px 10px;background:#fff;color:var(--ink);font-size:16px;width:100%}.filters button{min-height:44px;border:1px solid #8593ae;background:#eef3fc;border-radius:6px;padding:8px 12px;font-size:.78rem;cursor:pointer}.result-count{font-size:.8rem;color:var(--muted);margin:18px 0}.episode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.episode{background:#fff;border:2px solid var(--ink);border-radius:12px;overflow:hidden;box-shadow:3px 4px 0 var(--ink);min-width:0}.episode[hidden]{display:none}.episode-image{position:relative;display:block;background:#dce5f4;aspect-ratio:16/9;overflow:hidden}.episode-image img{width:100%;height:100%;object-fit:cover;display:block}.episode-day,.episode-duration{position:absolute;background:var(--deep);color:#fff;padding:3px 8px;font-size:.72rem;font-weight:800;line-height:1.5}.episode-day{top:10px;left:10px;border-radius:4px}.episode-duration{bottom:8px;right:8px;border-radius:3px}.episode-copy{padding:16px}.episode-copy h3{font-size:.92rem;line-height:1.65;margin:0 0 16px;min-height:4.95em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.episode-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.episode-actions button{min-height:38px;border:0;border-radius:6px;background:var(--deep);color:#fff;font-size:.78rem;font-weight:700;padding:8px 12px;cursor:pointer}.episode-actions a{font-size:.74rem;white-space:nowrap}.extra-section,.next-section{margin-top:52px}.next-section{background:#e5edfd;border-radius:12px;padding:26px}.next-section p{font-size:.9rem}.extra-section>p{color:var(--muted);font-size:.88rem}.extra-section .episode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}footer{background:#fff;border-top:1px solid var(--line);text-align:center;padding:22px;font-size:.78rem;color:var(--muted)}dialog{width:min(940px,calc(100% - 28px));padding:18px;border:2px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink)}dialog::backdrop{background:#0a1a4ae6}.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.dialog-bar h2{font:700 .94rem/1.6 sans-serif;margin:0}.dialog-bar button{flex-shrink:0;background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 14px;min-height:42px;cursor:pointer}#episode-player{aspect-ratio:16/9;background:#0a1a4a}#episode-player iframe{display:block;width:100%;height:100%;border:0}dialog>p{margin:12px 0 0;text-align:right;font-size:.8rem}
@media(max-width:800px){.challenge-intro{gap:28px}.episode-grid,.extra-section .episode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{flex-wrap:wrap}.filters label:first-child{flex-basis:100%}.filters label:nth-child(2){flex:1}}
@media(max-width:520px){main{padding:18px 16px 44px}.challenge-header{padding:12px 16px}.challenge-header>a{font-size:.8rem}.challenge-intro{grid-template-columns:1fr;gap:24px;padding:16px 0 36px}.intro-image{width:150px;justify-self:end;display:none}h1{font-size:2.1rem}.lead{font-size:.87rem}.lead br{display:none}.section-head{display:block}.section-head h2{font-size:1.35rem}.episode-grid,.extra-section .episode-grid{grid-template-columns:1fr;gap:22px}.episode-copy h3{min-height:0}.filters{padding:16px;gap:12px}.filters button{padding:8px}.next-section{padding:20px}.hero-actions{gap:10px}.button{font-size:.79rem}.dialog-bar h2{font-size:.76rem}dialog{padding:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Related writing belongs beside the video collection. */
.notes-section{margin:0 0 40px;scroll-margin-top:24px}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.note-card{display:flex;flex-direction:column;gap:10px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);min-width:0}.note-card:hover{border-color:#1b63d6}.note-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.7rem;color:var(--muted)}.note-meta>span{color:#176758;font-weight:700}.note-card h3{margin:0;font-size:.96rem;line-height:1.65}.note-card p{margin:0 0 4px;color:var(--muted);font-size:.8rem;line-height:1.8}.note-cta{margin-top:auto;font-size:.78rem;font-weight:700;color:#1b63d6}@media(max-width:800px){.notes-grid{grid-template-columns:1fr}.note-card{padding:16px;gap:8px}}

/* Verified game and article destinations for each episode. */
.episode-resources{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.resource-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:7px 10px;border:1px solid #9eb0cc;border-radius:6px;font-size:.76rem;font-weight:700;text-decoration:none}.resource-link.game-link{background:#e5f4ee;color:#14543c;border-color:#9fc8b5}.resource-link.article-link{background:#f0f4fc;color:#244e89}.resource-link:hover{filter:brightness(.96)}
.resource-link.article-link{flex-direction:column;align-items:flex-start;width:100%;gap:3px}.resource-title{font-size:.75rem;font-weight:400;line-height:1.65;text-align:left;overflow-wrap:anywhere}
/* Stable episode links from articles and manga. */
.episode{scroll-margin-top:5rem}
.episode:target{outline:2px solid #82caff;outline-offset:4px}
.detail-link{margin-top:.8rem;display:block}
