/* Independent of page themes: the same controls on every public renderer. */
html:has(body[data-archive-menu]){scroll-padding-top:calc(76px + env(safe-area-inset-top,0px))}
body[data-archive-menu]>header,body[data-archive-menu]>.archive-header{display:none!important}
#archive-menu-space{display:block;height:calc(64px + env(safe-area-inset-top,0px));flex-shrink:0}
#archive-menu-bar,#archive-menu-dialog,#archive-menu-bar *,#archive-menu-dialog *{box-sizing:border-box;font-family:'Noto Sans JP','Yu Gothic',sans-serif;letter-spacing:normal}
#archive-menu-bar{position:fixed;inset:0 0 auto;z-index:1000;display:flex;align-items:center;gap:16px;height:calc(64px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));background:#f5f2e9;border-bottom:2px solid #193d30;color:#193d30;box-shadow:0 2px 6px #193d3010}
#archive-menu-toggle{display:flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;min-width:108px;height:44px;padding:0 12px;border:1px solid #193d30;border-radius:4px;box-shadow:2px 2px 0 #193d30;background:#fffdf7;color:#193d30;font-size:13px;font-weight:700;cursor:pointer;line-height:1;touch-action:manipulation}
#archive-menu-toggle .archive-menu-lines{display:flex;flex-direction:column;gap:5px;width:20px}
#archive-menu-toggle i{display:block;width:20px;height:2px;background:currentColor}
#archive-menu-bar a{color:#193d30;text-decoration:none;line-height:1.4}
#archive-menu-bar .archive-menu-brand{font-size:12px;min-width:0;display:flex;flex-direction:column;gap:1px}
#archive-menu-bar .archive-menu-brand strong{font-size:18px;font-weight:800;white-space:nowrap}
#archive-menu-bar .archive-menu-search{margin-left:auto;font-size:14px;font-weight:700;padding:12px;white-space:nowrap}
#archive-menu-dialog{position:fixed;inset:0 auto 0 0;margin:0;width:min(390px,calc(100vw - 24px));max-width:none;height:100%;height:100dvh;max-height:none;overflow:auto;overscroll-behavior:contain;padding:calc(22px + env(safe-area-inset-top,0px)) 20px calc(28px + env(safe-area-inset-bottom,0px));background:#f5f2e9;color:#193d30;border:0;border-right:3px solid #193d30;text-align:left;box-shadow:6px 0 0 #193d3020}
#archive-menu-dialog:not([open]){display:none}
#archive-menu-dialog[open]{animation:archive-menu-enter .18s ease-out}
#archive-menu-dialog::backdrop{background:#102a2366}
#archive-menu-dialog .archive-menu-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0 0 22px;padding:0 0 18px;border-bottom:2px solid #193d30}
#archive-menu-dialog .archive-menu-heading small{font-size:11px;line-height:1.6}
#archive-menu-dialog h2{font-size:25px;line-height:1.4;margin:5px 0 0;color:#193d30}
#archive-menu-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;min-height:44px;padding:0;background:#fffdf7;color:#193d30;border:1px solid #193d30;border-radius:4px;font-size:28px;line-height:1;cursor:pointer;touch-action:manipulation}
#archive-menu-dialog nav{display:grid;gap:8px}
#archive-menu-dialog nav a{position:relative;display:grid;gap:3px;padding:12px 32px 12px 14px;min-height:66px;border:1px solid #c1cabc;background:#fffdf7;color:#193d30;text-decoration:none;border-radius:3px;line-height:1.5}
#archive-menu-dialog nav strong{font-size:16px;font-weight:700}
#archive-menu-dialog nav small{font-size:12px;color:#506457}
#archive-menu-dialog nav span{position:absolute;right:13px;top:22px;font-size:18px}
#archive-menu-dialog nav a[aria-current=page]{border:2px solid #193d30;background:#e5ebdf;padding:11px 31px 11px 13px}
#archive-menu-dialog nav a:hover,#archive-menu-toggle:hover{background:#e5ebdf}
#archive-menu-bar :focus-visible,#archive-menu-dialog :focus-visible{outline:3px solid #b8660b!important;outline-offset:3px}
@keyframes archive-menu-enter{from{transform:translateX(-30px);opacity:.4}to{transform:translateX(0);opacity:1}}
@media(max-width:600px){#archive-menu-bar{gap:12px;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}#archive-menu-toggle{min-width:48px;width:48px;padding:0}#archive-menu-toggle>span:last-child{display:none}#archive-menu-bar .archive-menu-brand strong{font-size:17px}#archive-menu-bar .archive-menu-brand{font-size:10px}#archive-menu-bar .archive-menu-search{display:none}}
@media(prefers-reduced-motion:reduce){#archive-menu-dialog[open]{animation:none}}
