/* Existing design retained; 2026 typography and information additions. */
.k26-update,.k26-current{border:1px solid #c8b6d7;border-top:4px solid #663399;background:#fffafc;padding:24px;margin:22px 0;border-radius:4px}.k26-kicker{font-size:11px!important;letter-spacing:.18em;color:#82629a;font-weight:bold}.k26-update h2{font-size:27px;line-height:1.65;color:#663399;margin:8px 0 17px}.k26-update p,.k26-current p{line-height:1.95}.k26-update strong,.k26-current strong,.k26-em{color:#7d2c67;font-weight:bold}.k26-update nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.k26-update nav a,.k26-button{border:1px solid #b5a1c9;background:#f2ebf9;color:#563177;display:inline-block;padding:10px 14px;border-radius:4px;font-weight:bold;font-size:13px}.k26-contact a{display:block;font-family:Georgia,serif;font-size:29px;color:#67358d;line-height:1.6}.k26-contact span{font-size:12px;color:#594a61}.k26-year{font-family:inherit;font-size:13px;background:#663399;color:#fff;padding:5px 10px;border-radius:3px;vertical-align:middle}.k26-note{font-size:12px!important;line-height:1.8!important;color:#65556e;margin:12px 0 18px}.k26-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.k26-teacher{padding:20px;border:1px solid #d5c7df;border-radius:4px;background:#fff;scroll-margin-top:20px}.k26-teacher h3{font-size:23px;color:#663399;border-bottom:1px solid #d9c7d8;padding-bottom:12px;margin:0 0 15px}.k26-teacher small{font-size:12px;margin-left:5px}.k26-catch{font-size:16px;font-weight:bold;color:#97405d;line-height:1.8}.k26-teacher p{line-height:1.95}.k26-teacher dl{font-size:13px;line-height:1.8}.k26-teacher dt{font-weight:bold;color:#715080;margin-top:12px}.k26-teacher dd{margin:3px 0 10px}.k26-fee{color:#973e39!important;font-weight:bold!important}.k26-button{display:block;text-align:center;margin-top:18px;line-height:1.8}.k26-current h3{font-size:20px;color:#663399;line-height:1.6}.k26-current a,.k26-note a{text-decoration:underline}#k26-faq details{border:1px solid #d7c7e2;margin:12px 0;border-radius:4px;background:#fff}#k26-faq summary{cursor:pointer;font-weight:bold;color:#663399;font-size:16px;line-height:1.8;padding:17px}#k26-faq details p{padding:0 18px 18px;line-height:1.95}.k26-links{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0}.k26-links a{font-weight:bold;text-decoration:underline}.k26-profile-link{display:block;text-align:center;font-weight:bold;text-decoration:underline;font-size:13px}.k26-em{font-size:1.06em}#ranking .carousel{height:390px}#ranking .carousel .frame{height:325px}#ranking .photo-frame{width:112px;height:112px}#ranking .photo{width:112px;height:112px;object-fit:cover}#ranking .data{width:109px;font-size:12px;line-height:1.45}#ranking .data dd{max-height:none}#ranking .comment{line-height:1.65;font-weight:bold;color:#78375b}#ranking .name a{font-size:17px}#ranking .name .num{font-size:34px}#k26-teachers,#k26-faq{margin:28px 0}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #9f670c;outline-offset:3px}.k26-footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;padding:18px;background:#f4edf8;font-size:13px}.k26-footer-nav a{color:#663399;font-weight:bold}@media(max-width:640px){.k26-update,.k26-current{padding:18px}.k26-update h2{font-size:23px}.k26-grid{grid-template-columns:1fr}.k26-teacher{padding:18px}.k26-contact a{font-size:27px}.k26-update nav a{flex:1 1 36%;text-align:center}.k26-update p,.k26-current p,.k26-teacher p{font-size:15px}.k26-year{display:inline-block;margin-top:5px}#ranking h2{font-size:23px}}
.k26-portrait{float:right;width:100px;height:100px;object-fit:cover;margin:0 0 14px 14px;border:2px solid #d9c7df;border-radius:4px}.k26-teacher h3{min-height:96px;box-sizing:border-box;padding-top:10px}.k26-teacher h3 small{display:block;margin:5px 0 0}.k26-catch{clear:both}.k26-more{margin-top:16px;border-top:1px solid #dfd2e6;padding-top:12px}.k26-more summary{font-size:13px;color:#663399;cursor:pointer;font-weight:bold;line-height:1.8}.k26-more dd{overflow-wrap:anywhere}.k26-finder{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;background:#f4eff9;border:1px solid #cdbbda;padding:20px;margin:20px 0}.k26-finder label{font-size:13px;font-weight:bold;color:#633f7f}.k26-finder input,.k26-finder select{box-sizing:border-box;width:100%;padding:12px;background:white;border:1px solid #bba6cb;border-radius:4px;font-size:16px;grid-row:2}.k26-finder button{padding:10px;border:1px solid #ac94c1;background:#fff;color:#633f7f;border-radius:4px;font-weight:bold;cursor:pointer}.k26-finder p{font-weight:bold;color:#633f7f;margin:0;align-self:center}.k26-teacher[hidden],#k26-empty[hidden]{display:none!important}@media(max-width:640px){.k26-finder{grid-template-columns:1fr;padding:16px}.k26-finder input,.k26-finder select{grid-row:auto}.k26-finder label[for=k26-topic]{grid-row:3}.k26-finder input{grid-row:2}.k26-portrait{width:88px;height:88px}.k26-teacher h3{min-height:90px;font-size:22px}}

/* Native horizontal swipe retains the original teacher card design. */
.k26-swipe .k26-carousel-viewport{overflow-x:auto;overflow-y:hidden;width:100%;height:100%;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-padding-left:10px;position:relative;overscroll-behavior-x:contain}
.k26-swipe .pm-list{position:relative!important;left:auto!important;top:8px;display:flex;width:max-content!important;margin:0!important;padding:0 10px 18px;gap:0}
.k26-swipe .pm-list>li{flex:0 0 270px;float:none;scroll-snap-align:start;scroll-snap-stop:normal}
.k26-swipe:before,.k26-swipe:after{pointer-events:none}
.k26-swipe .sc-btn{border:0;min-width:44px;touch-action:manipulation}
.k26-swipe .sc-btn:focus-visible,.k26-carousel-viewport:focus-visible{outline:3px solid #864d20;outline-offset:-3px}
.k26-carousel-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 14px;font-size:13px;color:#603a20}
.k26-carousel-tools button{min-height:44px;padding:8px 12px;border:1px solid #c9ad83;background:#fffaf1;color:#603a20;border-radius:6px;font:inherit;cursor:pointer}

.k26-page-navigation{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:900;display:flex;flex-direction:column;gap:6px;padding:5px;background:rgba(255,250,241,.96);border:1px solid #cfb695;border-radius:12px;box-shadow:0 3px 14px #48260026}
.k26-page-navigation button{min-height:46px;min-width:60px;padding:8px;border:0;border-radius:7px;background:#734622;color:white;font-weight:bold;font-size:13px;cursor:pointer;touch-action:manipulation}
.k26-page-navigation button:disabled{background:#e7dfd3;color:#7d7162;cursor:default}
.k26-page-navigation button:focus-visible{outline:3px solid #e9a44b;outline-offset:2px}
@media(max-width:600px){.k26-page-navigation{right:7px;bottom:max(12px,env(safe-area-inset-bottom))}.k26-page-navigation button{min-width:54px}body{padding-bottom:125px!important}}

.k26-swipe .k26-carousel-viewport{touch-action:pan-y;cursor:grab}.k26-swipe .k26-carousel-viewport:active{cursor:grabbing}.k26-swipe .pm-list{user-select:none;-webkit-user-select:none}.k26-swipe .pm-list img{-webkit-user-drag:none}.k26-swipe .name a{margin-left:0!important}

#ranking .k26-profile-link{clear:both;padding-top:14px;line-height:1.6} .k26-swipe .sc-btn:after{background:none!important;content:"";width:auto;height:auto;font-size:28px;line-height:70px;color:white;margin:0!important}.k26-swipe .left-btn:after{content:"‹"}.k26-swipe .right-btn:after{content:"›"}@media(max-width:640px){#ranking h2{font-size:21px;line-height:1.5}}
