@font-face{font-family:"Onest";src:url("/cup/assets/cup-navigation-onest-18888241223a156c.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* Shared project navigation. This owner is isolated from host-page styles. */
.cup-projectbar { position: relative; z-index: 30; color: hsl(var(--foreground)); background: hsl(var(--card)); border-bottom: 1px solid hsl(var(--border)); font: 400 13px/1.4 var(--font-sans); font-synthesis: none; }
.cup-projectbar * { box-sizing: border-box; }
.cup-projectbar a { color: hsl(var(--foreground)); text-decoration: none; }
.cup-projectbar a:hover { color: hsl(var(--primary)); background: hsl(var(--muted) / .4); }
.cup-projectbar :focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.cup-projectbar .cup-bar-inner { display: flex; align-items: center; gap: 20px; max-width: 1360px; min-height: 48px; margin: 0 auto; padding: 0 40px; }
.cup-projectbar .cup-bar-brand { display: inline-flex; align-items: center; min-height: 44px; flex: none; font-size: 16px; font-weight: 700; letter-spacing: .025em; }
.cup-projectbar .cup-bar-links { display: flex; align-items: center; gap: 4px; margin: 0; }
.cup-projectbar .cup-bar-links a { display: flex; align-items: center; min-height: 44px; padding: 0 10px; white-space: nowrap; }
.cup-projectbar a[aria-current] { color: hsl(var(--primary)); font-weight: 600; box-shadow: inset 0 -2px hsl(var(--primary)); }
.cup-projectbar .cup-switcher { position: relative; margin-left: auto; }
.cup-projectbar .cup-switcher summary { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 8px; list-style: none; cursor: pointer; font-weight: 500; }
.cup-projectbar .cup-switcher summary::-webkit-details-marker { display: none; }
.cup-projectbar .cup-switcher summary::after { content: '⌄'; font-size: 16px; line-height: 1; }
.cup-projectbar .cup-switcher[open] summary::after { content: '⌃'; }
.cup-projectbar .cup-switcher[open] summary { color: hsl(var(--primary)); }
.cup-projectbar .cup-switcher-panel { position: absolute; right: 0; top: calc(100% + 4px); z-index: 31; width: 580px; max-width: calc(100vw - 32px); max-height: min(75vh, 640px); overflow: auto; overscroll-behavior: contain; border: 1px solid hsl(var(--border)); border-radius: var(--radius); background: hsl(var(--card)); padding: 12px; box-shadow: var(--shadow-md); }
.cup-projectbar .cup-switcher-panel ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; padding: 0; margin: 0; gap: 4px 8px; }
.cup-projectbar .cup-switcher-panel li { min-width: 0; }
.cup-projectbar .cup-switcher-panel a { display: block; min-height: 44px; padding: 10px; border-radius: calc(var(--radius) - 2px); }
.cup-projectbar .cup-switcher-panel strong { display: block; font-size: 13px; line-height: 1.4; font-weight: 600; }
.cup-projectbar .cup-switcher-panel small { display: block; color: hsl(var(--muted-foreground)); font-size: 12px; line-height: 1.45; margin-top: 4px; }
.cup-projectbar .cup-bar-home { display: inline-block; margin: 0 0 8px; padding: 8px 10px; font-weight: 600; }
.cup-projectbar .cup-bar-meta { display: flex; flex-wrap: wrap; gap: 8px; border-top: 1px solid hsl(var(--border)); margin-top: 8px; padding-top: 8px; }
.cup-projectbar .cup-bar-meta a { flex: 1; white-space: nowrap; }
@media (max-width: 1100px) { .cup-projectbar .cup-bar-links { display: none; } .cup-projectbar .cup-bar-inner { padding-inline: 28px; } }
@media (max-width: 767px) { .cup-projectbar .cup-bar-inner { padding-inline: 20px; gap: 12px; } .cup-projectbar .cup-switcher-panel { width: 360px; } .cup-projectbar .cup-switcher-panel ul { grid-template-columns: minmax(0,1fr); } }
@media print { .cup-projectbar { display: none; } }

.cup-projectbar .cup-catalog-link {display:flex;align-items:center;min-height:44px;padding:0 10px;white-space:nowrap;}

.p-skip:focus,.cup-skip:focus{z-index:40}
.cup-projectbar .cup-menu-search{display:block;padding:0 10px 10px;font-size:12px;font-weight:600}.cup-projectbar .cup-menu-search input{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));padding:8px 10px;font:inherit}.cup-projectbar .cup-menu-count{padding:0 10px 8px;margin:0;color:hsl(var(--muted-foreground));font-size:12px}.cup-projectbar .cup-menu-unavailable{color:hsl(var(--destructive))}

.cup-projectbar .cup-site-back{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;padding:0 8px}
