/* Guest header follows JCDIC app layout and Vite v8 rules; scoped to protect course styles. */
.jcdic-global-header{position:sticky;z-index:20;top:0;background:rgb(255 255 255 / .94);border-bottom:1px solid #dde5e2;backdrop-filter:blur(12px);color:#18211f;font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI","Yu Gothic","Noto Sans JP",sans-serif;font-size:1rem;line-height:1.65}
.jcdic-global-header *,.jcdic-navigation *{box-sizing:border-box}
.jcdic-shell{width:min(calc(100% - 2rem),72rem);margin-inline:auto}
.jcdic-header-inner{min-height:4.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem}
.jcdic-brand{display:inline-flex;min-height:2.75rem;align-items:center;gap:.7rem;color:#18211f;text-decoration:none}
.jcdic-brand-mark{display:grid;width:2.5rem;aspect-ratio:1;place-items:center;color:#fff;background:#176b5b;border-radius:.65rem;font-weight:800}
.jcdic-brand strong,.jcdic-brand small{display:block;line-height:1.15}
.jcdic-brand strong{font-size:1rem;font-weight:700;letter-spacing:.06em}
.jcdic-brand small{margin-top:.22rem;color:#66736f;font-size:.7rem;font-weight:600}
.jcdic-header-search{display:none;flex:1;max-width:28rem;margin:0}
.jcdic-header-search input{width:100%;min-width:0;min-height:2.75rem;padding:.55rem .8rem;border:1px solid #cbd5d1;border-right:0;border-radius:.375rem 0 0 .375rem;background:#fff;color:#18211f;font:inherit}
.jcdic-header-search button{min-height:2.75rem;padding:.55rem .8rem;color:#fff;background:#176b5b;border:1px solid #176b5b;border-radius:0 .375rem .375rem 0;font:inherit;font-weight:800;cursor:pointer}
.jcdic-global-header nav{display:flex;align-items:center;gap:clamp(.75rem,3vw,1.75rem);margin:0;font-size:.9rem;font-weight:700}
.jcdic-global-header nav a{display:inline-flex;min-height:2.75rem;align-items:center;color:#46534f;font:inherit;letter-spacing:normal;text-decoration:none}
.jcdic-global-header nav a:hover{text-decoration:underline;text-underline-offset:4px}
.jcdic-global-header :focus-visible,.jcdic-navigation a:focus-visible{outline:3px solid #175cd3;outline-offset:3px}
.jcdic-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.jcdic-navigation{background:#fff;border-bottom:1px solid #dde5e2;color:#24382f}
.jcdic-navigation-inner{width:min(calc(100% - 32px),1152px);margin-inline:auto;padding:8px 0}
.jcdic-navigation nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.jcdic-navigation a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:8px;color:#176b5b;font-size:16px;font-weight:700;line-height:1.5;text-decoration:none}
.jcdic-navigation a:hover{background:#eef6f0;text-decoration:underline;text-underline-offset:4px}
.jcdic-navigation a[aria-current="page"]{background:#eaf5f2;color:#125548}
@media(min-width:1024px){.jcdic-header-search{display:flex}}
@media(max-width:600px){.jcdic-global-header nav{gap:.35rem;font-size:.8rem}.jcdic-navigation nav{gap:4px}.jcdic-navigation a{padding:8px 10px}}
@media print{.jcdic-global-header,.jcdic-navigation{display:none}}
@media(max-width:600px){.workspace>.lesson-nav,.workspace>.lesson-panel,.lesson-nav>*{min-width:0;max-width:100%}}
