/* Shared header and footer for the homepage and repository-owned tool workbenches. */
:is(.rs-start,.rs-tool-site){--rs-header-height:96px}
.rs-site-header.header{position:fixed;inset:0 0 auto;z-index:200;height:var(--rs-header-height);padding:16px 0;border:0;background:transparent;pointer-events:none;box-sizing:border-box}
.rs-site-header .nav-shell{display:flex;align-items:center;width:min(1180px,calc(100% - 48px));max-width:none;height:64px;min-height:0;margin:0 auto;padding:0 20px;gap:12px;border:1px solid var(--rs-line);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--rs-surface) 72%,var(--rs-bg)),var(--rs-bg));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--rs-text) 5%,transparent);pointer-events:auto;box-sizing:border-box}
.rs-site-header .brand{display:flex;align-items:center;flex:none;gap:8px;color:var(--rs-text);font:800 15px/1 var(--rs-font);letter-spacing:.025em;text-decoration:none;white-space:nowrap}
.rs-site-header .brand-logo{display:block;width:30px;height:30px;border-radius:8px;flex:none;object-fit:contain}
.rs-site-header .main-navigation{display:flex;align-items:center;margin-left:24px;margin-right:auto;gap:8px}
.rs-site-header :is(.theme-menu,.language-menu,.account-menu){position:relative;flex:0 0 44px;width:44px;margin:0;font:600 13px/1.7 var(--rs-font)}
.rs-site-header :is(.theme-menu,.language-menu) summary,.rs-site-header :is(.account-login,.account-pending,.account-avatar){display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--rs-muted);font:600 13px/1 var(--rs-font);list-style:none;cursor:pointer;box-sizing:border-box;text-decoration:none}
.rs-site-header .language-switch{font:700 12px/1 var(--rs-font)}
.rs-site-header summary::-webkit-details-marker{display:none}
.rs-site-header :is(.theme-menu,.language-menu) summary:hover,.rs-site-header :is(.theme-menu,.language-menu)[open] summary,.rs-site-header .account-login:hover{color:var(--rs-text);background:var(--rs-subtle);border-color:transparent}
.rs-site-header svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rs-site-header :is(.theme-options,.language-options,.account-options){position:absolute;right:0;top:50px;z-index:210;min-width:150px;margin:0;padding:6px;border:1px solid var(--rs-line);border-radius:12px;background:var(--rs-raised);box-shadow:var(--rs-shadow-hover)}
.rs-site-header .account-options{display:grid;min-width:180px}
.rs-site-header :is(.theme-options,.language-options,.account-options) :is(button,a){display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;margin:0;padding:10px;border:0;border-radius:8px;background:transparent;color:var(--rs-muted);font:500 13px/1.5 var(--rs-font);text-align:left;text-decoration:none;cursor:pointer;box-shadow:none}
.rs-site-header :is(.theme-options,.language-options,.account-options) :is(button,a):is(:hover,:focus-visible,[aria-pressed=true]){color:var(--rs-text);background:var(--rs-subtle)}
.rs-site-header :is(.theme-options,.language-options) button[aria-pressed=true]::before{content:'✓';margin-right:8px}
.rs-site-header .account-avatar{position:relative;overflow:hidden;border-color:var(--rs-line);background:var(--rs-surface);color:var(--rs-text)}
.rs-site-header .account-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rs-site-header .account-pending{cursor:progress}
.rs-site-header .preference-error{position:absolute;right:24px;top:calc(100% - 8px);max-width:min(320px,calc(100vw - 48px));padding:10px 14px;border:1px solid var(--rs-danger-line);border-radius:10px;color:var(--rs-danger);background:var(--rs-danger-bg);pointer-events:auto;font-size:13px}
.rs-site-header :is(a,button,summary):focus-visible{outline:2px solid var(--rs-accent);outline-offset:3px}
/* Tool links share the navigation slot; only narrow screens need a disclosure. */
.rs-site-header .builtin-account{width:44px;height:44px;flex:0 0 44px}
.rs-site-header .builtin-tool-navigation{min-width:0;flex:1;margin-left:12px;justify-content:flex-start}
.rs-site-header .builtin-tool-links{display:flex;align-items:center;gap:2px}
.rs-site-header .builtin-tool-links a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border-radius:8px;color:var(--rs-muted);font:500 13px/1.5 var(--rs-font);text-decoration:none;white-space:nowrap}
.rs-site-header .builtin-tool-links a:is(:hover,:focus-visible,[aria-current]){color:var(--rs-text);background:var(--rs-subtle)}
.rs-site-header .builtin-tools-toggle{display:none}
.rs-tool-site{display:flex;flex-direction:column;min-height:100dvh;padding-top:var(--rs-header-height)}
.rs-tool-site>.page{flex:1 0 auto;width:100%;margin:0 auto}
.rs-tool-site .sidebar{top:calc(var(--rs-header-height) + 16px);max-height:calc(100dvh - var(--rs-header-height) - 32px)}
.rs-tool-site :is([id],.panel){scroll-margin-top:calc(var(--rs-header-height) + 16px)}
.rs-tool-site .skip{z-index:220}
.rs-site-footer.site-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:20px 0;gap:4px 24px;border-top:1px solid var(--rs-line);color:var(--rs-muted);font:400 12px/1.8 var(--rs-font)}
.rs-site-footer .footer-brand{white-space:nowrap}
.rs-site-footer .footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 16px;margin:0}
.rs-site-footer .footer-links a{color:var(--rs-muted);font-size:12px;text-decoration:none}
.rs-site-footer .footer-links a:hover{color:var(--rs-text);text-decoration:underline}
.rs-tool-site .tool-licenses{color:var(--rs-muted);font-size:12px;white-space:nowrap}
@media(max-width:1150px){
 .rs-site-header .builtin-tool-navigation{margin-left:0}
 .rs-site-header .builtin-tools-toggle{display:flex;align-items:center;justify-content:space-between;gap:6px;max-width:100%;min-width:0;min-height:44px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--rs-muted);font:500 13px/1.5 var(--rs-font)}
 .rs-site-header .builtin-tools-toggle span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .rs-site-header .builtin-tools-toggle svg{width:14px;height:14px;flex:none}
 .rs-site-header .builtin-tools-toggle:is(:hover,[aria-expanded=true]){background:var(--rs-subtle);color:var(--rs-text)}
 .rs-site-header .builtin-tool-links{display:none;position:absolute;top:calc(100% - 8px);left:50%;transform:translateX(-50%);width:min(400px,calc(100% - 24px));max-height:calc(100dvh - var(--rs-header-height) - 12px);overflow:auto;overscroll-behavior:contain;padding:6px;border:1px solid var(--rs-line);border-radius:12px;background:var(--rs-raised);box-shadow:var(--rs-shadow-hover)}
 .rs-site-header .builtin-tools-toggle[aria-expanded=true]+.builtin-tool-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .rs-site-header .builtin-tool-links a{justify-content:flex-start;white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:700px){.rs-site-header .main-navigation{margin-left:0}}
@media(max-width:800px){.rs-tool-site .sidebar{top:auto;max-height:none}}
@media(max-width:540px){
 :is(.rs-start,.rs-tool-site){--rs-header-height:84px}
 .rs-site-header.header{padding:12px 0}
 .rs-site-header .nav-shell{width:calc(100% - 24px);height:60px;padding:0 10px;gap:4px;border-radius:14px}
 .rs-site-header .brand{margin-right:0}.rs-site-header .brand>span{display:none}
 .rs-site-header .builtin-tools-toggle{padding:0 6px}
 .rs-site-footer.site-footer{width:calc(100% - 32px);padding:16px 0;align-items:flex-start;flex-direction:column}
 .rs-site-footer .footer-links{justify-content:flex-start}
}
