/* Cloudflareを持つ 21日間プログラム（2026-10-12）。lesson-bulk.css の上に重ねる */
.dialogue-slide{padding:32px!important}.dialogue-slide>h2{margin:0 0 12px!important;font-size:clamp(24px,2.8vw,36px)!important}.dialogue-goal{margin:0 0 16px;color:#0b5e54;font-size:17px}.dialogue-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}.dialogue-layout>*{min-width:0}.dialogue-send{font-size:14px;font-weight:800;margin:0 0 8px}.dialogue-slide .prompt-box{margin:0 0 12px!important}.dialogue-slide pre{font-size:16px!important;line-height:1.7!important;white-space:pre-wrap;overflow-wrap:anywhere}.dialogue-help{background:#fff;border:1px solid #cbe4e4;border-radius:14px;margin:12px 0;padding:12px}.dialogue-help summary{cursor:pointer;font-weight:800;color:#0b5e54}.dialogue-check{background:#eef8f5;border-radius:16px;padding:18px}.dialogue-check .mini-checks{margin:10px 0 0}.dialogue-note{font-size:15px;line-height:1.75;color:#43536a;background:#fff8e9;padding:14px;border-radius:12px}
.cf21-kicker{margin:0 0 8px;color:#1e3a8a;font-size:13px;font-weight:900;letter-spacing:.08em}.cf21-rule{margin:16px 0 0;padding:12px 14px;border-radius:14px;background:#f1f5f9;color:#334155;font-size:14px;line-height:1.8}.cf21-rule b{color:#07111f}
.cf21-side{display:grid;gap:14px}.cf21-video{position:relative;border-radius:22px;overflow:hidden;background:#0f172a;aspect-ratio:16/9}.cf21-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.cf21-video-pending{display:grid;place-content:center;gap:6px;padding:24px;text-align:center;color:#cbd5e1;background:linear-gradient(135deg,#1e293b,#0f172a)}.cf21-video-pending strong{color:#fff;font-size:16px}.cf21-video-pending span{font-size:13px;line-height:1.7}
.cf21-steps{margin:10px 0 0;padding-left:22px;color:#27364a;font-size:14px;line-height:1.8}.cf21-steps li{margin:4px 0}
.cf21-undo{background:#fff8e9;border:1px solid #fde68a;border-radius:16px;padding:18px}.cf21-undo strong{display:block;color:#92400e;margin-bottom:6px}.cf21-undo p{margin:0;color:#43536a;font-size:15px;line-height:1.75}
.cf21-links{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}.cf21-link{display:inline-flex;align-items:center;gap:6px;padding:12px 18px;border-radius:999px;background:#f6821f;color:#fff!important;font-weight:900;text-decoration:none;box-shadow:0 8px 20px rgba(246,130,31,.28)}.cf21-link:hover{background:#e06d0c}
.cf21-guest .learning-completion{display:none!important}
.cf21-links-top{margin:14px 0 0}
.cf21-manual{list-style:none;margin:0;padding:0;display:grid;gap:16px}.cf21-manual li{background:#fff;border:1px solid #dbe4f0;border-radius:16px;padding:14px 16px}.cf21-mhead{display:flex;align-items:center;gap:10px}.cf21-mnum{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#1e3a8a;color:#fff;font-weight:900;font-size:14px}.cf21-mhead strong{color:#07111f;font-size:16px;line-height:1.5}.cf21-manual p{margin:8px 0 0;color:#334155;font-size:15px;line-height:1.75}.cf21-mshot{display:block;margin-top:10px;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.cf21-mshot img{display:block;width:100%;height:auto}.cf21-mcap{display:block;margin-top:6px;font-size:13px;color:#64748b}.cf21-mnext{margin:8px 0 0;color:#27364a;line-height:1.7}
.cf21-story{margin:14px 0 0;padding:14px 16px;border-radius:14px;background:#fff8e9;border:1px solid #fde68a}.cf21-story strong{display:block;color:#92400e;font-size:13px;margin-bottom:4px}.cf21-story p{margin:0;color:#43536a;font-size:14px;line-height:1.8}
.cf21-sample{margin:0 0 14px}.cf21-sample img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid #dbe4f0;background:#fff}.cf21-sample figcaption{margin-top:8px;font-size:13px;color:#43536a;line-height:1.7}.cf21-sample figcaption strong{display:inline-block;margin-right:8px;padding:2px 10px;border-radius:999px;background:#f6821f;color:#fff;font-size:12px}.cf21-sample figcaption a{color:#1e3a8a;font-weight:700}
.cf21-method{margin:0 0 12px;padding:14px 16px;border-radius:14px;background:#eef8f5;border:1px solid #cbe4e4}.cf21-method strong{display:block;color:#0b5e54;font-size:14px;margin-bottom:4px}.cf21-method p{margin:0;color:#27364a;font-size:14px;line-height:1.8}.cf21-method small{display:block;margin-top:6px;color:#64748b;font-size:12px}
.cf21-pitfalls{margin:0 0 12px;padding:14px 16px;border-radius:14px;background:#fff1f2;border:1px solid #fecdd3}.cf21-pitfalls strong{display:block;color:#9f1239;font-size:13px;margin-bottom:6px}.cf21-pitfalls ul{margin:0;padding-left:20px;color:#43536a;font-size:14px;line-height:1.8}
/* 押せるボタンを目立たせる（2026-10-19 シャド「押せるボタンがわかりづらい」）：光が走る＋ゆっくり呼吸。動きを減らす設定の人には出さない */
.cf21-link,.clear-cta.primary,.prompt-copy{position:relative;overflow:hidden;isolation:isolate}
.cf21-link::after,.clear-cta.primary::after,.prompt-copy::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-60%;width:40%;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);animation:cf21-shine 3.2s ease-in-out infinite;pointer-events:none}
.cf21-link,.clear-cta.primary{animation:cf21-breathe 2.4s ease-in-out infinite;box-shadow:0 8px 20px rgba(246,130,31,.28)}
@keyframes cf21-shine{0%{left:-60%}55%{left:130%}100%{left:130%}}
@keyframes cf21-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.cf21-link,.clear-cta.primary,.prompt-copy{animation:none}.cf21-link::after,.clear-cta.primary::after,.prompt-copy::after{animation:none;display:none}}
.cf21-shot{margin:0 0 12px;padding:14px 16px;border-radius:14px;background:#eef2ff;border:1px solid #c7d2fe}.cf21-shot strong{display:block;color:#3730a3;font-size:13px;margin-bottom:4px}.cf21-shot p{margin:0;color:#27364a;font-size:14px;line-height:1.8}.cf21-shot small{display:block;margin-top:6px;color:#64748b;font-size:12px}
.cf21-word{margin:14px auto 0;max-width:560px;color:#1e3a8a;font-weight:800;line-height:1.7}
/* ホーム */
.cf21-home{padding-bottom:40px}.cf21-shell{max-width:920px;margin:0 auto;padding:28px 20px 80px}.cf21-hero{padding:28px;border:1px solid #dbe4f0;border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 24px 80px rgba(15,23,42,.08)}.cf21-hero h1{margin:0 0 12px;font-size:clamp(26px,4vw,38px);line-height:1.3;color:#07111f}.cf21-hero p{margin:0 0 10px;color:#27364a;line-height:1.85}.cf21-progress{font-weight:900;color:#1e3a8a}.cf21-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.cf21-week{margin-top:28px}.cf21-week h2{margin:0 0 12px;font-size:20px;color:#1e3a8a}.cf21-days{list-style:none;margin:0;padding:0;display:grid;gap:10px}.cf21-days a{display:grid;grid-template-columns:72px 1fr 28px;grid-template-areas:"day title state" "day goal state";gap:2px 14px;align-items:center;padding:14px 16px;border:1px solid #dbe4f0;border-radius:18px;background:#fff;transition:transform .15s,border-color .15s}.cf21-days a:hover{transform:translateY(-2px);border-color:#2563eb}.cf21-day{grid-area:day;font-weight:900;color:#2563eb}.cf21-title{grid-area:title;font-weight:900;color:#07111f}.cf21-goal{grid-area:goal;font-size:13px;color:#64748b}.cf21-state{grid-area:state;width:24px;height:24px;border-radius:999px;border:2px solid #cbd5e1}.cf21-days a.is-done .cf21-state{background:#06c755;border-color:#06c755}.cf21-days a.is-done .cf21-state::before{content:"✓";display:grid;place-items:center;color:#fff;font-size:14px;font-weight:900;height:100%}
.cf21-next{margin-top:32px;padding:22px;border-radius:22px;background:#eef8f5}.cf21-next h2{margin:0 0 8px;font-size:18px;color:#0b5e54}.cf21-next p{margin:0;line-height:1.85;color:#27364a}
@media(max-width:760px){.dialogue-slide{padding:20px!important}.dialogue-layout{grid-template-columns:1fr;gap:12px}.dialogue-slide pre{font-size:15px!important}.dialogue-goal{font-size:15px}.dialogue-check{padding:14px}.cf21-days a{grid-template-columns:60px 1fr 24px}}
