 .jpn-section{margin:24px 0 30px;padding:0;clear:both;min-width:0}
.jpn-heading{display:flex;align-items:flex-start;margin:0 0 12px;padding:10px 0 0;border-top:3px solid #b5121b;border-bottom:0;gap:0}
.jpn-heading-image{display:block;width:238px;max-width:72%;height:auto;object-fit:contain}
.jpn-carousel{position:relative;min-width:0;padding:0 36px}
.jpn-list{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 1px 10px;scrollbar-width:thin;overscroll-behavior-x:contain}
.jpn-card{box-sizing:border-box;display:flex;flex:0 0 clamp(280px,40%,420px);flex-direction:column;gap:8px;scroll-snap-align:start;min-width:0;padding:12px;border:1px solid #dfe3e7;border-radius:9px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.jpn-image-wrap{display:block;width:100%;overflow:hidden;border-radius:6px;background:#f2f2f2;aspect-ratio:16/7}
.jpn-image-wrap img{display:block;width:100%;height:100%;object-fit:cover}
.jpn-card-body{min-width:0}
.jpn-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 5px;color:#68717b;font-size:.76rem}
.jpn-summary{font-size:.88rem;line-height:1.55;margin:0;color:inherit;overflow-wrap:anywhere}
.jpn-summary-toggle{display:inline-block;margin:5px 0 0;padding:0;border:0;background:transparent;color:#1769aa;font:inherit;font-size:.82rem;line-height:1.4;font-weight:700;cursor:pointer;text-align:left}
.jpn-summary-toggle:hover{text-decoration:underline}
.jpn-expanded-content[hidden]{display:none!important}
.jpn-summary-full{display:block;overflow:visible;line-height:1.7}
.jpn-editor-comment{padding:8px 10px;background:#fff1f1;border-left:3px solid #c82333;border-radius:0 6px 6px 0;margin:9px 0 0;min-width:0}
.jpn-editor-comment strong{display:block;font-size:.78rem;color:#a20f19;margin:0 0 3px}
.jpn-editor-comment p{font-size:.84rem;line-height:1.55;margin:0;overflow-wrap:anywhere}
.jpn-card-source{margin:8px 0 0;font-size:.8rem}.jpn-source{color:#64748b;text-decoration:underline}
.jpn-carousel-button{position:absolute;top:42%;z-index:2;display:flex;align-items:center;justify-content:center;width:32px;height:42px;border:1px solid #d7dce1;border-radius:7px;background:#fff;color:#202833;font-size:28px;line-height:1;box-shadow:0 1px 5px rgba(0,0,0,.12);cursor:pointer}
.jpn-carousel-button:hover{background:#f3f6f8}.jpn-carousel-button:disabled{opacity:.3;cursor:default}.jpn-prev{left:0}.jpn-next{right:0}
.jpn-empty{padding:16px;background:#f7f8fa;border-radius:7px;color:#68717b}
.jpn-section a:focus-visible,.jpn-carousel-button:focus-visible,.jpn-list:focus-visible,.jpn-summary-toggle:focus-visible{outline:2px solid #1769aa;outline-offset:3px}
.jpn-single-summary{margin:1.2em 0}.jpn-single-summary h2{font-size:1.25rem;margin:0 0 .5em}.jpn-single-summary p{line-height:1.8}.jpn-single-comment{margin:1.2em 0}.jpn-single-source{margin-top:1em;font-size:.9rem}
@media(max-width:600px){.jpn-section{margin:16px 0 22px}.jpn-heading-image{width:210px;max-width:78%}.jpn-carousel{padding:0 25px}.jpn-list{gap:9px}.jpn-card{flex-basis:88%;padding:9px;gap:7px}.jpn-image-wrap{aspect-ratio:16/7}.jpn-meta{font-size:.74rem;margin-bottom:4px}.jpn-summary{font-size:.86rem;line-height:1.55}.jpn-summary-toggle{font-size:.82rem;margin-top:6px}.jpn-editor-comment{padding:8px 9px;margin-top:9px}.jpn-editor-comment strong{font-size:.76rem}.jpn-editor-comment p{font-size:.83rem;line-height:1.55}.jpn-carousel-button{width:23px;height:34px;font-size:22px}}
@media(prefers-reduced-motion:reduce){.jpn-list{scroll-behavior:auto}}
