:root{--header-bg:#ffffff;--header-contrast:#222222;--muted:#555555;--accent:#f2b658;--gap:1rem;--max-width:1200px;--header-min-height-desktop:88px;--header-min-height-mobile:48px}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0}.site-header{background:var(--header-bg);color:var(--header-contrast);width:100%;box-shadow:0 1px 0 rgb(0 0 0 / .06);position:fixed;top:0;left:0;right:0;z-index:1000}.admin-bar .site-header{top:32px}@media screen and (max-width:782px){.admin-bar .site-header{top:46px}}body{padding-top:var(--header-min-height-desktop)}@media (max-width:480px){body{padding-top:var(--header-min-height-mobile)}}.site-header-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--gap);padding:0 1rem;min-height:var(--header-min-height-desktop)}.site-branding{flex:0 0 auto;min-width:0}.site-branding .site-title,.site-branding .site-title-link,.site-title-link{color:var(--header-contrast);text-decoration:none;font-weight:700;font-size:1.5rem;line-height:1;display:inline-block;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}.site-branding .site-title:hover,.site-branding .site-title:focus,.site-title-link:hover,.site-title-link:focus{text-decoration:underline;outline:none}.header-right{display:flex;align-items:center;gap:.75rem;flex:1 1 auto;min-width:0;justify-content:flex-end}.chorales-nav{display:block}.menu-primary{list-style:none;margin:0;padding:0;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;min-width:0}.menu-primary li{margin:0;padding:0;flex:0 1 auto;min-width:0}.menu-primary a{color:var(--muted);text-decoration:none;padding:.35rem .6rem;border-radius:4px;font-size:.95rem;display:inline-block;line-height:1;max-width:14rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff0}.menu-primary a:hover,.menu-primary a:focus{color:var(--header-contrast);background:rgb(0 0 0 / .04);outline:none;box-shadow:0 0 0 3px rgb(0 0 0 / .06)}.user-chorales{margin-left:.75rem;display:flex;gap:.5rem;align-items:center;font-size:.95rem;flex-wrap:wrap;min-width:0}.chorale-link{color:var(--muted);text-decoration:none}.chorale-link:hover,.chorale-link:focus{color:var(--header-contrast);text-decoration:underline}.menu-login a{color:var(--accent);font-weight:600}.mobile-menu-toggle{display:none;background:#fff0;border:none;color:var(--header-contrast);cursor:pointer;padding:6px;border-radius:8px;width:36px;height:36px;align-items:center;justify-content:center;position:relative;z-index:9999}.mobile-menu-toggle .icon-burger{position:relative;display:block;width:20px;height:2px;background:currentColor;border-radius:2px}.mobile-menu-toggle .icon-burger::before,.mobile-menu-toggle .icon-burger::after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;border-radius:2px}.mobile-menu-toggle .icon-burger::before{top:-6px}.mobile-menu-toggle .icon-burger::after{top:6px}.mobile-menu-panel{position:absolute;right:1rem;top:calc(100% + 8px);background:var(--header-bg);border:1px solid rgb(0 0 0 / .06);box-shadow:0 6px 18px rgb(0 0 0 / .1);padding:.5rem;border-radius:8px;z-index:60;opacity:0;transform:scale(.98);pointer-events:none;transition:transform 180ms ease,opacity 180ms ease}.mobile-menu-panel.is-open{opacity:1;transform:scale(1);pointer-events:auto}@media (max-width:480px){.site-header-inner{min-height:var(--header-min-height-mobile);padding:0 .5rem}.site-title,.site-title-link{font-size:1rem}.menu-primary{display:none!important}.user-chorales{display:none!important}.mobile-menu-toggle{display:inline-flex!important;position:absolute;top:50%;right:.5rem;transform:translateY(-50%);background:rgb(0 0 0 / .03);border:1px solid rgb(0 0 0 / .06);pointer-events:auto}.mobile-menu-panel .menu-primary{display:flex!important;flex-direction:column;gap:.25rem}.mobile-menu-panel .menu-primary a{display:block;width:100%;padding:.5rem .75rem;border-radius:6px;background:rgb(0 0 0 / .03);color:var(--header-contrast);font-size:.9rem;text-align:left}}@media (min-width:481px){.mobile-menu-toggle{display:none!important}.menu-primary .chorale-item{display:none}}