/* Shared public navigation: deliberately scoped away from question rendering. */
.public-site-header{position:sticky;top:0;z-index:30;background:#fffffff5;border-bottom:1px solid #0f2a4a12;backdrop-filter:blur(12px);color:#0f2a4a;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.7}
.public-site-header *{box-sizing:border-box}
.shell-inner{max-width:1152px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:8px}
.shell-brand{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-size:18px;font-weight:900;letter-spacing:-.4px;text-decoration:none!important;color:#0f2a4a!important}
.shell-brand>span:last-child{color:#d2461f}.shell-mark{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:9px;border-radius:9px;background:#d2461f;color:white;font-size:17px}
.shell-nav{display:flex;align-items:center;gap:4px;white-space:nowrap;font-weight:700}
.public-site-header .shell-link,.public-site-header .shell-login,.public-site-header .shell-account,.public-site-header .shell-register,.shell-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border-radius:8px;color:#0f2a4a;text-decoration:none;border:0;font:inherit;cursor:pointer;background:transparent}
.public-site-header .shell-register{background:#d2461f;color:#fff;font-weight:900;padding:0 16px}
.public-site-header .shell-link:hover,.public-site-header .shell-login:hover,.public-site-header .shell-account:hover,.shell-menu-toggle:hover{background:#eef3fa}
.public-site-header .shell-register:hover{background:#b93c19}
.public-site-header .shell-link[aria-current=page]{background:#eef3fa;box-shadow:inset 0 -2px #1d4e89}
.shell-menu-toggle{min-width:44px;font-size:22px}.shell-menu-panel{border-top:1px solid #e7ecf3;max-height:calc(100dvh - 70px);overflow:auto;overscroll-behavior:contain;background:white;padding:8px 16px 16px}
.shell-menu-panel>a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid #e7ecf3;color:#0f2a4a;text-decoration:none;font-weight:700}
.shell-exams{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0}.shell-exams>div{padding:12px;border:1px solid #e7ecf3;border-radius:12px;background:#f4f7fb}.shell-exams p{margin:0;font-weight:900}.shell-exams a{display:flex;align-items:center;min-height:44px;color:#0f2a4a;text-decoration:none;font-size:14px}
.shell-exams [data-track=bf] p{color:#1d4e89}.shell-exams [data-track=ct] p{color:#11645f}
.public-site-header [hidden]{display:none!important}.public-site-header a:focus-visible,.public-site-header button:focus-visible{outline:3px solid #b7751a;outline-offset:3px}
.public-site-header .shell-desktop{display:none}
@media(min-width:768px){.public-site-header .shell-desktop{display:inline-flex}.shell-nav{gap:8px}.shell-menu-toggle,.shell-menu-panel{display:none}}
@media(max-width:639px){.shell-mark{display:none}.shell-nav{gap:0}.shell-inner{gap:4px}}
@media(max-width:379px){.public-site-header .shell-login{display:none}.shell-nav .shell-account{padding:0 8px}}
@media print{.public-site-header{display:none}}
