/* Detail-page presentation: U85 dimensions and framing, in each site's colors.
   This is the shared source for both themes; article generators do not own layout. */
body.km85-detail-page {
 --km85-accent:#007e8a;
 --km85-dark:#006a76;
 --km85-tint:#f1f8f8;
 --km85-rule:#a7c5c9;
 --km85-heading:repeating-linear-gradient(0deg,rgba(255,255,255,.09) 0 1px,rgba(0,0,0,.05) 1px 3px),linear-gradient(var(--km85-accent),var(--km85-dark));
 --km85-sidebar:repeating-linear-gradient(45deg,rgba(255,255,255,.12) 0 1px,transparent 1px 4px),linear-gradient(var(--km85-accent),var(--km85-dark));
}
body.km85-bike {--km85-accent:#8b3846;--km85-dark:#742d3b;--km85-tint:#fbf5f6;--km85-rule:#cfb5ba}

/* Explicitly scoped important properties supersede the old broad brand overrides. */
html body.km85-detail-page #left-box :is(#left-nav,#site-ranking,#check,#access,#mobile,#tagcloud,#site-line,#site-line2) {
 background-image:none!important;border-color:var(--km85-rule)!important;background-color:#fff;
}
html body.km85-detail-page #left-box :is(#left-nav,#site-ranking,#check,#access,#mobile,#tagcloud,#site-line,#site-line2)>h2 {
 box-sizing:border-box;width:auto;height:auto!important;min-height:44px;
 margin:2px 2px 10px!important;padding:11px 10px!important;
 font-size:15px;line-height:22px!important;font-weight:bold;white-space:normal;overflow:visible;overflow-wrap:anywhere;
 background-color:var(--km85-accent)!important;background-image:var(--km85-sidebar)!important;color:#fff!important;border:0;
}
html body.km85-detail-page #left-box #leftnav-ul {margin:0 0 8px;padding:0}

/* U85 summary: fixed image/rating column, flexible facts column. */
html body.km85-detail-page #right-box #osusume:has(>#shosai-gaiyou) {
 display:grid;grid-template-columns:197px minmax(0,1fr);column-gap:6px;
 padding:0 0 14px;box-sizing:border-box;background:#fff!important;border:1px solid var(--km85-rule)!important;
}
html body.km85-detail-page #right-box :is(#osusume,#single,#kuchikomi)>h2 {
 grid-column:1/-1;box-sizing:border-box;width:auto;height:auto!important;min-height:44px;
 margin:2px 2px 6px!important;padding:11px 10px!important;
 font-size:15px;line-height:22px!important;font-weight:bold;white-space:normal;overflow:visible;
 background-color:var(--km85-accent)!important;background-image:var(--km85-heading)!important;color:white!important;border:0;
}
body.km85-detail-page #right-box #osusume #shosai-gaiyou {display:block;float:none;width:auto;min-width:0;margin:0;padding:8px 14px 0}
body.km85-detail-page #right-box #osusume #shosai-gaiyou :is(.km85-site-media,.m85-site-media,.m85-site-card) {float:none;width:159px;max-width:100%;margin:0 auto 10px}
body.km85-detail-page #right-box #osusume #shosai-gaiyou img {display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;float:none;margin:0}
body.km85-detail-page #right-box #osusume #shosai-gaiyou>dl {display:grid;grid-template-columns:max-content minmax(0,1fr);clear:both;float:none;width:100%;margin:0;align-items:center;text-align:left}
body.km85-detail-page #right-box #osusume #shosai-gaiyou>dl>dt,
body.km85-detail-page #right-box #osusume #shosai-gaiyou>dl>dd {float:none;width:auto;min-width:0;height:auto;margin:0;line-height:1.8}
body.km85-detail-page #right-box #osusume #shosai-gaiyou>dl>.name,
body.km85-detail-page #right-box #osusume #shosai-gaiyou>dl>.acrank {grid-column:1/-1;text-align:center}
body.km85-detail-page #right-box #osusume #shosai-irem {float:none;clear:none;width:auto;min-width:0;margin:0;padding:0 20px 0 0}
body.km85-detail-page #right-box #osusume #shosai-irem>dl {display:grid;grid-template-columns:max-content minmax(0,1fr);margin:0;align-items:start}
body.km85-detail-page #right-box #osusume #shosai-irem dt,
body.km85-detail-page #right-box #osusume #shosai-irem dd {float:none;width:auto;min-width:0;height:auto;min-height:0;margin:0 0 12px;padding:1px 0;line-height:20px;box-sizing:border-box;overflow-wrap:anywhere}
body.km85-detail-page #right-box #osusume #shosai-irem dt {text-align:right;border:0;padding-right:4px;white-space:nowrap}
body.km85-detail-page #right-box #osusume #shosai-irem dd {border-bottom:1px dotted #aaa}
body.km85-detail-page #right-box #osusume .km85-detail-image-link {display:block}
body.km85-detail-page .km85-detail-image-link:focus-visible {outline:3px solid var(--km85-accent);outline-offset:3px}

html body.km85-detail-page #right-box :is(#single,#kuchikomi) {background-image:none!important;border-color:var(--km85-rule)!important}

/* Article typography and all section headings use the same U85 rhythm. */
html body.km85-detail-page #right-box :is(#review-body,#u85v2-body,#k85v2-body) {font-size:13px;line-height:1.7;margin:10px 0;color:#333}
body.km85-detail-page #right-box .km85-detail {font-size:14px;line-height:1.7;color:#333;padding:0;overflow-wrap:anywhere;text-align:left}
html body.km85-detail-page #right-box :is(#review-body,#u85v2-body,#k85v2-body) h2 {
 box-sizing:border-box;width:auto;height:auto;min-height:50px;line-height:22px;white-space:normal;overflow:visible;overflow-wrap:anywhere;
 font-size:15px;font-weight:bold;padding:12px 12px 14px;margin:24px 0 10px;
 border:1px solid var(--km85-accent);color:#fff!important;
 background-color:var(--km85-accent)!important;background-image:var(--km85-heading)!important;
 background-origin:padding-box;background-position:0 0;background-repeat:repeat;box-shadow:inset 0 0 0 2px #fff,inset 0 -6px 0 rgba(255,255,255,.55);
 scroll-margin-top:12px;
}
body.km85-detail-page #right-box .km85-detail :is(h3,h4) {height:auto;min-height:0;line-height:1.7;white-space:normal;font-size:15px;font-weight:bold;margin:18px 0 6px;padding:0;border:0;background:none;color:#333}
body.km85-detail-page #right-box .km85-detail p {margin:1em 0;font-size:14px;line-height:1.7}
body.km85-detail-page #right-box .km85-detail :is(strong,b,em,a,time,span) {font-size:inherit}
body.km85-detail-page #right-box .km85-detail .km85-lead {padding:11px 14px;background:var(--km85-tint);border:1px solid #ccc;border-left:4px solid var(--km85-accent);margin:12px 0}
body.km85-detail-page #right-box .km85-detail .km85-stamp {color:#666;font-size:11.5px;margin:6px 0 12px}
body.km85-detail-page #right-box .km85-toc {padding:9px 14px;border:1px solid #ccc;background:#fafafa;margin:10px 0;font-size:14px;line-height:1.9}
body.km85-detail-page #right-box .km85-toc ol {display:block;padding-left:1.6em;margin:6px 0 0;font-size:14px;line-height:1.9}
body.km85-detail-page #right-box .km85-toc li {padding:0;margin:0;line-height:1.9}
body.km85-detail-page #right-box .km85-toc p:empty {display:none}
body.km85-detail-page #right-box .km85-detail a {color:var(--km85-dark);text-decoration:underline;text-underline-offset:2px}
body.km85-detail-page #right-box .km85-detail a:focus-visible {outline:2px solid var(--km85-accent);outline-offset:3px}
body.km85-detail-page #right-box :is(.km85-table,.detail-table) {overflow-x:auto;margin:10px 0;max-width:100%;width:100%}
body.km85-detail-page #right-box .km85-detail table {display:table;width:100%;border-collapse:collapse;font-size:13px;line-height:1.7;margin:0}
body.km85-detail-page #right-box .km85-detail :is(th,td) {border:1px solid #ccc;padding:5px 8px;white-space:normal;text-align:left;vertical-align:top;font-size:13px;line-height:1.7}
body.km85-detail-page #right-box .km85-detail th {background:var(--km85-tint);color:#333;font-weight:700}
body.km85-detail-page #right-box .km85-detail tbody tr:nth-child(even) {background:#fafafa}
body.km85-detail-page #right-box .km85-review-links {display:flex;gap:10px;flex-wrap:wrap;padding:10px 13px;background:var(--km85-tint);border:1px solid #ccc}
body.km85-detail-page #right-box .km85-review-links a {border:1px solid var(--km85-accent);padding:8px 12px;color:var(--km85-dark);background:white}
body.km85-detail-page #right-box .km85-detail details {padding:9px 13px;background:#fafafa;border:1px solid #ccc}
body.km85-detail-page #right-box .km85-detail summary {cursor:pointer;line-height:1.7}

@media(max-width:700px) {
 html body.km85-detail-page #right-box #osusume:has(>#shosai-gaiyou) {grid-template-columns:minmax(0,1fr);row-gap:12px;padding:0 12px 12px}
 html body.km85-detail-page #right-box #osusume:has(>#shosai-gaiyou)>h2 {margin:2px -10px 0!important;min-height:44px;padding:10px!important;font-size:14px;line-height:22px!important}
 body.km85-detail-page #right-box #osusume #shosai-gaiyou {display:block;padding:0}
 body.km85-detail-page #right-box #osusume #shosai-gaiyou :is(.km85-site-media,.m85-site-media,.m85-site-card) {width:75%;max-width:260px;margin:0 auto 12px}
 body.km85-detail-page #right-box #osusume #shosai-gaiyou>dl {width:max-content;max-width:100%;margin:0 auto;grid-template-columns:max-content max-content}
 body.km85-detail-page #right-box #osusume #shosai-irem {padding:0}
 body.km85-detail-page #right-box #osusume #shosai-irem>dl {grid-template-columns:max-content minmax(0,1fr)}
 body.km85-detail-page #right-box #osusume #shosai-irem dt {text-align:left}
 body.km85-detail-page #right-box #osusume #shosai-irem :is(dt,dd) {margin-bottom:8px;line-height:1.65}
 html body.km85-detail-page #right-box :is(#review-body,#u85v2-body,#k85v2-body) {margin:12px 0;padding:0 12px;box-sizing:border-box}
 html body.km85-detail-page #right-box :is(#review-body,#u85v2-body,#k85v2-body) h2 {font-size:14px;line-height:22px;padding:11px 12px 13px;min-height:48px;margin:22px 0 10px}
 body.km85-detail-page #right-box .km85-detail {padding:0}
 body.km85-detail-page #right-box .km85-detail table {min-width:450px}
 body.km85-detail-page #right-box .km85-toc {padding:10px 12px}
 body.km85-detail-page #right-box .km85-toc li {padding:3px 0}
}

/* M85 uses the lightweight menu; give it the same separated rows as U85's mmenu. */
body.km85-bike nav#menu:not(.mm-menu):target {width:min(80vw,340px);padding:0;border-left:1px solid var(--km85-rule);background:#faf8f7;overscroll-behavior:contain}
body.km85-bike nav#menu:not(.mm-menu)>ul {list-style:none;margin:0;padding:0}
body.km85-bike nav#menu:not(.mm-menu) li {list-style:none;margin:0;padding:0;border-bottom:1px solid #e5dddd}
body.km85-bike nav#menu:not(.mm-menu) li>a {display:block;min-height:40px;box-sizing:border-box;padding:10px 16px;color:#333;text-decoration:none;font-size:14px;line-height:20px;white-space:normal}
body.km85-bike nav#menu:not(.mm-menu) li.mm-divider {padding:6px 16px;background:#eee5e6;color:var(--km85-dark);font-size:12px;line-height:20px;font-weight:bold}
body.km85-bike nav#menu:not(.mm-menu) .m85-menu-close {display:block;position:sticky;top:0;padding:12px 16px;box-sizing:border-box;min-height:44px;background:var(--km85-accent);color:white;text-align:right;text-decoration:none;font-size:14px;line-height:20px;z-index:1}
body.km85-bike nav#menu:not(.mm-menu) a:focus-visible {outline:2px solid var(--km85-accent);outline-offset:-3px}
