/* Shared shell: deliberately independent of Astro and legacy tool selectors. */
.osh-nav,.osh-footer,.osh-start,.osh-next,.osh-context{--nav-ink:#302a26;--nav-muted:#62574e;--nav-line:#e4ddd0;--nav-paper:#faf7f1;--nav-accent:#79412f;font-family:'Noto Sans JP',sans-serif;color:var(--nav-ink);font-size:14px;line-height:1.7;text-align:left;letter-spacing:normal}
.osh-nav *,.osh-footer *,.osh-start *,.osh-next *,.osh-context *{box-sizing:border-box}
.osh-nav{display:block;position:relative;z-index:10;width:100%;max-width:none;margin:0;padding:0;border:0;border-bottom:1px solid var(--nav-line);background:var(--nav-paper);box-shadow:none;backdrop-filter:none}
.osh-nav__inner{max-width:1120px;margin:0 auto;padding:12px 24px 0}
.osh-nav__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.osh-nav a,.osh-footer a,.osh-start a,.osh-next a,.osh-context a{color:var(--nav-ink);text-decoration:none;border:0;box-shadow:none;letter-spacing:normal}
.osh-nav a:hover,.osh-footer a:hover,.osh-start a:hover,.osh-next a:hover,.osh-context a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--nav-accent)}
.osh-nav .osh-nav__brand{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;min-height:44px;padding:4px 0;background:transparent}
.osh-nav__brand>span,.osh-footer__brand{font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;font-size:24px;font-weight:700;line-height:1.5;color:var(--nav-ink)}
.osh-nav__brand>small{font-size:11px;font-weight:400;color:var(--nav-muted);line-height:1.6}
.osh-nav .osh-nav__home{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-size:13px;white-space:nowrap;font-weight:400}
.osh-nav .osh-nav__primary{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center;margin:0;padding:0;background:none;border:0;font-size:14px}
.osh-nav__primary>a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-size:14px;font-weight:500;line-height:1.5;white-space:normal}
.osh-nav a[aria-current],.osh-nav a[data-section-current],.osh-context a[aria-current]{color:var(--nav-accent);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.osh-nav .osh-nav__menu{position:static;margin:0;padding:0;border:0;background:none;border-radius:0;box-shadow:none}
.osh-nav__menu>summary{display:list-item;list-style:disclosure-closed inside;width:fit-content;min-height:44px;padding:10px 0;margin:0;font-size:13px;font-weight:400;color:var(--nav-muted);cursor:pointer;background:none;border:0}
.osh-nav__menu[open]>summary{list-style-type:disclosure-open}
.osh-nav .osh-nav__groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:100%;margin:0;padding:18px 0 24px;border:0;border-top:1px solid var(--nav-line);background:none}
.osh-nav__menu:not([open])>.osh-nav__groups{display:none}
.osh-nav__group{display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:0}
.osh-nav__group>strong{font-size:13px;line-height:1.7;margin:0 0 8px;color:var(--nav-muted);font-weight:500}
.osh-nav__group>a{display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:14px;font-weight:400;line-height:1.6;overflow-wrap:anywhere;background:none;border-radius:0}
.osh-footer{display:block;width:100%;max-width:none;margin:40px 0 0;padding:28px 0;border:0;border-top:1px solid var(--nav-line);background:var(--nav-paper)}
.osh-footer__inner{max-width:1120px;margin:auto;padding:0 24px}
.osh-footer__brand{display:inline-block;min-height:44px}
.osh-footer .osh-footer__tasks,.osh-footer .osh-footer__links{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px;margin:0 0 12px;padding:0;border:0;background:none}
.osh-footer nav>a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;line-height:1.6;font-size:14px;font-weight:400}
.osh-footer .osh-footer__links>a{font-size:13px;color:var(--nav-muted)}
.osh-footer p{margin:8px 0 0;font-size:12px;line-height:1.9;color:var(--nav-muted)}
.osh-start{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 40px;padding:24px 0;border-block:1px solid var(--nav-line)}
.osh-start__group{min-width:0}
.osh-start .osh-start__title{display:block;min-height:44px;padding:8px 0;font-size:18px;font-weight:700}
.osh-start__group>p{margin:0 0 10px;font-size:13px;color:var(--nav-muted)}
.osh-start__group>div{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.osh-start__group>div>a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-size:14px;color:var(--nav-accent);text-decoration:underline;text-underline-offset:4px}
.osh-next{margin:28px 0;padding:24px 0;border-top:1px solid var(--nav-line)}
.osh-next>h2{margin:0 0 16px;font-family:inherit;font-size:21px;line-height:1.6;font-weight:700;color:var(--nav-ink)}
.osh-next>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.osh-next>div>a{display:flex;flex-direction:column;gap:8px;min-height:96px;padding:20px;border:1px solid var(--nav-line);border-radius:12px;background:#fffdf9}
.osh-next a>strong{font-size:16px;line-height:1.7;font-weight:500;color:var(--nav-accent)}
.osh-next a>span{font-size:13px;line-height:1.8;color:var(--nav-muted)}
.osh-context{margin:0 0 24px;padding:0}
.osh-context>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--nav-muted)}
.osh-context>span{display:inline;font-size:12px;color:var(--nav-muted);margin:0 8px}
.osh-context>.tool-back{margin:0}
.osh-context>nav{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0;padding:0;border:0;background:none}
.osh-context nav>a{display:flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid var(--nav-line);border-radius:8px;font-size:14px;background:#fffdf9}
.osh-nav :is(a,summary):focus-visible,.osh-footer a:focus-visible,.osh-start a:focus-visible,.osh-next a:focus-visible,.osh-context a:focus-visible{outline:2px solid var(--nav-accent);outline-offset:4px}
@media(min-width:1000px){.osh-nav__inner{display:grid;grid-template-columns:auto 1fr;gap:0 32px}.osh-nav__top{gap:20px}.osh-nav__brand>small{display:none}.osh-nav .osh-nav__primary{justify-content:flex-end}.osh-nav__menu{grid-column:1/-1}}
@media(max-width:760px){.osh-nav .osh-nav__groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.osh-start{grid-template-columns:minmax(0,1fr);gap:16px}.osh-start__group+.osh-start__group{padding-top:16px;border-top:1px solid var(--nav-line)}}
@media(max-width:520px){.osh-nav__inner{padding:8px 16px 0}.osh-nav__brand>small{display:none}.osh-nav .osh-nav__primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.osh-nav .osh-nav__groups{grid-template-columns:minmax(0,1fr);gap:20px}.osh-footer__inner{padding:0 16px}.osh-footer .osh-footer__tasks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.osh-next>div{grid-template-columns:minmax(0,1fr)}}
@media print{.osh-nav,.osh-footer,.osh-start,.osh-next,.osh-context{display:none!important}}
